NITE 1.5.1 - API Reference
|
#include <XnVPointArea.h>
Public Types | |
typedef void(XN_CALLBACK_TYPE * | PointSilencedCB )(XnUInt32 nID, void *cxt) |
typedef void(XN_CALLBACK_TYPE * | PointRevivedCB )(XnUInt32 nID, void *cxt) |
typedef void(XN_CALLBACK_TYPE * | SilentPointRemovedCB )(XnUInt32 nID, void *cxt) |
Public Member Functions | |
XnVPointArea (const XnBoundingBox3D &bbArea, XnBool bRelative=false, const XnChar *strName="XnVPointArea") | |
XnVPointArea (const XnPoint3D &ptMins, const XnPoint3D &ptMaxs, XnBool bRelative=false, const XnChar *strName="XnVPointArea") | |
virtual | ~XnVPointArea () |
void | ChangeArea (const XnBoundingBox3D &bbArea, XnBool bRelative=false) |
void | ChangeArea (const XnPoint3D &ptMins, const XnPoint3D &ptMaxs, XnBool bRelative=false) |
void | Update (XnVMessage *pMessage) |
void | Update (const XnVMultipleHands &hands) |
XnCallbackHandle | RegisterPointSilenced (void *cxt, PointSilencedCB CB) |
XnCallbackHandle | RegisterPointRevived (void *cxt, PointRevivedCB CB) |
XnCallbackHandle | RegisterSilentPointRemoved (void *cxt, SilentPointRemovedCB CB) |
void | UnregisterPointSilenced (XnCallbackHandle hCB) |
void | UnregisterPointRevived (XnCallbackHandle hCB) |
void | UnregisterSilentPointRemoved (XnCallbackHandle hCB) |
void | RemoveSilent (XnUInt64 nDelay, XnVSessionGenerator *pGenerator) |
void | RemoveSilent (XnUInt64 nDelay, XnVPointTracker *pTracker) |
Protected Member Functions | |
XnBool | InBoundingBox (const XnPoint3D &pt) const |
XnBool | IsSilent (XnUInt32 nID) const |
void | SilencePoint (XnUInt32 nID, XnFloat fTime) |
void | RevivePoint (XnUInt32 nID) |
XnStatus | CheckDelay (XnUInt32 nID, XnFloat fTime) |
void | ChangeConstantArea (const XnBoundingBox3D &bbArea) |
void | ChangeRelativeArea (const XnBoundingBox3D &bbArea) |
Protected Attributes | |
XnVMultipleHands | m_FilteredHands |
XnBoundingBox3D | m_bbArea |
XnBool | m_bRelative |
XnBoundingBox3D | m_bbRelativeArea |
XnVIntHash * | m_pSilentPoints |
XnVUintSpecificEvent * | m_pPointSilencedCBs |
XnVUintSpecificEvent * | m_pPointRevivedCBs |
XnVUintSpecificEvent * | m_pSilentPointRemovedCBs |
XnBool | m_bRemoveByGenerator |
XnBool | m_bRemoveByTracker |
XnVPointTracker * | m_pRemovingTracker |
XnVSessionGenerator * | m_pRemovingGenerator |
XnUInt64 | m_nRemovalDelay |
Defines a legal bounding box. Any point that goes outside it will seem to be lost to anyone further along the chain - it will be silenced by the PointArea. If a point is silent for more than a threshold, it will be removed from tracking (for real).
Definition at line 24 of file XnVPointArea.h.
typedef void(XN_CALLBACK_TYPE* XnVPointArea::PointRevivedCB)(XnUInt32 nID, void *cxt) |
Type for callbacks to be called when a previously silenced point is revived
Definition at line 35 of file XnVPointArea.h.
typedef void(XN_CALLBACK_TYPE* XnVPointArea::PointSilencedCB)(XnUInt32 nID, void *cxt) |
Type for callbacks to be called when a point is silenced
Definition at line 31 of file XnVPointArea.h.
typedef void(XN_CALLBACK_TYPE* XnVPointArea::SilentPointRemovedCB)(XnUInt32 nID, void *cxt) |
Type for callbacks to be called when a previously silenced point is really removed
Definition at line 39 of file XnVPointArea.h.
XnVPointArea::XnVPointArea | ( | const XnBoundingBox3D & | bbArea, |
XnBool | bRelative = false , |
||
const XnChar * | strName = "XnVPointArea" |
||
) |
Constructor. Create a new Point Area from a bounding box
[in] | bbArea | The area in which points are legal |
[in] | bRelative | TRUE if area is relative to focus point, FALSE if constant area |
[in] | strName | Name of the control, for log purposes. |
XnVPointArea::XnVPointArea | ( | const XnPoint3D & | ptMins, |
const XnPoint3D & | ptMaxs, | ||
XnBool | bRelative = false , |
||
const XnChar * | strName = "XnVPointArea" |
||
) |
Constructor. Create from two points, defining an axis-aligned 3d box.
[in] | ptMins | One of the points that define an axis-aligned 3D box |
[in] | ptMaxs | One of the points that define an axis-aligned 3D box |
[in] | bRelative | TRUE if area is relative to focus point, FALSE if constant area |
[in] | strName | The name of this Point Area, for Log use |
virtual XnVPointArea::~XnVPointArea | ( | ) | [virtual] |
Destructor - deallocate all internal data
void XnVPointArea::ChangeArea | ( | const XnBoundingBox3D & | bbArea, |
XnBool | bRelative = false |
||
) |
Change the area in which points are allowed to exist
[in] | bbArea | The 3D Real World coordinates |
[in] | bRelative | TRUE if area is relative to focus point, FALSE if constant area |
void XnVPointArea::ChangeArea | ( | const XnPoint3D & | ptMins, |
const XnPoint3D & | ptMaxs, | ||
XnBool | bRelative = false |
||
) |
Change the area in which points are allowed to exist
[in] | ptMins | One of the points that define an axis-aligned 3D box |
[in] | ptMaxs | One of the points that define an axis-aligned 3D box |
[in] | bRelative | TRUE if area is relative to focus point, FALSE if constant area |
void XnVPointArea::ChangeConstantArea | ( | const XnBoundingBox3D & | bbArea | ) | [protected] |
void XnVPointArea::ChangeRelativeArea | ( | const XnBoundingBox3D & | bbArea | ) | [protected] |
XnStatus XnVPointArea::CheckDelay | ( | XnUInt32 | nID, |
XnFloat | fTime | ||
) | [protected] |
XnBool XnVPointArea::InBoundingBox | ( | const XnPoint3D & | pt | ) | const [protected] |
XnBool XnVPointArea::IsSilent | ( | XnUInt32 | nID | ) | const [protected] |
XnCallbackHandle XnVPointArea::RegisterPointRevived | ( | void * | cxt, |
PointRevivedCB | CB | ||
) |
Register a callback for when a point is revived
[in] | cxt | User's context. The callback will be called with that context. |
[in] | CB | The Callback |
XnCallbackHandle XnVPointArea::RegisterPointSilenced | ( | void * | cxt, |
PointSilencedCB | CB | ||
) |
Register a callback for when a point is silenced
[in] | cxt | User's context. The callback will be called with that context. |
[in] | CB | The Callback |
XnCallbackHandle XnVPointArea::RegisterSilentPointRemoved | ( | void * | cxt, |
SilentPointRemovedCB | CB | ||
) |
Register a callback for when silent point is really removed
[in] | cxt | User's context. The callback will be called with that context. |
[in] | CB | The Callback |
void XnVPointArea::RemoveSilent | ( | XnUInt64 | nDelay, |
XnVSessionGenerator * | pGenerator | ||
) |
Remove silent points after some delay from a SessionGenerator
[in] | nDelay | The delay in milliseconds between silencing a point and removing it |
[in] | pGenerator | The SessionGenerator through which to remove the point |
void XnVPointArea::RemoveSilent | ( | XnUInt64 | nDelay, |
XnVPointTracker * | pTracker | ||
) |
Remove silent points after some delay from a PointTracker
[in] | nDelay | The delay in milliseconds between silencing a point and removing it |
[in] | pTracker | The PointTracker through which to remove the point |
void XnVPointArea::RevivePoint | ( | XnUInt32 | nID | ) | [protected] |
void XnVPointArea::SilencePoint | ( | XnUInt32 | nID, |
XnFloat | fTime | ||
) | [protected] |
void XnVPointArea::UnregisterPointRevived | ( | XnCallbackHandle | hCB | ) |
Unregister a callback for when a point is revived
[in] | hCB | The handle received when registering the callback. |
void XnVPointArea::UnregisterPointSilenced | ( | XnCallbackHandle | hCB | ) |
Unregister a callback for when a point is silenced
[in] | hCB | The handle received when registering the callback. |
void XnVPointArea::UnregisterSilentPointRemoved | ( | XnCallbackHandle | hCB | ) |
Unregister a callback for when silent point is really removed
[in] | hCB | The handle received when registering the callback. |
void XnVPointArea::Update | ( | XnVMessage * | pMessage | ) | [virtual] |
Handle a new Message (expected to be XnVPointMessage)
[in] | pMessage | The message to handle |
Reimplemented from XnVPointFilter.
void XnVPointArea::Update | ( | const XnVMultipleHands & | hands | ) | [virtual] |
Intersect points with internal area
[in] | hands | The existing hands |
Reimplemented from XnVPointControl.
XnBoundingBox3D XnVPointArea::m_bbArea [protected] |
Definition at line 167 of file XnVPointArea.h.
XnBoundingBox3D XnVPointArea::m_bbRelativeArea [protected] |
Definition at line 170 of file XnVPointArea.h.
XnBool XnVPointArea::m_bRelative [protected] |
Definition at line 169 of file XnVPointArea.h.
XnBool XnVPointArea::m_bRemoveByGenerator [protected] |
Definition at line 178 of file XnVPointArea.h.
XnBool XnVPointArea::m_bRemoveByTracker [protected] |
Definition at line 179 of file XnVPointArea.h.
XnVMultipleHands XnVPointArea::m_FilteredHands [protected] |
Definition at line 166 of file XnVPointArea.h.
XnUInt64 XnVPointArea::m_nRemovalDelay [protected] |
Definition at line 182 of file XnVPointArea.h.
XnVUintSpecificEvent* XnVPointArea::m_pPointRevivedCBs [protected] |
Definition at line 175 of file XnVPointArea.h.
XnVUintSpecificEvent* XnVPointArea::m_pPointSilencedCBs [protected] |
Definition at line 174 of file XnVPointArea.h.
XnVSessionGenerator* XnVPointArea::m_pRemovingGenerator [protected] |
Definition at line 181 of file XnVPointArea.h.
XnVPointTracker* XnVPointArea::m_pRemovingTracker [protected] |
Definition at line 180 of file XnVPointArea.h.
XnVUintSpecificEvent* XnVPointArea::m_pSilentPointRemovedCBs [protected] |
Definition at line 176 of file XnVPointArea.h.
XnVIntHash* XnVPointArea::m_pSilentPoints [protected] |
Definition at line 172 of file XnVPointArea.h.