29 #ifndef __EXTRUSION_H__
30 #define __EXTRUSION_H__
73 virtual void update();
89 virtual void update();
110 virtual void update();
115 virtual Normal *generateNormalsPerVertex(
116 const vector < Vec3f > &vertex_vector,
117 const vector < Vec2f > &cross_section,
118 vector < Vec3f > &yAxis,
120 H3DInt32 nr_of_cross_section_points,
131 virtual Normal *generateNormalsPerVertex(
132 const vector < Vec3f > &vertex_vector,
133 const vector < Vec2f > &cross_section,
134 vector < Vec3f > &yAxis,
136 H3DInt32 nr_of_cross_section_points,
144 virtual Normal *generateNormalsPerFace(
145 const vector < Vec3f > &vertex_vector,
146 const vector < Vec2f > &cross_section,
147 vector < Vec3f > &yAxis,
149 H3DInt32 nr_of_cross_section_points,
151 bool closedCrossSection,
158 virtual void render();
162 return( crossSection->size() * 2 +
163 crossSection->size() * spine->size() * 2 );
172 Inst< SFBound > _bound = 0,
173 Inst< DisplayList > _displayList = 0,
174 Inst< SFBool > _beginCap = 0,
175 Inst< SFBool > _ccw = 0,
176 Inst< SFBool > _convex = 0,
177 Inst< SFFloat > _creaseAngle = 0,
178 Inst< MFVec2f > _crossSection = 0,
179 Inst< SFBool > _endCap = 0,
180 Inst< MFRotation > _orientation = 0,
181 Inst< MFVec2f > _scale = 0,
182 Inst< SFBool > _solid = 0,
183 Inst< MFVec3f > _spine = 0 );
219 H3DUniquePtr< SFBool >
ccw;
346 vector< H3DFloat > u_tex_coord;
347 vector< H3DFloat > v_tex_coord;
349 vector< Vec3f > caps_tex_coord;
Contains the DependentSFNode and DependentMFNode template classes.
Contains the MFRotation field class.
Contains the MFVec2f field class.
Header file for Normal, X3D scene-graph node.
Contains the SFFloat field class.
Contains the SFInt32 field class.
Header file for X3DGeometryNode, X3D scene-graph node.
DependentSFNode are modified TypedSFNode fields where the field dirty status is dependent on fields i...
Definition: DependentNodeFields.h:294
Specialized field for automatically generating normals from coordinates.
Definition: Extrusion.h:109
SFBound is specialized update itself from the fields of the Extrusion.
Definition: Extrusion.h:72
Specialized field vertex coordinates from the fields affecting this, the resulting vertexVector will ...
Definition: Extrusion.h:88
The Extrusion node specifies geometric shapes based on a two dimensional cross-section extruded along...
Definition: Extrusion.h:55
static H3DNodeDatabase database
The H3DNodeDatabase for this node.
Definition: Extrusion.h:343
H3DUniquePtr< SFBool > convex
The convex field indicates whether all polygons in the shape are convex (TRUE).
Definition: Extrusion.h:231
H3DUniquePtr< SFBool > ccw
The ccw field defines the ordering of the vertex coordinates of the geometry with respect to user-giv...
Definition: Extrusion.h:219
H3DUniquePtr< MFVec2f > crossSection
A 2D crossSection piecewise linear curve (described as a series of connected vertices).
Definition: Extrusion.h:256
H3DUniquePtr< MFVec3f > spine
A 3D spine piecewise linear curve (also described as a series of connected vertices).
Definition: Extrusion.h:332
H3DUniquePtr< SFBool > endCap
When the beginCap or endCap fields are specified as TRUE, planar cap surfaces will be generated regar...
Definition: Extrusion.h:272
H3DUniquePtr< SFFloat > creaseAngle
The creaseAngle field affects how default normals are generated.
Definition: Extrusion.h:245
H3DUniquePtr< SFBool > solid
The solid field determines whether one or both sides of each polygon shall be displayed.
Definition: Extrusion.h:323
H3DUniquePtr< AutoNormal > autoNormal
Auto-generated normals.
Definition: Extrusion.h:340
H3DUniquePtr< VertexVector > vertexVector
The vector of vertices constructing the extrusion-shape Only accessable in C++.
Definition: Extrusion.h:336
virtual int nrTriangles()
An upper bound on the number of triangles.
Definition: Extrusion.h:161
H3DUniquePtr< MFRotation > orientation
A list of 3D orientation parameters used to orient the crossSection.
Definition: Extrusion.h:297
H3DUniquePtr< SFBool > beginCap
When the beginCap or endCap fields are specified as TRUE, planar cap surfaces will be generated regar...
Definition: Extrusion.h:199
H3DUniquePtr< MFVec2f > scale
A list of 2D scale parameters used to scale the crossSection.
Definition: Extrusion.h:310
DependentSFNode< Normal, FieldRef< X3DGeometricPropertyNode, Field, &X3DNormalNode::propertyChanged > > SFNormalNode
The SFNormalNode is dependent on the propertyChanged field of the contained Normal.
Definition: Extrusion.h:64
Class used for specifying a field member of a node in a DependentSFNode or DependentMFNode specificat...
Definition: DependentNodeFields.h:48
The Field class.
Definition: Field.h:46
This node defines a set of 3D surface normal vectors to be used in the vector field of some geometry ...
Definition: Normal.h:57
TraverseInfo is a structure that is passed along when traversing the scene graph.
Definition: TraverseInfo.h:57
A template modifier class for adding type checking on the routes to any Field class.
Definition: TypedField.h:84
This is the base node type for all geometric property node types defined in X3D.
Definition: X3DGeometricPropertyNode.h:43
H3DUniquePtr< Field > propertyChanged
Field that indicated whether the properties have changed.
Definition: X3DGeometricPropertyNode.h:53
This is the base node type for all geometry in X3D.
Definition: X3DGeometryNode.h:61
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