|
Candy
|
The adaptive smoothing tracker filter reorders the tracker data and interpolates with the data previously provided to smooth out noise. More...
Classes | |
| struct | FilteredId |
| struct | FilteredOrientation |
| struct | FilteredPoints |
| struct | FilteredPosition |
| struct | FilteredVelocity |
| struct | point |
Public Member Functions | |
| AdaptiveSmoothingTrackerFilter (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< FilteredPosition > _trackerPosition=0, H3D::Inst< FilteredOrientation > _trackerOrientation=0, H3D::Inst< SFTrackerNode > _tracker=0, H3D::Inst< FilteredPoints > _points=0, H3D::Inst< FilteredId > _trackerId=0, H3D::Inst< FilteredVelocity > _trackerVelocity=0, H3D::Inst< H3D::SFInt32 > _historySamples=0, H3D::Inst< H3D::SFFloat > _historyTime=0, H3D::Inst< H3D::SFFloat > _errorThreshold=0, H3D::Inst< H3D::SFVec2f > _filterRange=0, H3D::Inst< H3D::SFFloat > _cutoffRange=0, H3D::Inst< H3D::SFVec2f > _positionBlending=0, H3D::Inst< H3D::SFVec2f > _orientationBlending=0, H3D::Inst< H3D::SFBool > _extrapolatePosition=0, H3D::Inst< H3D::SFFloat > _birthDelay=0, H3D::Inst< H3D::SFFloat > _deathDelay=0) | |
Public Member Functions inherited from HVR::HVRTrackerFilterNode | |
| HVRTrackerFilterNode (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, H3D::Inst< SFTrackerNode > _tracker=0) | |
Public Member Functions inherited from HVR::HVRTrackerNode | |
| 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< FilteredId > | trackerId |
The id associated with each point. More... | |
| std::auto_ptr< FilteredVelocity > | trackerVelocity |
The velocity associated with each point. More... | |
| std::auto_ptr< H3D::SFInt32 > | historySamples |
The number of position samples to save, which are used in the velocity estimation. More... | |
| std::auto_ptr< H3D::SFFloat > | historyTime |
How old position samples to save. More... | |
| std::auto_ptr< H3D::SFFloat > | errorThreshold |
An estimate of the position tracking error, which is used in the velocity estimation. More... | |
| std::auto_ptr< H3D::SFVec2f > | filterRange |
The distances between the old sample and a new sample to consider close or distant, respectively. More... | |
| std::auto_ptr< H3D::SFFloat > | cutoffRange |
The distance between an old sample and a new sample that is far enough to not be treated as the sample tracked point. More... | |
| std::auto_ptr< H3D::SFVec2f > | positionBlending |
How much new sample data to blend in (0-1) for close or distant samples, respectively. More... | |
| std::auto_ptr< H3D::SFVec2f > | orientationBlending |
How much new sample data to blend in (0-1) for close or distant samples, respectively. More... | |
| std::auto_ptr< H3D::SFBool > | extrapolatePosition |
(true) When true the last position is extrapolated using the last velocity estimation when a sample is not updated (because there are no new data) but still not dead (because deathDelay has not been reached). More... | |
| std::auto_ptr< H3D::SFFloat > | birthDelay |
How many seconds to wait before a new point qualifies as a tracker point. More... | |
| std::auto_ptr< H3D::SFFloat > | deathDelay |
How many seconds to wait before removing a point that is not being updated. More... | |
Public Attributes inherited from HVR::HVRTrackerFilterNode | |
| std::auto_ptr< SFTrackerNode > | tracker |
The HVRTrackerNode tracker to filter data from. More... | |
Public Attributes inherited from HVR::HVRTrackerNode | |
| std::auto_ptr< H3D::MFVec3f > | rawPosition |
The position data as defined by the tracker in its own coordinate system. More... | |
| std::auto_ptr< H3D::MFRotation > | rawOrientation |
The orientation data as defined by the tracker in its own coordinate system. More... | |
| std::auto_ptr< CalibratedMatrix > | trackerMatrix |
The calibrated tracker data in MFMatrix4f matrix form, encoding both position and orientation. More... | |
| std::auto_ptr< H3D::MFVec3f > | trackerPosition |
The calibrated tracker position data. More... | |
| std::auto_ptr< H3D::MFRotation > | trackerOrientation |
The calibrated tracker orientation data. More... | |
Static Public Attributes | |
| static H3D::H3DNodeDatabase | database |
Static Public Attributes inherited from HVR::HVRTrackerFilterNode | |
| static H3D::H3DNodeDatabase | database |
Static Public Attributes inherited from HVR::HVRTrackerNode | |
| static H3D::H3DNodeDatabase | database |
Protected Types | |
| typedef H3D::MField< point > | MFPoint |
Protected Member Functions | |
| virtual void | connect_tracker (HVRTrackerNode *) |
| virtual void | disconnect_tracker (HVRTrackerNode *) |
Protected Member Functions inherited from HVR::HVRTrackerNode | |
| 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< FilteredPoints > | points |
The adaptive smoothing tracker filter reorders the tracker data and interpolates with the data previously provided to smooth out noise.
Use filter range and filter blending to control how far away the samples to blend may be and how much old and new data to use, respectively.
| std::auto_ptr< H3D::SFFloat > HVR::AdaptiveSmoothingTrackerFilter::birthDelay |
How many seconds to wait before a new point qualifies as a tracker point.
| std::auto_ptr< H3D::SFFloat > HVR::AdaptiveSmoothingTrackerFilter::cutoffRange |
The distance between an old sample and a new sample that is far enough to not be treated as the sample tracked point.
| std::auto_ptr< H3D::SFFloat > HVR::AdaptiveSmoothingTrackerFilter::deathDelay |
How many seconds to wait before removing a point that is not being updated.
| std::auto_ptr< H3D::SFFloat > HVR::AdaptiveSmoothingTrackerFilter::errorThreshold |
An estimate of the position tracking error, which is used in the velocity estimation.
| std::auto_ptr< H3D::SFBool > HVR::AdaptiveSmoothingTrackerFilter::extrapolatePosition |
(true) When true the last position is extrapolated using the last velocity estimation when a sample is not updated (because there are no new data) but still not dead (because deathDelay has not been reached).
| std::auto_ptr< H3D::SFVec2f > HVR::AdaptiveSmoothingTrackerFilter::filterRange |
The distances between the old sample and a new sample to consider close or distant, respectively.
| std::auto_ptr< H3D::SFInt32 > HVR::AdaptiveSmoothingTrackerFilter::historySamples |
The number of position samples to save, which are used in the velocity estimation.
| std::auto_ptr< H3D::SFFloat > HVR::AdaptiveSmoothingTrackerFilter::historyTime |
How old position samples to save.
| std::auto_ptr< H3D::SFVec2f > HVR::AdaptiveSmoothingTrackerFilter::orientationBlending |
How much new sample data to blend in (0-1) for close or distant samples, respectively.
Far and close are defined by the filterRange field.
| std::auto_ptr< H3D::SFVec2f > HVR::AdaptiveSmoothingTrackerFilter::positionBlending |
How much new sample data to blend in (0-1) for close or distant samples, respectively.
Far and close are defined by the filterRange field.
| std::auto_ptr< FilteredId > HVR::AdaptiveSmoothingTrackerFilter::trackerId |
The id associated with each point.
This list is of the same length as the trackerPosition and trackerOrientation fields.
| std::auto_ptr< FilteredVelocity > HVR::AdaptiveSmoothingTrackerFilter::trackerVelocity |
The velocity associated with each point.
This list is of the same length as the trackerPosition and trackerOrientation fields. The velocity is estimated using end-fit-first-order-adaptive-window (end-fit-FOAW) of a history of position samples. Samples are only taken upon request so make sure to call getValue() every frame to get accurate velocity measures.
1.8.6