MipAlgorithms::ProbPolFusion Class Reference

#include <ProbMultiRegCamStr.h>

List of all members.

Public Member Functions

 ProbPolFusion ()
 Default constructor.
 ProbPolFusion (Triangle *tria, int expMth)
 Constructor with only one triangle.
 ~ProbPolFusion ()
 Default destructor.
TrianglegetTriangle (int pos)
 Returns a tringle in position pos.
void setTriangle (int pos, Triangle *tria)
 Set a triangle in position pos.
void deleteTriangle (int pos)
 Deletes a triangle in the list.
void deleteLastTriangle ()
void deleteBifConflicts (int pos, int posAt, int idNew)
 Deletes all the triangles that conflicts with that stored in position pos.
void deleteBifConflictsOpt (int pos, int idNew)
int getSize ()
 Set new values in the matrix.
int getQueueSize ()
 Returns the actual number of the triangle stored in the queue of the polymorph.
void getIds (vector< int > &ids)
 Returns the list of ids actually in the polimorph.
void insertVertex (PosId vertex)
 Insert a new vertex of the polymorph.
PosId getVertex (int pos)
 Get the vertex of the polymorph at position pos.
void setVertex (int pos, PosId vertex)
void setQueue (Triangle *queue)
 Insert a triangle in the queue in order of the number of intersection by three.
int queueSize ()
 Returns the number of triangles in queue.
void deleteQueueTriangle (int pos)
 Deletes a item in the queue list.
void deleteQueueLastTriangle ()
void setScale (int i, Decimal scale)
 Set the scale factor of the (i+1)-th triangle in list.
void setScale (Decimal scale)
 Add a new item in the scale vector.
Decimal getScale (int i)
 Get the (i+1)-th scale factor.
void deleteScaleF (int pos)
 Deletes an item of scale factor.
void deleteLastScaleF ()
void setRotoTrasl (int pos, MIPMatrix rt)
 Set a rototranslation.
void deleteRotoTrasl (int pos)
 Deletes an item in te rototranslation list.
void deleteLastRotoTrasl ()
void insertOri (Decimal ori)
 Insert an orientation in the polimorph.
Decimal getOri (int pos)
 Get an orientation from the polimorph.
void setOri (int pos, Angle ori)
 Set a ori in the list of orientation.
void deleteOri (int pos)
 Deletes an item in the list of orientation.
void deleteLastOri ()
void insertTriangle (Triangle *tria, int myId, int id1, int id2)
 Insert a new triangle in the polimorph.
PosIdsearchVertex (int id)
 search a vertex in the list
PosIdsearchVertex (int id, int &posAt)
void deleteVertex (int pos)
 Delete a vertex in the list.
void deleteLastVertex ()
int searchBif (PosId vertex, int &posAt, Decimal thr)
 Method to check if there is a bifurcation.
void insertPoints (Triangle *tria, int &numInt4)
 Insert intersection by three points.
void insertPointsNoIn (Triangle *tria, int &numInt4, MIPMatrix *&matrixPointer, Decimal actualScale, vector< Position > &intToInsert, int &incrRatInThree)
 Insert intersection by three points for the expandPolNoIn.
int getNInThree (int pos)
 Returns the number of intersection by three until the pos-th triangle in list.
Position getIntThree (int pos)
 Returns the pos-th item of the list of intersection by three.
Position getLastIntThree ()
 Returns the last item in the list of intersection by three.
void deleteIntThree (int pos)
 Deletes an item in the intersection by three list.
void deleteLastIntThree ()
void insertPointIntThree (Position ip, int pos)
 Insert a point in the list of intersection by three points.
bool expandPol (int myId, vector< ProbPolFusion * > actualSol, vector< ProbPolFusion * > &bifProbPolFusion, Decimal linThr, map< int, vector< Pose > > *likelihood, vector< int > activeLikelihoods, Pose &myPose)
bool expandPolOpt (int myId, vector< ProbPolFusion * > actualSol, vector< ProbPolFusion * > &bifProbPolFusion, Decimal linThr, map< int, vector< Pose > > *likelihood, vector< int > activeLikelihoods, Pose &myPose, int &maxBifSize)
 New version of expandPol, based on vertices.
bool expandPolNoIn (int myId, vector< ProbPolFusion * > actualSol, vector< ProbPolFusion * > &bifProbPolFusion, Decimal linThr, map< int, vector< Pose > > *likelihood, vector< int > activeLikelihoods, Pose &myPose, int &maxBifSize)
 New version of the expandPolOpt method in which ther is no insertion of the new vertex.
bool checkBif (PosId vertex, Decimal thr, int myId)
 Verify if there is a bifurcation.
string print (int opt=0)
 Print all the solutions.
ProbPolFusionoperator= (ProbPolFusion &A)
 Operator assignment =.
Decimal computeProbability (Pose measure, int id, map< int, vector< Pose > > *&likelihood)
 Computes the probability that a given measures is near to the gaussian particles distribution.
void setRatingVertex (int rating)
 Sets the ratingVertex of the polimorph.
int getRatingVertex ()
 Gets the actual ratingVertex of the polimorph.
void growRatingVertex ()
 Grows the ratingVertex of one.
void decreaseRatingVertex ()
 Decreases the ratingVertex of one.
void setRatingInThree (int rating)
 Sets the ratingInThree of the polimorph.
int getRatingInThree ()
 Gets the actual ratingInThree of the polimorph.
void growRatingInThree ()
 Grows the ratingInThree of one.
void decreaseRatingInThree ()
 Decreases the ratingInThree of one.
void setIntFourNum (int pos, int val)
 Set the number of intersection by four for a triangle in position pos-1.
int getIntFourNum (int pos)
 Get the number of intersection by four in position pos-1.
int getLastIntFourNum ()
 Get the last number of intersection by four.
void deleteLastIntFourNum ()
 Deletes the last number of intersection by four.
void selectScale (Decimal &bestScale, Decimal &bestProb, map< int, vector< Pose > > *&likelihood, vector< int > &activeLikelihoods, vector< int > &idsV, Pose &myPose)
 Select a scale in an interval.
void setExpandMethod (int expMth)
 Sets the expansion method.


Constructor & Destructor Documentation

MipAlgorithms::ProbPolFusion::ProbPolFusion (  ) 

Default constructor.

MipAlgorithms::ProbPolFusion::ProbPolFusion ( Triangle tria,
int  expMth 
)

Constructor with only one triangle.

MipAlgorithms::ProbPolFusion::~ProbPolFusion (  ) 

Default destructor.


Member Function Documentation

Triangle * MipAlgorithms::ProbPolFusion::getTriangle ( int  pos  ) 

Returns a tringle in position pos.

void MipAlgorithms::ProbPolFusion::setTriangle ( int  pos,
Triangle tria 
)

Set a triangle in position pos.

void MipAlgorithms::ProbPolFusion::deleteTriangle ( int  pos  ) 

Deletes a triangle in the list.

void MipAlgorithms::ProbPolFusion::deleteLastTriangle (  ) 

void MipAlgorithms::ProbPolFusion::deleteBifConflicts ( int  pos,
int  posAt,
int  idNew 
)

Deletes all the triangles that conflicts with that stored in position pos.

void MipAlgorithms::ProbPolFusion::deleteBifConflictsOpt ( int  pos,
int  idNew 
)

int MipAlgorithms::ProbPolFusion::getSize (  ) 

Set new values in the matrix.

Returns the actual number of the triangle stored in this polymorph

int MipAlgorithms::ProbPolFusion::getQueueSize (  ) 

Returns the actual number of the triangle stored in the queue of the polymorph.

void MipAlgorithms::ProbPolFusion::getIds ( vector< int > &  ids  ) 

Returns the list of ids actually in the polimorph.

void MipAlgorithms::ProbPolFusion::insertVertex ( PosId  vertex  ) 

Insert a new vertex of the polymorph.

PosId MipAlgorithms::ProbPolFusion::getVertex ( int  pos  ) 

Get the vertex of the polymorph at position pos.

void MipAlgorithms::ProbPolFusion::setVertex ( int  pos,
PosId  vertex 
)

void MipAlgorithms::ProbPolFusion::setQueue ( Triangle queue  ) 

Insert a triangle in the queue in order of the number of intersection by three.

int MipAlgorithms::ProbPolFusion::queueSize (  ) 

Returns the number of triangles in queue.

void MipAlgorithms::ProbPolFusion::deleteQueueTriangle ( int  pos  ) 

Deletes a item in the queue list.

void MipAlgorithms::ProbPolFusion::deleteQueueLastTriangle (  ) 

void MipAlgorithms::ProbPolFusion::setScale ( int  i,
Decimal  scale 
)

Set the scale factor of the (i+1)-th triangle in list.

void MipAlgorithms::ProbPolFusion::setScale ( Decimal  scale  ) 

Add a new item in the scale vector.

Decimal MipAlgorithms::ProbPolFusion::getScale ( int  i  ) 

Get the (i+1)-th scale factor.

void MipAlgorithms::ProbPolFusion::deleteScaleF ( int  pos  ) 

Deletes an item of scale factor.

void MipAlgorithms::ProbPolFusion::deleteLastScaleF (  ) 

void MipAlgorithms::ProbPolFusion::setRotoTrasl ( int  pos,
MIPMatrix  rt 
)

Set a rototranslation.

void MipAlgorithms::ProbPolFusion::deleteRotoTrasl ( int  pos  ) 

Deletes an item in te rototranslation list.

void MipAlgorithms::ProbPolFusion::deleteLastRotoTrasl (  ) 

void MipAlgorithms::ProbPolFusion::insertOri ( Decimal  ori  ) 

Insert an orientation in the polimorph.

Decimal MipAlgorithms::ProbPolFusion::getOri ( int  pos  ) 

Get an orientation from the polimorph.

void MipAlgorithms::ProbPolFusion::setOri ( int  pos,
Angle  ori 
)

Set a ori in the list of orientation.

void MipAlgorithms::ProbPolFusion::deleteOri ( int  pos  ) 

Deletes an item in the list of orientation.

void MipAlgorithms::ProbPolFusion::deleteLastOri (  ) 

void MipAlgorithms::ProbPolFusion::insertTriangle ( Triangle tria,
int  myId,
int  id1,
int  id2 
)

Insert a new triangle in the polimorph.

PosId * MipAlgorithms::ProbPolFusion::searchVertex ( int  id  ) 

search a vertex in the list

PosId * MipAlgorithms::ProbPolFusion::searchVertex ( int  id,
int &  posAt 
)

void MipAlgorithms::ProbPolFusion::deleteVertex ( int  pos  ) 

Delete a vertex in the list.

void MipAlgorithms::ProbPolFusion::deleteLastVertex (  ) 

int MipAlgorithms::ProbPolFusion::searchBif ( PosId  vertex,
int &  posAt,
Decimal  thr 
)

Method to check if there is a bifurcation.

void MipAlgorithms::ProbPolFusion::insertPoints ( Triangle tria,
int &  numInt4 
)

Insert intersection by three points.

void MipAlgorithms::ProbPolFusion::insertPointsNoIn ( Triangle tria,
int &  numInt4,
MIPMatrix *&  matrixPointer,
Decimal  actualScale,
vector< Position > &  intToInsert,
int &  incrRatInThree 
)

Insert intersection by three points for the expandPolNoIn.

int MipAlgorithms::ProbPolFusion::getNInThree ( int  pos  ) 

Returns the number of intersection by three until the pos-th triangle in list.

Position MipAlgorithms::ProbPolFusion::getIntThree ( int  pos  ) 

Returns the pos-th item of the list of intersection by three.

Position MipAlgorithms::ProbPolFusion::getLastIntThree (  ) 

Returns the last item in the list of intersection by three.

void MipAlgorithms::ProbPolFusion::deleteIntThree ( int  pos  ) 

Deletes an item in the intersection by three list.

void MipAlgorithms::ProbPolFusion::deleteLastIntThree (  ) 

void MipAlgorithms::ProbPolFusion::insertPointIntThree ( Position  ip,
int  pos 
)

Insert a point in the list of intersection by three points.

bool MipAlgorithms::ProbPolFusion::expandPol ( int  myId,
vector< ProbPolFusion * >  actualSol,
vector< ProbPolFusion * > &  bifProbPolFusion,
Decimal  linThr,
map< int, vector< Pose > > *  likelihood,
vector< int >  activeLikelihoods,
Pose myPose 
)

bool MipAlgorithms::ProbPolFusion::expandPolOpt ( int  myId,
vector< ProbPolFusion * >  actualSol,
vector< ProbPolFusion * > &  bifProbPolFusion,
Decimal  linThr,
map< int, vector< Pose > > *  likelihood,
vector< int >  activeLikelihoods,
Pose myPose,
int &  maxBifSize 
)

New version of expandPol, based on vertices.

bool MipAlgorithms::ProbPolFusion::expandPolNoIn ( int  myId,
vector< ProbPolFusion * >  actualSol,
vector< ProbPolFusion * > &  bifProbPolFusion,
Decimal  linThr,
map< int, vector< Pose > > *  likelihood,
vector< int >  activeLikelihoods,
Pose myPose,
int &  maxBifSize 
)

New version of the expandPolOpt method in which ther is no insertion of the new vertex.

bool MipAlgorithms::ProbPolFusion::checkBif ( PosId  vertex,
Decimal  thr,
int  myId 
)

Verify if there is a bifurcation.

string MipAlgorithms::ProbPolFusion::print ( int  opt = 0  ) 

Print all the solutions.

ProbPolFusion & MipAlgorithms::ProbPolFusion::operator= ( ProbPolFusion A  ) 

Operator assignment =.

Decimal MipAlgorithms::ProbPolFusion::computeProbability ( Pose  measure,
int  id,
map< int, vector< Pose > > *&  likelihood 
)

Computes the probability that a given measures is near to the gaussian particles distribution.

void MipAlgorithms::ProbPolFusion::setRatingVertex ( int  rating  ) 

Sets the ratingVertex of the polimorph.

int MipAlgorithms::ProbPolFusion::getRatingVertex (  ) 

Gets the actual ratingVertex of the polimorph.

void MipAlgorithms::ProbPolFusion::growRatingVertex (  ) 

Grows the ratingVertex of one.

void MipAlgorithms::ProbPolFusion::decreaseRatingVertex (  ) 

Decreases the ratingVertex of one.

void MipAlgorithms::ProbPolFusion::setRatingInThree ( int  rating  ) 

Sets the ratingInThree of the polimorph.

int MipAlgorithms::ProbPolFusion::getRatingInThree (  ) 

Gets the actual ratingInThree of the polimorph.

void MipAlgorithms::ProbPolFusion::growRatingInThree (  ) 

Grows the ratingInThree of one.

void MipAlgorithms::ProbPolFusion::decreaseRatingInThree (  ) 

Decreases the ratingInThree of one.

void MipAlgorithms::ProbPolFusion::setIntFourNum ( int  pos,
int  val 
)

Set the number of intersection by four for a triangle in position pos-1.

int MipAlgorithms::ProbPolFusion::getIntFourNum ( int  pos  ) 

Get the number of intersection by four in position pos-1.

int MipAlgorithms::ProbPolFusion::getLastIntFourNum (  ) 

Get the last number of intersection by four.

void MipAlgorithms::ProbPolFusion::deleteLastIntFourNum (  ) 

Deletes the last number of intersection by four.

void MipAlgorithms::ProbPolFusion::selectScale ( Decimal bestScale,
Decimal bestProb,
map< int, vector< Pose > > *&  likelihood,
vector< int > &  activeLikelihoods,
vector< int > &  idsV,
Pose myPose 
)

Select a scale in an interval.

void MipAlgorithms::ProbPolFusion::setExpandMethod ( int  expMth  ) 

Sets the expansion method.


The documentation for this class was generated from the following files:

Generated on Mon Feb 20 07:01:11 2017 for MIP by  doxygen 1.5.6