H3D API  2.4.1
Classes | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
H3D::X3DSequencerNode Class Reference

This abstract node type is the base node type from which all Sequencers are derived. More...

#include <H3D/X3DSequencerNode.h>

Inheritance diagram for H3D::X3DSequencerNode:
Inheritance graph

Classes

class  KeyValues
 Each value in the keyValue field corresponds in order to the parameter value in the key field. More...
 
class  ValueChanged
 ValueChanged is a specialized class used to evaluate and set the value_changed field depending on the input to the class. More...
 

Public Member Functions

 X3DSequencerNode (Inst< SFNode > _metadata=0, Inst< SFBool > _next=0, Inst< SFBool > _previous=0, Inst< SFFloat > _set_fraction=0, Inst< MFFloat > _key=0)
 Constructor.
 
- Public Member Functions inherited from H3D::X3DChildNode
 X3DChildNode (Inst< SFNode > _metadata=0)
 Constructor.
 
- Public Member Functions inherited from H3D::X3DNode
 X3DNode (Inst< SFNode > _metadata=0)
 Constructor.
 
X3DMetadataObjectgetMetadataByName (const string &_name)
 Given a name, the first X3DMetadataObject in the metadata field that matches that name is returned. More...
 
- Public Member Functions inherited from H3D::Node
 Node ()
 Constructor.
 
virtual Nodeclone (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.
 
X3DPrototypeInstancegetProtoInstanceParent ()
 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 FieldgetField (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< SFBoolnext
 Receipt of next event triggers next output value in keyValue array, next goes to initial element after last. More...
 
H3DUniquePtr< SFBoolprevious
 Receipt of previous event triggers previous output value in keyValue array, previous goes to last element after first. More...
 
H3DUniquePtr< SFFloatset_fraction
 The set_fraction inputOnly field receives an SFFloat event and causes the sequencing function to evaluate, resulting in a value_changed output event with the same timestamp as the set_fraction event. More...
 
H3DUniquePtr< MFFloatkey
 Each value in the keyValue field corresponds in order to the parameter value in the key field. More...
 
- Public Attributes inherited from H3D::X3DNode
H3DUniquePtr< SFNodemetadata
 Meta data about the node. More...
 

Static Public Attributes

static H3DNodeDatabase database
 The H3DNodeDatabase for this node.
 
- Static Public Attributes inherited from H3D::X3DNode
static H3DNodeDatabase database
 The H3DNodeDatabase for this node.
 

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 NodegetClonedInstance (Node *original, bool deepCopy, DeepCopyMap &deepCopyMap)
 A helper function for nodes that implement clone() More...
 

Detailed Description

This abstract node type is the base node type from which all Sequencers are derived.

The specified X3D sequencer nodes are designed for discrete events along a timeline. Each of these nodes defines a piecewise-linear function, f(t), on the interval (-infinity, +infinity). The piecewise-linear function is defined by n values of t, called key, and the n corresponding values of f(t), called keyValue. The keys shall be monotonically non-decreasing, otherwise the results are undefined. The keys are not restricted to any interval.

Each of these nodes evaluates f(t) given any value of t (via the fraction field) as follows: Let the n keys t0, t1, t2, ..., tn-1 partition the domain (-infinity, +infinity) into the n+1 subintervals given by (-infinity, t0), [t0, t1), [t1, t2), ... , [tn-1, +infinity). Also, let the n values v0, v1, v2, ..., vn-1 be the values of f(t) at the associated key values. The discrete value sequencing function, f(t), is defined to be:

f(t) = vn, if tn <= t < tn-1 = v0, if t <= t0, = vn-1, if t >= tn-1

Member Data Documentation

◆ key

H3DUniquePtr< MFFloat > H3D::X3DSequencerNode::key

Each value in the keyValue field corresponds in order to the parameter value in the key field.

The keys shall be monotonically non-decreasing, otherwise the results are undefined. The keys are not restricted to any interval.

Access type: inputOutput
Default value: -

◆ next

H3DUniquePtr< SFBool > H3D::X3DSequencerNode::next

Receipt of next event triggers next output value in keyValue array, next goes to initial element after last.

Access type: inputOnly
Default value: -

Referenced by H3D::BooleanSequencer::BooleanSequencer(), and H3D::IntegerSequencer::IntegerSequencer().

◆ previous

H3DUniquePtr< SFBool > H3D::X3DSequencerNode::previous

Receipt of previous event triggers previous output value in keyValue array, previous goes to last element after first.

Access type: inputOnly
Default value: -

Referenced by H3D::BooleanSequencer::BooleanSequencer(), and H3D::IntegerSequencer::IntegerSequencer().

◆ set_fraction

H3DUniquePtr< SFFloat > H3D::X3DSequencerNode::set_fraction

The set_fraction inputOnly field receives an SFFloat event and causes the sequencing function to evaluate, resulting in a value_changed output event with the same timestamp as the set_fraction event.

Access type: inputOnly
Default value: -

Referenced by H3D::BooleanSequencer::BooleanSequencer(), and H3D::IntegerSequencer::IntegerSequencer().


The documentation for this class was generated from the following files: