H3D API
2.4.1
|
The MagneticSurface is a surface where the proxy is attracted to the surface, and forces are generated in order to keep the proxy on the surface. More...
#include <H3D/MagneticSurface.h>
Classes | |
class | UpdateDamping |
Specialized field which sets the damping variable in HAPI::OpenHapticsRenderer::OpenHapticsSurface when the damping field of MagneticSurface is changed. More... | |
class | UpdateDynamicFriction |
Specialized field which sets the dynamic_friction variable in HAPI::OpenHapticsRenderer::OpenHapticsSurface when the dynamicFriction field of MagneticSurface is changed. More... | |
class | UpdateSnapDistance |
Specialized field which sets the snap_distance variable in HAPI::OpenHapticsRenderer::OpenHapticsSurface when the snapDistance field of MagneticSurface is changed. More... | |
class | UpdateStaticFriction |
Specialized field which sets the static_friction variable in HAPI::OpenHapticsRenderer::OpenHapticsSurface when the staticFriction field of MagneticSurface is changed. More... | |
class | UpdateStiffness |
Specialized field which sets the stiffness variable in HAPI::OpenHapticsRenderer::OpenHapticsSurface when the stiffness field of SmoothSurface is changed. More... | |
Public Member Functions | |
MagneticSurface (Inst< UpdateStiffness > _stiffness=0, Inst< UpdateDamping > _damping=0, Inst< UpdateStaticFriction > _staticFriction=0, Inst< UpdateDynamicFriction > _dynamicFriction=0, Inst< UpdateSnapDistance > _snapDistance=0) | |
Constructor. | |
![]() | |
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. | |
![]() | |
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< UpdateStiffness > | stiffness |
The stiffness of the surface. More... | |
H3DUniquePtr< UpdateDamping > | damping |
The velocity based damping of the surface. More... | |
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... | |
H3DUniquePtr< UpdateSnapDistance > | snapDistance |
The distance from the surface within which forces are generated to pull the proxy towards the surface. More... | |
Static Public Attributes | |
static H3DNodeDatabase | database |
The H3DNodeDatabase for this node. | |
Additional Inherited Members | |
![]() | |
typedef std::map< Node *, Node * > | DeepCopyMap |
A map type used during a deep copy clone() to map from original nodes to cloned nodes. | |
![]() | |
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. | |
![]() | |
void | cloneFieldValue (Field &_from, Field &_to, bool deepCopy, DeepCopyMap &deepCopyMap) |
A helper function for the clone() method. More... | |
![]() | |
static Node * | getClonedInstance (Node *original, bool deepCopy, DeepCopyMap &deepCopyMap) |
A helper function for nodes that implement clone() More... | |
The MagneticSurface is a surface where the proxy is attracted to the surface, and forces are generated in order to keep the proxy on the surface.
The snapDistance field defines a distance in meters from the surface within which forces are generated to pull the proxy towards the surface. If the device is pulled outside this distance from the surface it will be freed from the magnetic attraction.
Examples:
H3DUniquePtr< UpdateDamping > H3D::MagneticSurface::damping |
The velocity based damping of the surface.
Should be a value between 0 and 1 where 1 is the maximum damping the haptics device can handle.
Access type: inputOutput
Default value: 0
Value range: [0-1]
Referenced by MagneticSurface().
H3DUniquePtr< UpdateDynamicFriction > H3D::MagneticSurface::dynamicFriction |
The friction that is experienced when moving along the surface the surface.
Access type: inputOutput
Default value: 0.4
Value range: [0-1]
Referenced by MagneticSurface().
H3DUniquePtr< UpdateSnapDistance > H3D::MagneticSurface::snapDistance |
The distance from the surface within which forces are generated to pull the proxy towards the surface.
If the device is pulled outside this distance from the surface it will be freed from the magnetic attraction.
Access type: inputOutput
Default value: 0.01
Referenced by MagneticSurface().
H3DUniquePtr< UpdateStaticFriction > H3D::MagneticSurface::staticFriction |
The friction that is experienced upon initial movement when resting on the surface.
Access type: inputOutput
Default value: 0.1
Value range: [0-1]
Referenced by MagneticSurface().
H3DUniquePtr< UpdateStiffness > H3D::MagneticSurface::stiffness |
The stiffness of the surface.
Should be a value between 0 and 1 where 1 is the maximum stiffness the haptics device can handle.
Access type: inputOutput
Default value: 0.5
Value range: [0-1]
Referenced by MagneticSurface().