Candy
|
The depth data object tracker uses depth data from a depth camera to track a free floating object, such as the head of a person that a Kinect is filming from above. More...
Classes | |
struct | SFDepthCamera |
Public Types | |
typedef H3D::H3DImageObject::SFImage | SFImage |
typedef H3D::TypedSFNode < Candy::PaintTexture > | SFPaintTexture |
Public Member Functions | |
DepthDataExtremeTracker (H3D::Inst< H3D::SFNode > _metadata=0, H3D::Inst< MFPosition > _rawPosition=0, H3D::Inst< MFOrientation > _rawOrientation=0, H3D::Inst< CalibratedMatrix > _trackerMatrix=0, H3D::Inst< TrackerPosition > _trackerPosition=0, H3D::Inst< TrackerOrientation > _trackerOrientation=0, H3D::Inst< MFMappingNode > _mapping=0, H3D::Inst< Processor > _processor=0, H3D::Inst< SFImage > _depthData=0, H3D::Inst< SFImage > _positionData=0, H3D::Inst< SFImage > _depthDataBackground=0, H3D::Inst< SFPaintTexture > _debugTexture=0, H3D::Inst< SFDepthCamera > _depthCamera=0, H3D::Inst< H3D::SFVec3f > _extremeDirection=0, H3D::Inst< H3D::SFFloat > _overshadowAngle=0, H3D::Inst< H3D::SFFloat > _minimumDistance=0, H3D::Inst< H3D::SFInt32 > _averagingRegionWidth=0, H3D::Inst< H3D::SFFloat > _averagingRegionDepth=0) | |
![]() | |
HVRPullUpdatedTrackerNode (H3D::Inst< H3D::SFNode > _metadata=0, H3D::Inst< MFPosition > _rawPosition=0, H3D::Inst< MFOrientation > _rawOrientation=0, H3D::Inst< CalibratedMatrix > _trackerMatrix=0, H3D::Inst< TrackerPosition > _trackerPosition=0, H3D::Inst< TrackerOrientation > _trackerOrientation=0, H3D::Inst< MFMappingNode > _mapping=0, H3D::Inst< Processor > _processor=0) | |
![]() | |
HVRMappedTrackerNode (H3D::Inst< H3D::SFNode > _metadata=0, H3D::Inst< H3D::MFVec3f > _rawPosition=0, H3D::Inst< H3D::MFRotation > _rawOrientation=0, H3D::Inst< CalibratedMatrix > _trackerMatrix=0, H3D::Inst< TrackerPosition > _trackerPosition=0, H3D::Inst< TrackerOrientation > _trackerOrientation=0, H3D::Inst< MFMappingNode > _mapping=0, H3D::Inst< MFTrackerPoint > _trackerPoint=0) | |
![]() | |
HVRTrackerNode (H3D::Inst< H3D::SFNode > _metadata=0, H3D::Inst< H3D::MFVec3f > _rawPosition=0, H3D::Inst< H3D::MFRotation > _rawOrientation=0, H3D::Inst< CalibratedMatrix > _trackerMatrix=0, H3D::Inst< H3D::MFVec3f > _trackerPosition=0, H3D::Inst< H3D::MFRotation > _trackerOrientation=0) | |
virtual std::string | defaultXMLContainerField () |
Public Attributes | |
std::auto_ptr< SFPaintTexture > | debugTexture |
![]() | |
std::auto_ptr< SFDepthCamera > | depthCamera |
![]() | |
std::auto_ptr< H3D::SFVec3f > | extremeDirection |
![]() | |
std::auto_ptr< H3D::SFFloat > | overshadowAngle |
![]() | |
std::auto_ptr< H3D::SFFloat > | minimumDistance |
![]() | |
std::auto_ptr< H3D::SFInt32 > | averagingRegionWidth |
![]() | |
std::auto_ptr< H3D::SFFloat > | averagingRegionDepth |
![]() | |
![]() | |
struct HVR_API | Point |
std::auto_ptr< MFMappingNode > | mapping |
![]() | |
![]() | |
std::auto_ptr< H3D::MFVec3f > | rawPosition |
![]() | |
std::auto_ptr< H3D::MFRotation > | rawOrientation |
![]() | |
std::auto_ptr< CalibratedMatrix > | trackerMatrix |
![]() | |
std::auto_ptr< H3D::MFVec3f > | trackerPosition |
![]() | |
std::auto_ptr< H3D::MFRotation > | trackerOrientation |
![]() | |
Static Public Attributes | |
static H3D::H3DNodeDatabase | database |
![]() | |
static H3D::H3DNodeDatabase | database |
![]() | |
static H3D::H3DNodeDatabase | database |
![]() | |
static H3D::H3DNodeDatabase | database |
Protected Member Functions | |
void | update () |
![]() | |
void | updateRawMatrix (const std::vector< H3D::Matrix4f > &m) |
Call this function to update the tracker data. More... | |
void | updateRawPositionOrientation (const std::vector< H3D::Vec3f > &x, const std::vector< H3D::Rotation > &r) |
Call this function to update the tracker data. More... | |
Protected Attributes | |
std::auto_ptr< SFImage > | depthData |
std::auto_ptr< SFImage > | positionData |
std::auto_ptr< SFImage > | depthDataBackground |
![]() | |
std::auto_ptr< Processor > | processor |
Calls the update function when new position or orientation data are needed. More... | |
![]() | |
struct HVR_API | MFTrackerPoint |
std::auto_ptr< MFTrackerPoint > | trackerPoint |
Friends | |
struct | SFDepthCamera |
Additional Inherited Members | |
![]() | |
typedef H3D::MField< Point > | MFPoint |
typedef H3D::TypedMFNode < HVRMappingNode > | MFMappingNode |
The depth data object tracker uses depth data from a depth camera to track a free floating object, such as the head of a person that a Kinect is filming from above.
std::auto_ptr< H3D::SFFloat > HVR::DepthDataExtremeTracker::averagingRegionDepth |
The depth, in meters, to consider part of the region to use for averaging the position.
std::auto_ptr< H3D::SFInt32 > HVR::DepthDataExtremeTracker::averagingRegionWidth |
The size, in pixels, of the region to use for averaging the position.
If zero, the default, no averaging is used.
std::auto_ptr< SFPaintTexture > HVR::DepthDataExtremeTracker::debugTexture |
This texture will not be cleared between frames, since many trackers may be drawing to the same texture.
Add the same texture to the depth camera node to reset and fill with the depth image.
std::auto_ptr< SFDepthCamera > HVR::DepthDataExtremeTracker::depthCamera |
The camera to read the depth data from.
std::auto_ptr< H3D::SFVec3f > HVR::DepthDataExtremeTracker::extremeDirection |
This tracker will search for the most extreme point in the direction indicated by this fields value.
std::auto_ptr< H3D::SFFloat > HVR::DepthDataExtremeTracker::minimumDistance |
This is the minimum distance allowed between extreme points.
If set to zero, all points are considered. If set to -1, only the single most extreme point is considered.
std::auto_ptr< H3D::SFFloat > HVR::DepthDataExtremeTracker::overshadowAngle |
This is the angle from one extreme point at which it overshadows other extremes.
The default is 0.78 radians (= 45 degrees).