29 #ifndef __NURBSTRIMMEDSURFACE_H__
30 #define __NURBSTRIMMEDSURFACE_H__
73 s <<
"Expecting Contour2D";
86 friend class AddContour;
102 s <<
"Expecting Contour2D";
117 friend class RemoveContour;
132 s <<
"Expecting Contour2D";
145 s <<
"Expecting Contour2D";
155 friend class CheckContour;
159 Inst< SFBound > _bound = 0,
160 Inst< DisplayList > _displayList = 0,
161 Inst< MFBool > _isTouched = 0,
162 Inst< MFVec3f > _force = 0,
163 Inst< MFVec3f > _contactPoint = 0,
164 Inst< MFVec3f > _contactNormal = 0,
165 Inst< AddContour > _addTrimmingContour = 0,
166 Inst< RemoveContour > _removeTrimmingContour = 0,
167 Inst< SFCoordinateNode > _controlPoint = 0,
168 Inst< TexCoordOrNurbsTex > _texCoord = 0,
169 Inst< CheckContour > _trimmingContour = 0,
170 Inst< SFInt32 > _uTessellation = 0,
171 Inst< SFInt32 > _vTessellation = 0,
172 Inst< MFDouble > _weight = 0,
173 Inst< SFBool > _solid = 0,
174 Inst< SFBool > _uClosed = 0,
175 Inst< SFBool > _vClosed = 0,
176 Inst< SFInt32 > _uDimension = 0,
177 Inst< SFInt32 > _vDimension = 0,
178 Inst< MFDouble > _uKnot = 0,
179 Inst< MFDouble > _vKnot = 0,
180 Inst< SFInt32 > _uOrder = 0,
181 Inst< SFInt32 > _vOrder = 0 );
187 GLUnurbsObj *_nurbs_object,
193 GLfloat *texCoordinates,
197 GLfloat *withWeights,
Header file for Contour2D, X3D scene-graph node.
#define H3D_FULL_LOCATION
Header file for X3DNurbsSurfaceGeometryNode, X3D scene-graph node.
std::string getTypeName() const
The Contour2D node groups a set of curve segments to a composite contour.
Definition: Contour2D.h:62
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 NurbsTextureCoordinate node is a NURBS surface existing in the parametric domain of its surface h...
Definition: NurbsTextureCoordinate.h:71
This field class checks whether the given node is of the right type (Contour2D).
Definition: NurbsTrimmedSurface.h:63
virtual void onAdd(Node *n)
This function will be called when values of RefCountMField changes.
Definition: NurbsTrimmedSurface.h:66
This field class checks whether the given node is of the right type (Contour2D) for adding or removin...
Definition: NurbsTrimmedSurface.h:122
virtual void onAdd(Node *n)
This function will be called when values of RefCountMField changes.
Definition: NurbsTrimmedSurface.h:125
virtual void onRemove(Node *n)
This function will be called when values of RefCountMField changes.
Definition: NurbsTrimmedSurface.h:139
This field class checks whether the given node is of the right type (Contour2D).
Definition: NurbsTrimmedSurface.h:92
virtual void onRemove(Node *n)
This function will be called when values of RefCountMField changes.
Definition: NurbsTrimmedSurface.h:96
The NurbsTrimmedSurface node defines a NURBS surface that is trimmed by a set of trimming loops.
Definition: NurbsTrimmedSurface.h:57
virtual void renderBetweenBeginEnd(GLUnurbsObj *_nurbs_object, X3DTextureCoordinateNode *tex_coord_node, TextureCoordinateGenerator *tex_coord_gen, NurbsTextureCoordinate *nurbs_tex_coord, GLfloat *texKnotU, GLfloat *texKnotV, GLfloat *texCoordinates, GLfloat *u_knots, GLfloat *v_knots, H3DInt32 &sizeOfVertex, GLfloat *withWeights, H3DInt32 &uSizeToUse, H3DInt32 &vSizeToUse, H3DInt32 &map2Vertex3Or4)
Function called by render to render the small part that differs between NurbsPatchSurface and NurbsTr...
Definition: NurbsTrimmedSurface.cpp:90
static H3DNodeDatabase database
The H3DNodeDatabase for this node.
Definition: NurbsTrimmedSurface.h:225
NurbsTrimmedSurface(Inst< SFNode > _metadata=0, Inst< SFBound > _bound=0, Inst< DisplayList > _displayList=0, Inst< MFBool > _isTouched=0, Inst< MFVec3f > _force=0, Inst< MFVec3f > _contactPoint=0, Inst< MFVec3f > _contactNormal=0, Inst< AddContour > _addTrimmingContour=0, Inst< RemoveContour > _removeTrimmingContour=0, Inst< SFCoordinateNode > _controlPoint=0, Inst< TexCoordOrNurbsTex > _texCoord=0, Inst< CheckContour > _trimmingContour=0, Inst< SFInt32 > _uTessellation=0, Inst< SFInt32 > _vTessellation=0, Inst< MFDouble > _weight=0, Inst< SFBool > _solid=0, Inst< SFBool > _uClosed=0, Inst< SFBool > _vClosed=0, Inst< SFInt32 > _uDimension=0, Inst< SFInt32 > _vDimension=0, Inst< MFDouble > _uKnot=0, Inst< MFDouble > _vKnot=0, Inst< SFInt32 > _uOrder=0, Inst< SFInt32 > _vOrder=0)
Constructor.
Definition: NurbsTrimmedSurface.cpp:50
H3DUniquePtr< AddContour > addTrimmingContour
This field adds specified Contour2D nodes to the trimmingContour field.
Definition: NurbsTrimmedSurface.h:207
H3DUniquePtr< RemoveContour > removeTrimmingContour
This field removes Contour2D nodes from the trimmingContour field.
Definition: NurbsTrimmedSurface.h:214
H3DUniquePtr< CheckContour > trimmingContour
The trimmingContour field, if specified, shall contain a set of Contour2D nodes.
Definition: NurbsTrimmedSurface.h:222
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
TextureCoordinateGenerator supports the automatic generation of texture coodinates for geometric shap...
Definition: TextureCoordinateGenerator.h:92
The X3DNurbsSurfaceGeometryNode represents the abstract geometry type for all types of NURBS surfaces...
Definition: X3DNurbsSurfaceGeometryNode.h:126
This abstract node type is the base type for all node types which specify texture coordinates.
Definition: X3DTextureCoordinateNode.h:55
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