Visual Servoing Platform
version 3.0.0
|
#include <visp3/mbt/vpMbHiddenFaces.h>
Public Member Functions | |
vpMbHiddenFaces () | |
~vpMbHiddenFaces () | |
void | addPolygon (PolygonType *p) |
bool | computeVisibility (const vpHomogeneousMatrix &cMo, const double &angleAppears, const double &angleDisappears, bool &changed, bool useOgre, bool testRoi, const vpImage< unsigned char > &I, 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 (const unsigned int i) |
bool | isOgreInitialised () |
bool | isVisible (const unsigned int i) |
bool | isVisibleOgre (const vpTranslationVector &cameraPos, const unsigned int &index) |
PolygonType * | operator[] (const unsigned int i) |
const PolygonType * | operator[] (const 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 (const bool showConfigDialog) |
unsigned int | setVisible (const vpImage< unsigned char > &I, const vpCameraParameters &cam, const vpHomogeneousMatrix &cMo, const double &angle, bool &changed) |
unsigned int | setVisible (const vpImage< unsigned char > &I, 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 (const vpImage< unsigned char > &I, 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 |
Implementation of the polygons management for the model-based trackers.
Definition at line 66 of file vpMbHiddenFaces.h.
vpMbHiddenFaces< PolygonType >::vpMbHiddenFaces | ( | ) |
Basic constructor.
Definition at line 261 of file vpMbHiddenFaces.h.
vpMbHiddenFaces< PolygonType >::~vpMbHiddenFaces | ( | ) |
Basic destructor.
Definition at line 278 of file vpMbHiddenFaces.h.
void vpMbHiddenFaces< PolygonType >::addPolygon | ( | PolygonType * | p | ) |
Add a polygon to the list of polygons.
p | : The polygon to add. |
Definition at line 313 of file vpMbHiddenFaces.h.
Referenced by vpMbTracker::addPolygon().
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 378 of file vpMbHiddenFaces.h.
Referenced by vpMbKltTracker::display(), vpMbEdgeTracker::init(), vpMbEdgeKltTracker::postTracking(), vpMbKltTracker::reinit(), vpMbEdgeKltTracker::setPose(), vpMbKltTracker::setPose(), and vpMbEdgeTracker::track().
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 435 of file vpMbHiddenFaces.h.
Referenced by vpMbtDistanceLine::display(), vpMbtDistanceKltPoints::display(), vpMbtDistanceLine::initMovingEdge(), and vpMbtDistanceLine::updateMovingEdge().
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 400 of file vpMbHiddenFaces.h.
Referenced by vpMbKltTracker::display(), vpMbEdgeTracker::init(), vpMbEdgeKltTracker::postTracking(), vpMbKltTracker::reinit(), vpMbEdgeKltTracker::setPose(), vpMbKltTracker::setPose(), and vpMbEdgeTracker::track().
bool vpMbHiddenFaces< PolygonType >::computeVisibility | ( | const vpHomogeneousMatrix & | cMo, |
const double & | angleAppears, | ||
const double & | angleDisappears, | ||
bool & | changed, | ||
bool | useOgre, | ||
bool | testRoi, | ||
const vpImage< unsigned char > & | I, | ||
const vpCameraParameters & | cam, | ||
const vpTranslationVector & | cameraPos, | ||
unsigned int | index | ||
) |
Compute the visibility of a given face index.
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 |
useOgre | : True if a Ogre is used to test the visibility, False otherwise |
testRoi | : True if a face have to be entirely in the image False otherwise |
I | : Image used to test if a face is entirely projected in the image. |
cam | : Camera parameters. |
cameraPos | : Position of the camera. Used only when Ogre is used as 3rd party. |
index | : Index of the face to consider. |
Definition at line 504 of file vpMbHiddenFaces.h.
void vpMbHiddenFaces< PolygonType >::displayOgre | ( | const vpHomogeneousMatrix & | cMo | ) |
Update the display in Ogre Window.
cMo | : Pose used to display. |
Definition at line 692 of file vpMbHiddenFaces.h.
References vpAROgre::display(), and vpAROgre::isWindowHidden().
Referenced by vpMbEdgeKltTracker::display(), vpMbKltTracker::display(), and vpMbEdgeTracker::display().
|
inline |
Get the ratio of visibility attempts that has to be successful to consider a polygon as visible.
Definition at line 161 of file vpMbHiddenFaces.h.
|
inline |
Definition at line 112 of file vpMbHiddenFaces.h.
Referenced by vpMbtDistanceKltPoints::init(), vpMbtDistanceKltCylinder::init(), vpMbEdgeKltTracker::loadConfigFile(), vpMbKltTracker::loadConfigFile(), and vpMbKltTracker::reinit().
|
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 145 of file vpMbHiddenFaces.h.
|
inline |
get the number of visible polygons.
Definition at line 134 of file vpMbHiddenFaces.h.
|
inline |
Get the Ogre3D Context.
Definition at line 152 of file vpMbHiddenFaces.h.
Referenced by vpMbTracker::setFarClippingDistance(), vpMbTracker::setNearClippingDistance(), vpMbEdgeKltTracker::vpMbEdgeKltTracker(), vpMbEdgeTracker::vpMbEdgeTracker(), and vpMbKltTracker::vpMbKltTracker().
|
inline |
Get the list of polygons.
Definition at line 123 of file vpMbHiddenFaces.h.
Referenced by vpMbTracker::addPolygon(), vpMbTracker::extractFaces(), vpMbTracker::extractLines(), vpMbtDistanceKltCylinder::init(), and vpMbTracker::loadCAOModel().
void vpMbHiddenFaces< PolygonType >::initOgre | ( | const vpCameraParameters & | cam = vpCameraParameters() | ) |
Initialise the ogre context for face visibility tests.
cam | : Camera parameters. |
Definition at line 659 of file vpMbHiddenFaces.h.
References vpAROgre::getSceneManager(), vpAROgre::init(), vpAROgre::setCameraParameters(), and vpAROgre::setShowConfigDialog().
Referenced by vpMbKltTracker::init(), and vpMbEdgeTracker::init().
|
inline |
Definition at line 164 of file vpMbHiddenFaces.h.
Referenced by vpMbEdgeTracker::computeVVS(), and vpMbEdgeKltTracker::trackFirstLoop().
|
inline |
Tell whether if Ogre Context is initialised or not.
Definition at line 173 of file vpMbHiddenFaces.h.
Referenced by vpMbKltTracker::init(), and vpMbEdgeTracker::init().
|
inline |
Check if the polygon at position i in the list is visible.
i | : TPosition in the list. |
Definition at line 183 of file vpMbHiddenFaces.h.
Referenced by vpMbEdgeTracker::initMovingEdge().
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 752 of file vpMbHiddenFaces.h.
References vpAROgre::getCamera(), and vpAROgre::getSceneManager().
|
inline |
operator[] as modifier.
Definition at line 190 of file vpMbHiddenFaces.h.
|
inline |
operator[] as reader.
Definition at line 192 of file vpMbHiddenFaces.h.
void vpMbHiddenFaces< PolygonType >::reset | ( | ) |
Reset the Hidden faces (remove the list of PolygonType)
Definition at line 335 of file vpMbHiddenFaces.h.
Referenced by vpMbEdgeKltTracker::reInitModel(), vpMbKltTracker::reInitModel(), vpMbEdgeTracker::reInitModel(), vpMbKltTracker::resetTracker(), and vpMbEdgeTracker::resetTracker().
|
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 traking.
h | : Height of the background |
w | : Width of the background |
Definition at line 206 of file vpMbHiddenFaces.h.
Referenced by vpMbKltTracker::init(), and vpMbEdgeTracker::init().
|
inline |
Set the ratio of visibility attempts that has to be successful to consider a polygon as visible.
ratio | : Ratio of succesful attempts that has to be considered. Value has to be between 0.0 (0%) and 1.0 (100%). |
Definition at line 225 of file vpMbHiddenFaces.h.
Referenced by vpMbTracker::setGoodNbRayCastingAttemptsRatio().
|
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 216 of file vpMbHiddenFaces.h.
Referenced by vpMbTracker::setNbRayCastingAttemptsForVisibility().
|
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 236 of file vpMbHiddenFaces.h.
Referenced by vpMbKltTracker::init(), and vpMbEdgeTracker::init().
unsigned int vpMbHiddenFaces< PolygonType >::setVisible | ( | const vpImage< unsigned char > & | I, |
const vpCameraParameters & | cam, | ||
const vpHomogeneousMatrix & | cMo, | ||
const double & | angle, | ||
bool & | changed | ||
) |
Compute the number of visible polygons.
I | : Image 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 610 of file vpMbHiddenFaces.h.
Referenced by vpMbKltTracker::init(), vpMbKltTracker::postTracking(), vpMbKltTracker::setPose(), and vpMbEdgeTracker::visibleFace().
unsigned int vpMbHiddenFaces< PolygonType >::setVisible | ( | const vpImage< unsigned char > & | I, |
const vpCameraParameters & | cam, | ||
const vpHomogeneousMatrix & | cMo, | ||
const double & | angleAppears, | ||
const double & | angleDisappears, | ||
bool & | changed | ||
) |
Compute the number of visible polygons.
I | : Image 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 629 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 646 of file vpMbHiddenFaces.h.
unsigned int vpMbHiddenFaces< PolygonType >::setVisibleOgre | ( | const vpImage< unsigned char > & | I, |
const vpCameraParameters & | cam, | ||
const vpHomogeneousMatrix & | cMo, | ||
const double & | angleAppears, | ||
const double & | angleDisappears, | ||
bool & | changed | ||
) |
Compute the number of visible polygons through Ogre3D.
I | : Image 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 720 of file vpMbHiddenFaces.h.
Referenced by vpMbKltTracker::init(), vpMbKltTracker::postTracking(), vpMbKltTracker::setPose(), and vpMbEdgeTracker::visibleFace().
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 737 of file vpMbHiddenFaces.h.
|
inline |
Get the number of polygons.
Definition at line 254 of file vpMbHiddenFaces.h.
Referenced by vpMbTracker::getNbPolygon(), vpMbTracker::getPolygon(), vpMbTracker::loadModel(), vpMbTracker::loadVRMLModel(), vpMbTracker::setClipping(), vpMbTracker::setFarClippingDistance(), vpMbTracker::setLod(), vpMbTracker::setMinLineLengthThresh(), vpMbTracker::setMinPolygonAreaThresh(), and vpMbTracker::setNearClippingDistance().