#include <ProbMultiRegCam3DStr.h>
Public Member Functions | |
ProbPolFusion () | |
Default constructor. | |
ProbPolFusion (Triangle *tria, int expMth) | |
Constructor with only one triangle. | |
~ProbPolFusion () | |
Default destructor. | |
Triangle * | getTriangle (int pos) |
Return a tringle in position pos. | |
void | setTriangle (int pos, Triangle *tria) |
Set a triangle in position pos. | |
void | deleteTriangle (int pos) |
Delete a triangle in the list. | |
void | deleteLastTriangle () |
Delete the last triangle in the list. | |
void | deleteBifConflicts (int pos, int posAt, int idNew) |
Delete all the triangles that conflict with that stored in position pos. | |
void | deleteBifConflictsOpt (int pos, int idNew) |
Delete all the triangles that conflict with that stored in position pos. | |
int | getSize () |
Return the actual number of the triangle stored in this polymorph. | |
int | getQueueSize () |
Return the actual number of the triangle stored in the queue of the polymorph. | |
void | getIds (vector< int > &ids) |
Return the list of ids actually in the polimorph. | |
void | insertVertex (PosId3D vertex) |
Insert a new vertex of the polymorph. | |
PosId3D | getVertex (int pos) |
Get the vertex of the polymorph at position pos. | |
void | setVertex (int pos, PosId3D vertex) |
Set the vertex of the polymorph at position pos. | |
void | setQueue (Triangle *queue) |
Insert a triangle in the queue in order of the number of intersection by three. | |
int | queueSize () |
Return the number of triangles in queue. | |
void | deleteQueueTriangle (int pos) |
Delete 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. | |
MIPMatrix | getRotoTrasl (int pos) |
Get 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) |
Delete an item in the list of orientation. | |
void | deleteLastOri () |
Delete the last orientation in the list. | |
void | insertTriangle (Triangle *tria, int myId, int id1, int id2) |
Insert a new triangle in the polimorph. | |
PosId3D * | searchVertex (int id) |
Search a vertex in the list. | |
PosId3D * | searchVertex (int id, int &posAt) |
Search a vertex in the list and return its index. | |
void | deleteVertex (int pos) |
Delete a vertex in the list. | |
void | deleteLastVertex () |
Delete the last vertex in the list. | |
int | searchBif (PosId3D 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< Position3D > &intToInsert, int &incrRatInThree) |
Insert intersection by three points for the expandPolNoIn. | |
int | getNInThree (int pos) |
Return the number of intersection by three until the pos-th triangle in list. | |
Position3D | getIntThree (int pos) |
Return the pos-th item of the list of intersection by three. | |
Position3D | getLastIntThree () |
Return the last item in the list of intersection by three. | |
void | deleteIntThree (int pos) |
Delete an item in the intersection by three list. | |
void | deleteLastIntThree () |
Delete the last item in the intersection by three list. | |
void | insertPointIntThree (Position3D 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< Pose3D > > *likelihood, vector< int > activeLikelihoods) |
Insert a point in the list of intersection by three points. | |
bool | expandPolOpt (int myId, vector< ProbPolFusion * > actualSol, vector< ProbPolFusion * > &bifProbPolFusion, Decimal linThr, map< int, vector< Pose3D > > *likelihood, vector< int > activeLikelihoods, int &maxBifSize) |
New version of expandPol, based on vertices. | |
bool | expandPolNoIn (int myId, vector< ProbPolFusion * > actualSol, vector< ProbPolFusion * > &bifProbPolFusion, Decimal linThr, map< int, vector< Pose3D > > *likelihood, vector< int > activeLikelihoods, int &maxBifSize) |
New version of the expandPolOpt method in which ther is no insertion of the new vertex. | |
bool | checkBif (PosId3D 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 (Pose3D measure, int id, map< int, vector< Pose3D > > *&likelihood) |
Compute the probability that a given measures is near to the gaussian particles distribution. | |
void | setRatingVertex (int rating) |
Set the ratingVertex of the polimorph. | |
int | getRatingVertex () |
Get the actual ratingVertex of the polimorph. | |
void | growRatingVertex () |
Grow the ratingVertex of one. | |
void | decreaseRatingVertex () |
Decrease the ratingVertex of one. | |
void | setRatingInThree (int rating) |
Set the ratingInThree of the polimorph. | |
int | getRatingInThree () |
Get the actual ratingInThree of the polimorph. | |
void | growRatingInThree () |
Grow the ratingInThree of one. | |
void | decreaseRatingInThree () |
Decrease 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 () |
Delete the last number of intersection by four. | |
void | selectScale (Decimal &bestScale, Decimal &bestProb, map< int, vector< Pose3D > > *&likelihood, vector< int > &activeLikelihoods, vector< int > &idsV) |
Select a scale in an interval. | |
void | setExpandMethod (int expMth) |
Set the expansion method. | |
string | getObjectName () const |
Returns the object name. |
kybalg::ProbPolFusion::ProbPolFusion | ( | ) |
Default constructor.
kybalg::ProbPolFusion::ProbPolFusion | ( | Triangle * | tria, | |
int | expMth | |||
) |
Constructor with only one triangle.
kybalg::ProbPolFusion::~ProbPolFusion | ( | ) |
Default destructor.
Triangle * kybalg::ProbPolFusion::getTriangle | ( | int | pos | ) |
Return a tringle in position pos.
void kybalg::ProbPolFusion::setTriangle | ( | int | pos, | |
Triangle * | tria | |||
) |
Set a triangle in position pos.
void kybalg::ProbPolFusion::deleteTriangle | ( | int | pos | ) |
Delete a triangle in the list.
void kybalg::ProbPolFusion::deleteLastTriangle | ( | ) |
Delete the last triangle in the list.
void kybalg::ProbPolFusion::deleteBifConflicts | ( | int | pos, | |
int | posAt, | |||
int | idNew | |||
) |
Delete all the triangles that conflict with that stored in position pos.
void kybalg::ProbPolFusion::deleteBifConflictsOpt | ( | int | pos, | |
int | idNew | |||
) |
Delete all the triangles that conflict with that stored in position pos.
int kybalg::ProbPolFusion::getSize | ( | ) |
Return the actual number of the triangle stored in this polymorph.
int kybalg::ProbPolFusion::getQueueSize | ( | ) |
Return the actual number of the triangle stored in the queue of the polymorph.
void kybalg::ProbPolFusion::getIds | ( | vector< int > & | ids | ) |
Return the list of ids actually in the polimorph.
void kybalg::ProbPolFusion::insertVertex | ( | PosId3D | vertex | ) |
Insert a new vertex of the polymorph.
PosId3D kybalg::ProbPolFusion::getVertex | ( | int | pos | ) |
Get the vertex of the polymorph at position pos.
void kybalg::ProbPolFusion::setVertex | ( | int | pos, | |
PosId3D | vertex | |||
) |
Set the vertex of the polymorph at position pos.
void kybalg::ProbPolFusion::setQueue | ( | Triangle * | queue | ) |
Insert a triangle in the queue in order of the number of intersection by three.
int kybalg::ProbPolFusion::queueSize | ( | ) |
Return the number of triangles in queue.
void kybalg::ProbPolFusion::deleteQueueTriangle | ( | int | pos | ) |
Delete a item in the queue list.
void kybalg::ProbPolFusion::deleteQueueLastTriangle | ( | ) |
void kybalg::ProbPolFusion::setScale | ( | int | i, | |
Decimal | scale | |||
) |
Set the scale factor of the (i+1)-th triangle in list.
void kybalg::ProbPolFusion::setScale | ( | Decimal | scale | ) |
Add a new item in the scale vector.
Decimal kybalg::ProbPolFusion::getScale | ( | int | i | ) |
Get the (i+1)-th scale factor.
void kybalg::ProbPolFusion::deleteScaleF | ( | int | pos | ) |
Deletes an item of scale factor.
void kybalg::ProbPolFusion::deleteLastScaleF | ( | ) |
void kybalg::ProbPolFusion::setRotoTrasl | ( | int | pos, | |
MIPMatrix | rt | |||
) |
Set a rototranslation.
MIPMatrix kybalg::ProbPolFusion::getRotoTrasl | ( | int | pos | ) |
Get a rototranslation.
void kybalg::ProbPolFusion::deleteRotoTrasl | ( | int | pos | ) |
Deletes an item in te rototranslation list.
void kybalg::ProbPolFusion::deleteLastRotoTrasl | ( | ) |
void kybalg::ProbPolFusion::insertOri | ( | Decimal | ori | ) |
Insert an orientation in the polimorph.
Decimal kybalg::ProbPolFusion::getOri | ( | int | pos | ) |
Get an orientation from the polimorph.
void kybalg::ProbPolFusion::setOri | ( | int | pos, | |
Angle | ori | |||
) |
Set a ori in the list of orientation.
void kybalg::ProbPolFusion::deleteOri | ( | int | pos | ) |
Delete an item in the list of orientation.
void kybalg::ProbPolFusion::deleteLastOri | ( | ) |
Delete the last orientation in the list.
void kybalg::ProbPolFusion::insertTriangle | ( | Triangle * | tria, | |
int | myId, | |||
int | id1, | |||
int | id2 | |||
) |
Insert a new triangle in the polimorph.
PosId3D * kybalg::ProbPolFusion::searchVertex | ( | int | id | ) |
Search a vertex in the list.
PosId3D * kybalg::ProbPolFusion::searchVertex | ( | int | id, | |
int & | posAt | |||
) |
Search a vertex in the list and return its index.
void kybalg::ProbPolFusion::deleteVertex | ( | int | pos | ) |
Delete a vertex in the list.
void kybalg::ProbPolFusion::deleteLastVertex | ( | ) |
Delete the last vertex in the list.
Method to check if there is a bifurcation.
void kybalg::ProbPolFusion::insertPoints | ( | Triangle * | tria, | |
int & | numInt4 | |||
) |
Insert intersection by three points.
void kybalg::ProbPolFusion::insertPointsNoIn | ( | Triangle * | tria, | |
int & | numInt4, | |||
MIPMatrix *& | matrixPointer, | |||
Decimal | actualScale, | |||
vector< Position3D > & | intToInsert, | |||
int & | incrRatInThree | |||
) |
Insert intersection by three points for the expandPolNoIn.
int kybalg::ProbPolFusion::getNInThree | ( | int | pos | ) |
Return the number of intersection by three until the pos-th triangle in list.
Position3D kybalg::ProbPolFusion::getIntThree | ( | int | pos | ) |
Return the pos-th item of the list of intersection by three.
Position3D kybalg::ProbPolFusion::getLastIntThree | ( | ) |
Return the last item in the list of intersection by three.
void kybalg::ProbPolFusion::deleteIntThree | ( | int | pos | ) |
Delete an item in the intersection by three list.
void kybalg::ProbPolFusion::deleteLastIntThree | ( | ) |
Delete the last item in the intersection by three list.
void kybalg::ProbPolFusion::insertPointIntThree | ( | Position3D | ip, | |
int | pos | |||
) |
Insert a point in the list of intersection by three points.
bool kybalg::ProbPolFusion::expandPol | ( | int | myId, | |
vector< ProbPolFusion * > | actualSol, | |||
vector< ProbPolFusion * > & | bifProbPolFusion, | |||
Decimal | linThr, | |||
map< int, vector< Pose3D > > * | likelihood, | |||
vector< int > | activeLikelihoods | |||
) |
Insert a point in the list of intersection by three points.
bool kybalg::ProbPolFusion::expandPolOpt | ( | int | myId, | |
vector< ProbPolFusion * > | actualSol, | |||
vector< ProbPolFusion * > & | bifProbPolFusion, | |||
Decimal | linThr, | |||
map< int, vector< Pose3D > > * | likelihood, | |||
vector< int > | activeLikelihoods, | |||
int & | maxBifSize | |||
) |
New version of expandPol, based on vertices.
bool kybalg::ProbPolFusion::expandPolNoIn | ( | int | myId, | |
vector< ProbPolFusion * > | actualSol, | |||
vector< ProbPolFusion * > & | bifProbPolFusion, | |||
Decimal | linThr, | |||
map< int, vector< Pose3D > > * | likelihood, | |||
vector< int > | activeLikelihoods, | |||
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 kybalg::ProbPolFusion::print | ( | int | opt = 0 |
) |
Print all the solutions.
ProbPolFusion & kybalg::ProbPolFusion::operator= | ( | ProbPolFusion & | A | ) |
Operator assignment =.
Decimal kybalg::ProbPolFusion::computeProbability | ( | Pose3D | measure, | |
int | id, | |||
map< int, vector< Pose3D > > *& | likelihood | |||
) |
Compute the probability that a given measures is near to the gaussian particles distribution.
void kybalg::ProbPolFusion::setRatingVertex | ( | int | rating | ) |
Set the ratingVertex of the polimorph.
int kybalg::ProbPolFusion::getRatingVertex | ( | ) |
Get the actual ratingVertex of the polimorph.
void kybalg::ProbPolFusion::growRatingVertex | ( | ) |
Grow the ratingVertex of one.
void kybalg::ProbPolFusion::decreaseRatingVertex | ( | ) |
Decrease the ratingVertex of one.
void kybalg::ProbPolFusion::setRatingInThree | ( | int | rating | ) |
Set the ratingInThree of the polimorph.
int kybalg::ProbPolFusion::getRatingInThree | ( | ) |
Get the actual ratingInThree of the polimorph.
void kybalg::ProbPolFusion::growRatingInThree | ( | ) |
Grow the ratingInThree of one.
void kybalg::ProbPolFusion::decreaseRatingInThree | ( | ) |
Decrease the ratingInThree of one.
void kybalg::ProbPolFusion::setIntFourNum | ( | int | pos, | |
int | val | |||
) |
Set the number of intersection by four for a triangle in position pos-1.
int kybalg::ProbPolFusion::getIntFourNum | ( | int | pos | ) |
Get the number of intersection by four in position pos-1.
int kybalg::ProbPolFusion::getLastIntFourNum | ( | ) |
Get the last number of intersection by four.
void kybalg::ProbPolFusion::deleteLastIntFourNum | ( | ) |
Delete the last number of intersection by four.
void kybalg::ProbPolFusion::selectScale | ( | Decimal & | bestScale, | |
Decimal & | bestProb, | |||
map< int, vector< Pose3D > > *& | likelihood, | |||
vector< int > & | activeLikelihoods, | |||
vector< int > & | idsV | |||
) |
Select a scale in an interval.
void kybalg::ProbPolFusion::setExpandMethod | ( | int | expMth | ) |
Set the expansion method.
string kybalg::ProbPolFusion::getObjectName | ( | ) | const [inline, virtual] |