|
H3D API
2.4.1
|
Uses a 2D texture to modify the depth of the surface. More...
#include <H3D/DepthMapSurface.h>

Classes | |
| class | SetImagePtr |
| Field used to transfer the routed image to the HAPISurfaceObject. More... | |
| class | SFTexture2DNode |
| Field that contains an X3DTexture2DNode. More... | |
Public Member Functions | |
| DepthMapSurface (Inst< UpdateStiffness > _stiffness=0, Inst< UpdateDamping > _damping=0, Inst< UpdateStaticFriction > _staticFriction=0, Inst< UpdateDynamicFriction > _dynamicFriction=0, Inst< SFBool > _useRelativeValues=0, Inst< SFTexture2DNode > _depthMap=0, Inst< SFFloat > _maxDepth=0, Inst< SFBool > _whiteIsOut=0) | |
| Constructor. | |
| virtual void | initialize () |
| Initialize the variables. More... | |
Public Member Functions inherited from H3D::H3DFrictionalSurfaceNode | |
| H3DFrictionalSurfaceNode (Inst< UpdateStiffness > _stiffness=0, Inst< UpdateDamping > _damping=0, Inst< UpdateStaticFriction > _staticFriction=0, Inst< UpdateDynamicFriction > _dynamicFriction=0, Inst< SFBool > _useRelativeValues=0) | |
| Constructor. | |
Public Member Functions inherited from H3D::H3DStiffnessSurfaceNode | |
| H3DStiffnessSurfaceNode (Inst< UpdateStiffness > _stiffness=0, Inst< UpdateDamping > _damping=0, Inst< SFBool > _useRelativeValues=0) | |
| Constructor. | |
Public Member Functions inherited from H3D::H3DSurfaceNode | |
| H3DSurfaceNode () | |
| Constructor. | |
| virtual string | defaultXMLContainerField () |
| Returns the default xml containerField attribute value. More... | |
| virtual HAPI::HAPISurfaceObject * | getSurface (unsigned int=0) |
| Get the surface to use for the haptics device with the specified index. | |
Public Member Functions inherited from H3D::Node | |
| Node () | |
| Constructor. | |
| virtual Node * | clone (bool deepCopy=true, DeepCopyMap *deepCopyMap=NULL) |
| Returns a new instance of this node type with the same state as this one. More... | |
| virtual | ~Node () |
| Destructor. | |
| X3DPrototypeInstance * | getProtoInstanceParent () |
| If this node is the root node in the proto body of a X3DPrototypeInstance then this will return that node. More... | |
| void | setProtoInstanceParent (X3DPrototypeInstance *p) |
| Set the X3DPrototypeInstance this node is the the root node if applicaple. | |
| virtual void | render () |
| the render() function is used for the depth-first rendering traversal of the scene-graph. More... | |
| virtual void | traverseSG (TraverseInfo &ti) |
| traverseSG is called once per scenegraph loop on the scene in order to traverse the scenegraph. More... | |
| virtual bool | lineIntersect (const Vec3f &from, const Vec3f &to, LineIntersectResult &result) |
| Detect intersection between a line segment and the Node. More... | |
| virtual void | closestPoint (const Vec3f &p, NodeIntersectResult &result) |
| Find closest point on Node to p. More... | |
| virtual bool | movingSphereIntersect (H3DFloat radius, const Vec3f &from, const Vec3f &to, NodeIntersectResult &result) |
| Detect collision between a moving sphere and the Node. More... | |
| virtual Field * | getField (const string &_name) const |
| return a pointer to the field specified by name within this instance | |
| int | addDestructCallback (void(*func)(Node *, void *), void *args) |
| Add a callback function to be run on destruction of node. More... | |
| int | removeDestructCallback (void(*func)(Node *, void *), void *args) |
| Add a callback function to be run on destruction of node. More... | |
Public Attributes | |
| H3DUniquePtr< SFTexture2DNode > | depthMap |
| The texture used as depthMap. More... | |
| H3DUniquePtr< SFFloat > | maxDepth |
| The maximum difference in meter between totally black and totally white in the image. More... | |
| H3DUniquePtr< SFBool > | whiteIsOut |
| If this parameter is true then white will be out from surface and black will be in. More... | |
Public Attributes inherited from H3D::H3DFrictionalSurfaceNode | |
| H3DUniquePtr< UpdateStaticFriction > | staticFriction |
| The friction that is experienced upon initial movement when resting on the surface. More... | |
| H3DUniquePtr< UpdateDynamicFriction > | dynamicFriction |
| The friction that is experienced when moving along the surface the surface. More... | |
Public Attributes inherited from H3D::H3DStiffnessSurfaceNode | |
| H3DUniquePtr< UpdateStiffness > | stiffness |
| The stiffness of the surface. More... | |
| H3DUniquePtr< UpdateDamping > | damping |
| The velocity based damping of the surface. More... | |
| H3DUniquePtr< SFBool > | useRelativeValues |
| If false then values (such as stiffness) is in absolute values with SI units or equivalent. More... | |
Static Public Attributes | |
| static H3DNodeDatabase | database |
| The H3DNodeDatabase for this node. | |
Static Public Attributes inherited from H3D::H3DFrictionalSurfaceNode | |
| static H3DNodeDatabase | database |
| The H3DNodeDatabase for this node. | |
Static Public Attributes inherited from H3D::H3DStiffnessSurfaceNode | |
| static H3DNodeDatabase | database |
| The H3DNodeDatabase for this node. | |
Protected Attributes | |
| H3DUniquePtr< SetImagePtr > | setImagePtr |
| Used to update the image pointer in HAPISurfaceObject. | |
Additional Inherited Members | |
Public Types inherited from H3D::Node | |
| typedef std::map< Node *, Node * > | DeepCopyMap |
| A map type used during a deep copy clone() to map from original nodes to cloned nodes. | |
Static Public Member Functions inherited from H3D::Node | |
| static unsigned int | nrNodesAlive () |
| Returns the nr of nodes currently alive, i.e. nodes created but not destructed. | |
| static int | nrNodesCreated () |
| Returns the number of nodes created in total since the start of the program. | |
Protected Member Functions inherited from H3D::Node | |
| void | cloneFieldValue (Field &_from, Field &_to, bool deepCopy, DeepCopyMap &deepCopyMap) |
| A helper function for the clone() method. More... | |
Static Protected Member Functions inherited from H3D::Node | |
| static Node * | getClonedInstance (Node *original, bool deepCopy, DeepCopyMap &deepCopyMap) |
| A helper function for nodes that implement clone() More... | |
Uses a 2D texture to modify the depth of the surface.
For best performance the texture should be a 8-bit grayscale image. The user will be able to feel the edges between white and black in the surface using the haptics device and each gray-scale value will correspond to a depth that the user will feel. Non-gray-scale images will use the red channel to modify depth.
Examples:
|
virtual |
Initialize the variables.
Creates the HAPISurfaceObject used for this this node.
Reimplemented from H3DUtil::RefCountedClass.
References H3D::TextureProperties::boundaryModeR, H3D::TextureProperties::boundaryModeS, H3D::TextureProperties::boundaryModeT, H3D::H3DStiffnessSurfaceNode::damping, depthMap, H3D::H3DFrictionalSurfaceNode::dynamicFriction, H3D::H3DImageObject::image, H3DUtil::RefCountedClass::initialize(), maxDepth, H3D::X3DTexture2DNode::repeatS, H3D::X3DTexture2DNode::repeatT, H3DUtil::AutoRef< class >::reset(), H3D::H3DFrictionalSurfaceNode::staticFriction, H3D::H3DStiffnessSurfaceNode::stiffness, H3D::X3DTexture2DNode::textureProperties, H3D::H3DStiffnessSurfaceNode::useRelativeValues, and whiteIsOut.
| H3DUniquePtr< SFTexture2DNode > H3D::DepthMapSurface::depthMap |
| H3DUniquePtr< SFFloat > H3D::DepthMapSurface::maxDepth |
The maximum difference in meter between totally black and totally white in the image.
Access type: inputOutput Default value: 0.001
Referenced by DepthMapSurface(), and initialize().
| H3DUniquePtr< SFBool > H3D::DepthMapSurface::whiteIsOut |
If this parameter is true then white will be out from surface and black will be in.
If the parameter is false the it is the opposite.
Access type: inputOutput Default value: true
Referenced by DepthMapSurface(), and initialize().