ViSP  2.7.0
vpMbHiddenFaces< PolygonType > Class Template Reference

#include <vpMbHiddenFaces.h>

Public Member Functions

 vpMbHiddenFaces ()
 
 ~vpMbHiddenFaces ()
 
void addPolygon (PolygonType *p)
 
void displayOgre (const vpHomogeneousMatrix &_cMo)
 
std::vector< PolygonType * > & getPolygon ()
 
void initOgre (vpCameraParameters _cam=vpCameraParameters())
 
bool getDepthTest ()
 
unsigned int getNbVisiblePolygon ()
 
vpAROgregetOgreContext ()
 
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 setDepthTest (const bool &d)
 
unsigned int setVisible (const vpHomogeneousMatrix &_cMo)
 
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 ()
 

Detailed Description

template<class PolygonType = vpMbtPolygon>
class vpMbHiddenFaces< PolygonType >

Implementation of the polygons management for the model-based trackers.

Definition at line 67 of file vpMbHiddenFaces.h.

Constructor & Destructor Documentation

template<class PolygonType >
vpMbHiddenFaces< PolygonType >::vpMbHiddenFaces ( )

Basic constructor.

Definition at line 194 of file vpMbHiddenFaces.h.

References vpAROgre::setShowConfigDialog().

template<class PolygonType >
vpMbHiddenFaces< PolygonType >::~vpMbHiddenFaces ( )

Basic destructor.

Definition at line 209 of file vpMbHiddenFaces.h.

Member Function Documentation

template<class PolygonType>
void vpMbHiddenFaces< PolygonType >::addPolygon ( PolygonType *  p)

Add a polygon to the list of polygons.

Parameters
p: The polygon to add.

Definition at line 231 of file vpMbHiddenFaces.h.

Referenced by vpMbEdgeTracker::addPolygon(), and vpMbKltTracker::initFaceFromCorners().

template<class PolygonType >
void vpMbHiddenFaces< PolygonType >::displayOgre ( const vpHomogeneousMatrix _cMo)

Update the display in Ogre Window.

Parameters
_cMo: Pose used to display.

Definition at line 481 of file vpMbHiddenFaces.h.

References vpAROgre::display(), and vpAROgre::isWindowHidden().

Referenced by vpMbKltTracker::display(), and vpMbEdgeTracker::display().

template<class PolygonType = vpMbtPolygon>
bool vpMbHiddenFaces< PolygonType >::getDepthTest ( )
inline

Get the depthTest value.

Returns
true if all the points of a polygon has to be in front of the camera, false otherwise.

Definition at line 117 of file vpMbHiddenFaces.h.

template<class PolygonType = vpMbtPolygon>
unsigned int vpMbHiddenFaces< PolygonType >::getNbVisiblePolygon ( )
inline

get the number of visible polygons.

Returns
number of visible polygons.

Definition at line 124 of file vpMbHiddenFaces.h.

template<class PolygonType = vpMbtPolygon>
vpAROgre* vpMbHiddenFaces< PolygonType >::getOgreContext ( )
inline

Get the Ogre3D Context.

Returns
A pointer on a vpAROgre instance.

Definition at line 132 of file vpMbHiddenFaces.h.

Referenced by vpMbEdgeKltTracker::vpMbEdgeKltTracker(), vpMbEdgeTracker::vpMbEdgeTracker(), and vpMbKltTracker::vpMbKltTracker().

template<class PolygonType = vpMbtPolygon>
std::vector<PolygonType*>& vpMbHiddenFaces< PolygonType >::getPolygon ( )
inline

Get the list of polygons.

Returns
Mbt Klt polygons list.

Definition at line 106 of file vpMbHiddenFaces.h.

Referenced by vpMbKltTracker::initFaceFromCorners().

template<class PolygonType >
void vpMbHiddenFaces< PolygonType >::initOgre ( vpCameraParameters  _cam = vpCameraParameters())

Initialise the ogre context for face visibility tests.

Parameters
_cam: Camera parameters.

Definition at line 446 of file vpMbHiddenFaces.h.

References vpAROgre::getSceneManager(), vpAROgre::init(), and vpAROgre::setCameraParameters().

Referenced by vpMbKltTracker::init(), and vpMbEdgeTracker::init().

template<class PolygonType = vpMbtPolygon>
bool vpMbHiddenFaces< PolygonType >::isAppearing ( const unsigned int  i)
inline
template<class PolygonType = vpMbtPolygon>
bool vpMbHiddenFaces< PolygonType >::isOgreInitialised ( )
inline

Tell whether if Ogre Context is initialised or not.

Returns
True if it does, false otherwise.

Definition at line 144 of file vpMbHiddenFaces.h.

Referenced by vpMbKltTracker::init(), and vpMbEdgeTracker::init().

template<class PolygonType = vpMbtPolygon>
bool vpMbHiddenFaces< PolygonType >::isVisible ( const unsigned int  i)
inline

Check if the polygon at position i in the list is visible.

Parameters
i: TPosition in the list.
Returns
Return true if the polygon is visible.

Definition at line 154 of file vpMbHiddenFaces.h.

Referenced by vpMbEdgeTracker::initMovingEdge().

template<class PolygonType >
bool vpMbHiddenFaces< PolygonType >::isVisibleOgre ( const vpTranslationVector cameraPos,
const unsigned int &  index 
)

Test the visibility of a polygon through Ogre3D via RayCasting.

Parameters
cameraPos: Position of the camera in the 3D world.
index: Index of the polygon.
Returns
Return true if the polygon is visible, False otherwise.

Definition at line 541 of file vpMbHiddenFaces.h.

References vpAROgre::getCamera(), and vpAROgre::getSceneManager().

template<class PolygonType = vpMbtPolygon>
PolygonType* vpMbHiddenFaces< PolygonType >::operator[] ( const unsigned int  i)
inline

operator[] as modifier.

Definition at line 161 of file vpMbHiddenFaces.h.

template<class PolygonType = vpMbtPolygon>
const PolygonType* vpMbHiddenFaces< PolygonType >::operator[] ( const unsigned int  i) const
inline

operator[] as reader.

Definition at line 163 of file vpMbHiddenFaces.h.

template<class PolygonType >
void vpMbHiddenFaces< PolygonType >::reset ( )

Reset the Hidden faces (remove the list of PolygonType)

Definition at line 268 of file vpMbHiddenFaces.h.

Referenced by vpMbKltTracker::resetTracker(), and vpMbEdgeTracker::resetTracker().

template<class PolygonType = vpMbtPolygon>
void vpMbHiddenFaces< PolygonType >::setDepthTest ( const bool &  d)
inline

Set the depthTest value.

Parameters
d: New value.

Definition at line 172 of file vpMbHiddenFaces.h.

template<class PolygonType >
unsigned int vpMbHiddenFaces< PolygonType >::setVisible ( const vpHomogeneousMatrix _cMo)

Compute the number of visible polygons.

Parameters
_cMo: The pose of the camera
Returns
Return the number of visible polygons

Definition at line 251 of file vpMbHiddenFaces.h.

Referenced by vpMbKltTracker::init(), vpMbKltTracker::postTracking(), vpMbKltTracker::setPose(), and vpMbEdgeTracker::visibleFace().

template<class PolygonType >
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.

Parameters
_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 apparition and disparition of a face.
changed: True if a face appeared, disappeared or too many points have been lost. False otherwise
Returns
Return the number of visible polygons

Definition at line 397 of file vpMbHiddenFaces.h.

template<class PolygonType >
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.

Parameters
_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 apparition of a face
angleDisappears: Angle used to test the disparition of a face
Returns
Return the number of visible polygons

Definition at line 416 of file vpMbHiddenFaces.h.

template<class PolygonType >
unsigned int vpMbHiddenFaces< PolygonType >::setVisible ( const vpHomogeneousMatrix _cMo,
const double &  angleAppears,
const double &  angleDisappears,
bool &  changed 
)

Compute the number of visible polygons.

Parameters
_cMo: The pose of the camera
angleAppears: Angle used to test the apparition of a face
angleDisappears: Angle used to test the disparition of a face
changed: True if a face appeared, disappeared or too many points have been lost. False otherwise
Returns
Return the number of visible polygons

Definition at line 433 of file vpMbHiddenFaces.h.

template<class PolygonType >
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.

Parameters
_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 apparition of a face
angleDisappears: Angle used to test the disparition of a face
Returns
Return the number of visible polygons

Definition at line 509 of file vpMbHiddenFaces.h.

Referenced by vpMbKltTracker::init(), vpMbKltTracker::postTracking(), vpMbKltTracker::setPose(), and vpMbEdgeTracker::visibleFace().

template<class PolygonType >
unsigned int vpMbHiddenFaces< PolygonType >::setVisibleOgre ( const vpHomogeneousMatrix _cMo,
const double &  angleAppears,
const double &  angleDisappears,
bool &  changed 
)

Compute the number of visible polygons through Ogre3D.

Parameters
_cMo: The pose of the camera
angleAppears: Angle used to test the apparition of a face
angleDisappears: Angle used to test the disparition of a face
changed: True if a face appeared, disappeared or too many points have been lost. False otherwise
Returns
Return the number of visible polygons

Definition at line 526 of file vpMbHiddenFaces.h.