H3D API
2.4.1
|
The StereoInfo nis a bindable node that contains information used when rendering the scene in stereo. More...
#include <H3D/StereoInfo.h>
Public Member Functions | |
StereoInfo (Inst< SFSetBind > _set_bind=0, Inst< SFNode > _metadata=0, Inst< SFTime > _bindTime=0, Inst< SFBool > _isBound=0, Inst< SFFloat > _interocularDistance=0, Inst< SFFloat > _focalDistance=0, Inst< SFRotation > _headTilt=0, Inst< SFFloat > _matrixViewShift=0, Inst< SFFloat > _matrixProjShift=0, Inst< SFBool > _swapEyes=0) | |
Constructor. | |
void | updateViewShift (float _matrixViewShift) |
Function for updating the matrixViewShift. | |
void | updateProjShift (float _matrixProjShift) |
Function for updating the matrixProjShift. | |
![]() | |
X3DBindableNode (const string &_bindable_stack_name, Inst< SFSetBind > _set_bind=0, Inst< SFNode > _metadata=0, Inst< SFTime > _bindTime=0, Inst< SFBool > _isBound=0) | |
Constructor. | |
virtual | ~X3DBindableNode () |
Destructor. | |
virtual void | initialize () |
Initialize this bindable stack, toStackTop is done. | |
virtual void | toStackTop () |
Move this instance to the stack top. | |
virtual void | removeFromStack () |
Remove the bindable node from the stack. | |
bool | isStackTop () |
Is this node at the top of the stack. | |
![]() | |
X3DChildNode (Inst< SFNode > _metadata=0) | |
Constructor. | |
![]() | |
X3DNode (Inst< SFNode > _metadata=0) | |
Constructor. | |
X3DMetadataObject * | getMetadataByName (const string &_name) |
Given a name, the first X3DMetadataObject in the metadata field that matches that name is returned. More... | |
![]() | |
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 string | defaultXMLContainerField () |
Returns the default xml containerField attribute value. 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... | |
Static Public Member Functions | |
static StereoInfo * | getActive () |
Convenience function to get the top of the StereoInfo stack. | |
![]() | |
static X3DBindableNode * | getActive (const string &bindable_stack_name) |
Returns the active bindable instance, i.e. More... | |
static const StackType & | getStack (const string &bindable_stack_name) |
Get the stack for a given name. | |
static const StackMapType & | getStackMap () |
Return the map of all bindable nodes available. | |
![]() | |
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. | |
Public Attributes | |
H3DUniquePtr< SFFloat > | interocularDistance |
The interocularDistance field specifies eye separation distance in metres, e.g. More... | |
H3DUniquePtr< SFFloat > | focalDistance |
The focalDistance field specifies the distance in meters at which objects in the scene will appear to be at zero parallax. More... | |
H3DUniquePtr< SFRotation > | headTilt |
The headTilt field specifies how the head is oriented in relation to to the current X3DViewpointNode viewing direction. More... | |
H3DUniquePtr< SFFloat > | matrixViewShift |
The matrixViewShift field specifies the view matrix stereo shift. More... | |
H3DUniquePtr< SFFloat > | matrixProjShift |
The matrixViewShift field specifies the projection matrix stereo shift. More... | |
H3DUniquePtr< SFBool > | swapEyes |
The swapEyes field specifies if the eyes should be swapped in the current stereo mode. More... | |
![]() | |
H3DUniquePtr< SFSetBind > | set_bind |
Input field to bind or unbind the node. More... | |
H3DUniquePtr< SFTime > | bindTime |
The bindTime field is the time at which the Viewpoint node is bound or unbound. More... | |
H3DUniquePtr< SFBool > | isBound |
Output field telling if this node is bound or not. More... | |
![]() | |
H3DUniquePtr< SFNode > | metadata |
Meta data about the node. More... | |
Static Public Attributes | |
static H3DNodeDatabase | database |
The H3DNodeDatabase for this node. | |
![]() | |
static H3DNodeDatabase | database |
The H3DNodedatabase for this node. | |
![]() | |
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. | |
![]() | |
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... | |
![]() | |
static StackMapType | stack |
The bindable stack. | |
The StereoInfo nis a bindable node that contains information used when rendering the scene in stereo.
The interocularDistance field specifies eye separation distance in metres, e.g. the distance between your two eyes.
The focalDistance field specifies the distance in metres at which objects in the scene will appear to be at zero parallax.
Examples:
H3DUniquePtr< SFFloat > H3D::StereoInfo::focalDistance |
The focalDistance field specifies the distance in meters at which objects in the scene will appear to be at zero parallax.
Access type: inputOutput
Default value: 0.6
Referenced by H3D::H3DWindowNode::render(), and StereoInfo().
H3DUniquePtr< SFRotation > H3D::StereoInfo::headTilt |
The headTilt field specifies how the head is oriented in relation to to the current X3DViewpointNode viewing direction.
The rotation is specified in local coordinate space of the viewpoint with the viewing direction being along the negative z axis and up begin positive y.
Access type: inputOutput
Default value: Rotation(1,0,0,0)
Referenced by H3D::X3DViewpointNode::setupViewMatrix(), and StereoInfo().
H3DUniquePtr< SFFloat > H3D::StereoInfo::interocularDistance |
The interocularDistance field specifies eye separation distance in metres, e.g.
the distance between your two eyes.
Access type: inputOutput
Default value: 0.06
Referenced by H3D::X3DViewpointNode::setupViewMatrix(), and StereoInfo().
H3DUniquePtr< SFFloat > H3D::StereoInfo::matrixProjShift |
The matrixViewShift field specifies the projection matrix stereo shift.
Access type: inputOutput
Default value: 0.0
Referenced by StereoInfo(), and updateProjShift().
H3DUniquePtr< SFFloat > H3D::StereoInfo::matrixViewShift |
The matrixViewShift field specifies the view matrix stereo shift.
Access type: inputOutput
Default value: 0.03
Referenced by H3D::X3DViewpointNode::setupViewMatrix(), StereoInfo(), and updateViewShift().
H3DUniquePtr< SFBool > H3D::StereoInfo::swapEyes |
The swapEyes field specifies if the eyes should be swapped in the current stereo mode.
This will make the image for the left eye appear in the place that normally used for right eye
Access type: inputOutput
Default value: false
Referenced by H3D::H3DWindowNode::render(), and StereoInfo().