![]() |
Visual Servoing Platform version 3.7.0
|
#include <vpMbHiddenFaces.h>
Public Member Functions | |
| vpMbHiddenFaces () | |
| virtual | ~vpMbHiddenFaces () |
| vpMbHiddenFaces (const vpMbHiddenFaces ©) | |
| vpMbHiddenFaces & | operator= (vpMbHiddenFaces other) |
| void | addPolygon (PolygonType *p) |
| bool | computeVisibility (const vpHomogeneousMatrix &cMo, const double &angleAppears, const double &angleDisappears, bool &changed, bool useOgre, bool not_used, unsigned int width, unsigned int height, const vpCameraParameters &cam, const vpTranslationVector &cameraPos, unsigned int index) |
| void | computeClippedPolygons (const vpHomogeneousMatrix &cMo, const vpCameraParameters &cam) |
| void | computeScanLineRender (const vpCameraParameters &cam, const unsigned int &w, const unsigned int &h) |
| void | computeScanLineQuery (const vpPoint &a, const vpPoint &b, std::vector< std::pair< vpPoint, vpPoint > > &lines, const bool &displayResults=false) |
| vpMbScanLine & | getMbScanLineRenderer () |
| void | displayOgre (const vpHomogeneousMatrix &cMo) |
| std::vector< PolygonType * > & | getPolygon () |
| void | initOgre (const vpCameraParameters &cam=vpCameraParameters()) |
| unsigned int | getNbVisiblePolygon () const |
| unsigned int | getNbRayCastingAttemptsForVisibility () |
| vpAROgre * | getOgreContext () |
| double | getGoodNbRayCastingAttemptsRatio () |
| bool | isAppearing (unsigned int i) |
| bool | isOgreInitialised () |
| bool | isVisible (unsigned int i) |
| bool | isVisibleOgre (const vpTranslationVector &cameraPos, const unsigned int &index) |
| PolygonType * | operator[] (unsigned int i) |
| const PolygonType * | operator[] (unsigned int i) const |
| void | reset () |
| void | setBackgroundSizeOgre (const unsigned int &h, const unsigned int &w) |
| void | setNbRayCastingAttemptsForVisibility (const unsigned int &attempts) |
| void | setGoodNbRayCastingAttemptsRatio (const double &ratio) |
| void | setOgreShowConfigDialog (bool showConfigDialog) |
| unsigned int | setVisible (unsigned int width, unsigned int height, const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo, const double &angle, bool &changed) |
| unsigned int | setVisible (unsigned int width, unsigned int height, const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo, const double &angleAppears, const double &angleDisappears, bool &changed) |
| unsigned int | setVisible (const vpHomogeneousMatrix &cMo, const double &angleAppears, const double &angleDisappears, bool &changed) |
| unsigned int | setVisibleOgre (unsigned int width, unsigned int height, const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo, const double &angleAppears, const double &angleDisappears, bool &changed) |
| unsigned int | setVisibleOgre (const vpHomogeneousMatrix &cMo, const double &angleAppears, const double &angleDisappears, bool &changed) |
| unsigned int | size () const |
Friends | |
| void | swap (vpMbHiddenFaces &first, vpMbHiddenFaces &second) |
Implementation of the polygons management for the model-based trackers.
Tutorials
If you are interested in using a MBT tracker in your applications, you may have a look at:
Definition at line 81 of file vpMbHiddenFaces.h.
| vpMbHiddenFaces< PolygonType >::vpMbHiddenFaces | ( | ) |
Basic constructor.
Definition at line 295 of file vpMbHiddenFaces.h.
Referenced by operator=(), swap, and vpMbHiddenFaces().
|
virtual |
Basic destructor.
Definition at line 310 of file vpMbHiddenFaces.h.
| vpMbHiddenFaces | ( | const vpMbHiddenFaces< PolygonType > & | copy | ) |
Definition at line 342 of file vpMbHiddenFaces.h.
References vpMbHiddenFaces().
| void vpMbHiddenFaces< PolygonType >::addPolygon | ( | PolygonType * | p | ) |
Add a polygon to the list of polygons.
| p | : The polygon to add. |
Definition at line 389 of file vpMbHiddenFaces.h.
| void vpMbHiddenFaces< PolygonType >::computeClippedPolygons | ( | const vpHomogeneousMatrix & | cMo, |
| const vpCameraParameters & | cam ) |
Compute the clipped points of the polygons that have been added via addPolygon().
| cMo | : Pose that will be used to clip the polygons. |
| cam | : Camera parameters that will be used to clip the polygons. |
Definition at line 452 of file vpMbHiddenFaces.h.
| void vpMbHiddenFaces< PolygonType >::computeScanLineQuery | ( | const vpPoint & | a, |
| const vpPoint & | b, | ||
| std::vector< std::pair< vpPoint, vpPoint > > & | lines, | ||
| const bool & | displayResults = false ) |
Compute scanline visibility results for a line.
| a | : First point of the line. |
| b | : Second point of the line. |
| lines | : Result of the scanline visibility. List of the visible parts of the line. |
| displayResults | : True if the results have to be displayed. False otherwise. |
Definition at line 511 of file vpMbHiddenFaces.h.
| void vpMbHiddenFaces< PolygonType >::computeScanLineRender | ( | const vpCameraParameters & | cam, |
| const unsigned int & | w, | ||
| const unsigned int & | h ) |
Render the scene in order to perform, later via computeScanLineQuery(), visibility tests.
| cam | : Camera parameters that will be used to render the scene. |
| w | : Width of the render window. |
| h | : Height of the render window. |
Definition at line 475 of file vpMbHiddenFaces.h.
References size().
| bool vpMbHiddenFaces< PolygonType >::computeVisibility | ( | const vpHomogeneousMatrix & | cMo, |
| const double & | angleAppears, | ||
| const double & | angleDisappears, | ||
| bool & | changed, | ||
| bool | useOgre, | ||
| bool | not_used, | ||
| unsigned int | width, | ||
| unsigned int | height, | ||
| const vpCameraParameters & | cam, | ||
| const vpTranslationVector & | cameraPos, | ||
| unsigned int | index ) |
Compute the visibility of a given face index.
| [in] | cMo | : The pose of the camera |
| [in] | angleAppears | : Angle used to test the appearance of a face |
| [in] | angleDisappears | : Angle used to test the disappearance of a face |
| [in] | changed | : True if a face appeared, disappeared or too many points have been lost. False otherwise. |
| [in] | useOgre | : True if a Ogre is used to test the visibility, False otherwise. |
| [in] | not_used | : Unused parameter. |
| [in] | width | : Image width. |
| [in] | height | : Image height. |
| [in] | cam | : Camera parameters. |
| [in] | cameraPos | : Position of the camera. Used only when Ogre is used as 3rd party. |
| [in] | index | : Index of the face to consider. |
Definition at line 580 of file vpMbHiddenFaces.h.
References isVisible(), and isVisibleOgre().
| void vpMbHiddenFaces< PolygonType >::displayOgre | ( | const vpHomogeneousMatrix & | cMo | ) |
Update the display in Ogre Window.
| cMo | : Pose used to display. |
Definition at line 762 of file vpMbHiddenFaces.h.
References isVisible().
|
inline |
Get the ratio of visibility attempts that has to be successful to consider a polygon as visible.
Definition at line 177 of file vpMbHiddenFaces.h.
|
inline |
Definition at line 125 of file vpMbHiddenFaces.h.
|
inline |
Get the number of rays that will be sent toward each polygon for visibility test. Each ray will go from the optic center of the camera to a random point inside the considered polygon.
Definition at line 159 of file vpMbHiddenFaces.h.
|
inline |
Get the number of visible polygons.
Definition at line 147 of file vpMbHiddenFaces.h.
|
inline |
Get the Ogre3D Context.
Definition at line 166 of file vpMbHiddenFaces.h.
|
inline |
Get the list of polygons.
Definition at line 136 of file vpMbHiddenFaces.h.
| void vpMbHiddenFaces< PolygonType >::initOgre | ( | const vpCameraParameters & | cam = vpCameraParameters() | ) |
Initialise the ogre context for face visibility tests.
| cam | : Camera parameters. |
Definition at line 730 of file vpMbHiddenFaces.h.
|
inline |
Definition at line 180 of file vpMbHiddenFaces.h.
Referenced by vpMbEdgeTracker::computeVVSFirstPhase(), vpMbEdgeTracker::computeVVSFirstPhaseFactor(), and vpMbEdgeKltTracker::trackFirstLoop().
|
inline |
Tell whether if Ogre Context is initialised or not.
Definition at line 188 of file vpMbHiddenFaces.h.
|
inline |
Check if the polygon at position i in the list is visible.
| i | : TPosition in the list. |
Definition at line 198 of file vpMbHiddenFaces.h.
Referenced by computeVisibility(), vpMbtFaceDepthDense::computeVisibilityDisplay(), vpMbtFaceDepthNormal::computeVisibilityDisplay(), displayOgre(), vpMbEdgeTracker::initMovingEdge(), and vpMbTracker::projectionErrorInitMovingEdge().
| bool vpMbHiddenFaces< PolygonType >::isVisibleOgre | ( | const vpTranslationVector & | cameraPos, |
| const unsigned int & | index ) |
Test the visibility of a polygon through Ogre3D via RayCasting.
| cameraPos | : Position of the camera in the 3D world. |
| index | : Index of the polygon. |
Definition at line 824 of file vpMbHiddenFaces.h.
Referenced by computeVisibility().
| vpMbHiddenFaces< PolygonType > & vpMbHiddenFaces< PolygonType >::operator= | ( | vpMbHiddenFaces< PolygonType > | other | ) |
Copy assignment operator.
Definition at line 377 of file vpMbHiddenFaces.h.
References swap, and vpMbHiddenFaces().
|
inline |
Operator[] as modifier.
Definition at line 205 of file vpMbHiddenFaces.h.
|
inline |
Operator[] as reader.
Definition at line 207 of file vpMbHiddenFaces.h.
| void vpMbHiddenFaces< PolygonType >::reset | ( | ) |
Reset the hidden faces (remove the list of PolygonType).
Definition at line 409 of file vpMbHiddenFaces.h.
|
inline |
Set the background size (by default it is 640x480). The background size has to match with the size of the image that you are using for the tracking.
| h | : Height of the background |
| w | : Width of the background |
Definition at line 222 of file vpMbHiddenFaces.h.
|
inline |
Set the ratio of visibility attempts that has to be successful to consider a polygon as visible.
| ratio | : Ratio of successful attempts that has to be considered. Value has to be between 0.0 (0%) and 1.0 (100%). |
Definition at line 247 of file vpMbHiddenFaces.h.
|
inline |
Set the number of rays that will be sent toward each polygon for visibility test. Each ray will go from the optic center of the camera to a random point inside the considered polygon.
| attempts | Number of rays to be sent. |
Definition at line 236 of file vpMbHiddenFaces.h.
|
inline |
Enable/Disable the appearance of Ogre config dialog on startup.
| showConfigDialog | : if true, shows Ogre dialog window (used to set Ogre rendering options) when Ogre visibility is enabled. By default, this functionality is turned off. |
Definition at line 265 of file vpMbHiddenFaces.h.
| unsigned int vpMbHiddenFaces< PolygonType >::setVisible | ( | const vpHomogeneousMatrix & | cMo, |
| const double & | angleAppears, | ||
| const double & | angleDisappears, | ||
| bool & | changed ) |
Compute the number of visible polygons.
| cMo | : The pose of the camera |
| angleAppears | : Angle used to test the appearance of a face |
| angleDisappears | : Angle used to test the disappearance of a face |
| changed | : True if a face appeared, disappeared or too many points have been lost. False otherwise |
Definition at line 718 of file vpMbHiddenFaces.h.
| unsigned int vpMbHiddenFaces< PolygonType >::setVisible | ( | unsigned int | width, |
| unsigned int | height, | ||
| const vpCameraParameters & | cam, | ||
| const vpHomogeneousMatrix & | cMo, | ||
| const double & | angle, | ||
| bool & | changed ) |
Compute the number of visible polygons.
| width | : Image width used to check if the region of interest is inside the image. |
| height | : Image height used to check if the region of interest is inside the image. |
| cam | : Camera parameters. |
| cMo | : The pose of the camera. |
| angle | : Angle used to test the appearance and disappearance of a face. |
| changed | : True if a face appeared, disappeared or too many points have been lost. False otherwise. |
Definition at line 678 of file vpMbHiddenFaces.h.
References setVisible().
Referenced by setVisible().
| unsigned int vpMbHiddenFaces< PolygonType >::setVisible | ( | unsigned int | width, |
| unsigned int | height, | ||
| const vpCameraParameters & | cam, | ||
| const vpHomogeneousMatrix & | cMo, | ||
| const double & | angleAppears, | ||
| const double & | angleDisappears, | ||
| bool & | changed ) |
Compute the number of visible polygons.
| width | : Image width used to check if the region of interest is inside the image. |
| height | : Image height used to check if the region of interest is inside the image. |
| cam | : Camera parameters. |
| cMo | : The pose of the camera. |
| changed | : True if a face appeared, disappeared or too many points have been lost. False otherwise. |
| angleAppears | : Angle used to test the appearance of a face. |
| angleDisappears | : Angle used to test the disappearance of a face. |
Definition at line 699 of file vpMbHiddenFaces.h.
| unsigned int vpMbHiddenFaces< PolygonType >::setVisibleOgre | ( | const vpHomogeneousMatrix & | cMo, |
| const double & | angleAppears, | ||
| const double & | angleDisappears, | ||
| bool & | changed ) |
Compute the number of visible polygons through Ogre3D.
| cMo | : The pose of the camera |
| angleAppears | : Angle used to test the appearance of a face |
| angleDisappears | : Angle used to test the disappearance of a face |
| changed | : True if a face appeared, disappeared or too many points have been lost. False otherwise |
Definition at line 809 of file vpMbHiddenFaces.h.
| unsigned int vpMbHiddenFaces< PolygonType >::setVisibleOgre | ( | unsigned int | width, |
| unsigned int | height, | ||
| const vpCameraParameters & | cam, | ||
| const vpHomogeneousMatrix & | cMo, | ||
| const double & | angleAppears, | ||
| const double & | angleDisappears, | ||
| bool & | changed ) |
Compute the number of visible polygons through Ogre3D.
| width | : Image width used to check if the region of interest is inside the image. |
| height | : Image height used to check if the region of interest is inside the image. |
| cam | : Camera parameters. |
| cMo | : The pose of the camera. |
| changed | : True if a face appeared, disappeared or too many points have been lost. False otherwise. |
| angleAppears | : Angle used to test the appearance of a face. |
| angleDisappears | : Angle used to test the disappearance of a face. |
Definition at line 790 of file vpMbHiddenFaces.h.
|
inline |
Get the number of polygons.
Definition at line 288 of file vpMbHiddenFaces.h.
Referenced by computeScanLineRender().
|
friend |
Definition at line 357 of file vpMbHiddenFaces.h.
References swap, and vpMbHiddenFaces().
Referenced by operator=(), and swap.