|
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. | |
Public Member Functions inherited from H3D::X3DNode | |
| 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... | |
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 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... | |
Public Attributes inherited from H3D::X3DNode | |
| H3DUniquePtr< SFNode > | metadata |
| 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 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