29 #ifndef __CONTOUR2D_H__
30 #define __CONTOUR2D_H__
80 if( !nurbs_curve_2D && !contour_poly_line_2D ) {
82 s <<
"Expecting NurbsCurve2D or ContourPolyline2D";
90 contourNode2D->
children->push_back( n );
95 friend class AddTheChildren;
112 if( !nurbs_curve_2D && !contour_poly_line_2D ) {
114 s <<
"Expecting NurbsCurve2D or ContourPolyline2D";
121 static_cast< Contour2D *
>( getOwner() );
122 contourNode2D->
children->erase( n );
129 friend class RemoveTheChildren;
146 if( !nurbs_curve_2D && !contour_poly_line_2D ) {
148 s <<
"Expecting NurbsCurve2D or ContourPolyline2D";
162 if( !nurbs_curve_2D && !contour_poly_line_2D ) {
164 s <<
"Expecting NurbsCurve2D or ContourPolyline2D";
174 friend class CheckTheChildren;
178 void renderTrimmedCurve( GLUnurbsObj *nurbs_object );
182 Inst< AddTheChildren > _addChildren = 0,
183 Inst< RemoveTheChildren > _removeChildren = 0,
184 Inst< CheckTheChildren > _children = 0 );
Header file for ContourPolyline2D, X3D scene-graph node.
#define H3D_FULL_LOCATION
Contains the MFNode class.
Header file for NurbsCurve2D, X3D scene-graph node.
Header file for X3DNode, X3D scene-graph node.
std::string getTypeName() const
This field class checks whether the given node is of the right type (ContourPolyline2D or NurbsCurve2...
Definition: Contour2D.h:69
virtual void onAdd(Node *n)
This function will be called when values of RefCountMField changes.
Definition: Contour2D.h:72
This field class checks whether the given Node is of the right type (ContourPolyline2D or NurbsCurve2...
Definition: Contour2D.h:135
virtual void onRemove(Node *n)
This function will be called when values of RefCountMField changes.
Definition: Contour2D.h:155
virtual void onAdd(Node *n)
This function will be called when values of RefCountMField changes.
Definition: Contour2D.h:138
This field class checks whether the given node is of the right type (ContourPolyline2D or NurbsCurve2...
Definition: Contour2D.h:101
virtual void onRemove(Node *n)
This function will be called when values of RefCountMField changes.
Definition: Contour2D.h:105
The Contour2D node groups a set of curve segments to a composite contour.
Definition: Contour2D.h:62
static H3DNodeDatabase database
The H3DNodeDatabase for this node.
Definition: Contour2D.h:209
H3DUniquePtr< AddTheChildren > addChildren
Adds a node to the children field if it is the correct type of Node.
Definition: Contour2D.h:191
H3DUniquePtr< RemoveTheChildren > removeChildren
Removes a node from the children field if it is the correct type of Node.
Definition: Contour2D.h:199
H3DUniquePtr< CheckTheChildren > children
Contains the curves making up the contour.
Definition: Contour2D.h:206
The ContourPolyline2D node defines a piecewise linear curve segment as a part of a trimming contour i...
Definition: ContourPolyline2D.h:52
MFNode is almost like any MField but it encapsulates a vector of Node pointers.
Definition: MFNode.h:44
Node is the base class for all classes that can be part of the H3D scene-graph.
Definition: Node.h:46
The NurbsCurve2D node defines a trimming segment that is part of a trimming contour in the u,...
Definition: NurbsCurve2D.h:53
virtual void onRemove(Node *n)
This function will be called when values of RefCountMField changes.
Definition: RefCountMField.h:233
virtual void onAdd(Node *n)
This function will be called when values of RefCountMField changes.
Definition: RefCountMField.h:222
This abstract node type is the base type for all nodes in the X3D system.
Definition: X3DNode.h:65
H3D API namespace.
Definition: Anchor.h:38
The H3DNodeDatabase contains a mapping between a name of a Node and the constructor for the Node with...
Definition: H3DNodeDatabase.h:194