H3D API
2.4.1
|
The Contour2D node groups a set of curve segments to a composite contour. More...
#include <H3D/Contour2D.h>
Classes | |
class | AddTheChildren |
This field class checks whether the given node is of the right type (ContourPolyline2D or NurbsCurve2D). More... | |
class | CheckTheChildren |
This field class checks whether the given Node is of the right type (ContourPolyline2D or NurbsCurve2D) for adding or removing. More... | |
class | RemoveTheChildren |
This field class checks whether the given node is of the right type (ContourPolyline2D or NurbsCurve2D). More... | |
Public Member Functions | |
void | renderTrimmedCurve (GLUnurbsObj *nurbs_object) |
Make the check of the curve and call OpenGL routines to render it. | |
Contour2D (Inst< SFNode > _metadata=0, Inst< AddTheChildren > _addChildren=0, Inst< RemoveTheChildren > _removeChildren=0, Inst< CheckTheChildren > _children=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... | |
Public Attributes | |
H3DUniquePtr< AddTheChildren > | addChildren |
Adds a node to the children field if it is the correct type of Node. More... | |
H3DUniquePtr< RemoveTheChildren > | removeChildren |
Removes a node from the children field if it is the correct type of Node. More... | |
H3DUniquePtr< CheckTheChildren > | children |
Contains the curves making up the contour. 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. | |
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 Contour2D node groups a set of curve segments to a composite contour.
The children shall form a closed loop with the first point of the first child repeated as the last point of the last child and the last point of a segment repeated as the first point of the consecutive one. The segments shall be defined by concrete nodes that implement the X3DNurbsControlCurveNode abstract type nodes and shall be enumerated in the child field in consecutive order according to the topology of the contour.
The 2D coordinates used by the node shall be interpreted to lie in the (u, v) coordinate space defined by the NURBS surface.
Examples:
H3DUniquePtr< AddTheChildren > H3D::Contour2D::addChildren |
Adds a node to the children field if it is the correct type of Node.
Access type: inputOnly
H3DUniquePtr< CheckTheChildren > H3D::Contour2D::children |
Contains the curves making up the contour.
Access type: inputOutput
Referenced by H3D::Contour2D::AddTheChildren::onAdd(), H3D::Contour2D::RemoveTheChildren::onRemove(), and renderTrimmedCurve().
H3DUniquePtr< RemoveTheChildren > H3D::Contour2D::removeChildren |
Removes a node from the children field if it is the correct type of Node.
Access type: inputOnly