#include <ProbMultiRegCamStr.h>
Public Member Functions | |
ProbPolFusion () | |
Default constructor. | |
ProbPolFusion (Triangle *tria, int expMth) | |
Constructor with only one triangle. | |
~ProbPolFusion () | |
Default destructor. | |
Triangle * | getTriangle (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. | |
PosId * | searchVertex (int id) |
search a vertex in the list | |
PosId * | searchVertex (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. | |
ProbPolFusion & | operator= (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. |
MipAlgorithms::ProbPolFusion::ProbPolFusion | ( | ) |
Default constructor.
MipAlgorithms::ProbPolFusion::ProbPolFusion | ( | Triangle * | tria, | |
int | expMth | |||
) |
Constructor with only one triangle.
MipAlgorithms::ProbPolFusion::~ProbPolFusion | ( | ) |
Default destructor.
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 | ( | ) |
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.
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.