Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoNurbsProperty.h
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2014 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : R. ALBOU (Jun 1998)
22**=======================================================================*/
23
24 /* include files */
25#ifndef _SO_NURBS_PROPERTY_
26#define _SO_NURBS_PROPERTY_
27
28#include <Inventor/fields/SoSFBitMask.h>
29#include <Inventor/fields/SoSFInt32.h>
30#include <Inventor/fields/SoSFColor.h>
31#include <Inventor/fields/SoSFUShort.h>
32#include <Inventor/fields/SoSFFloat.h>
33
34#include <Inventor/nodes/SoNode.h>
35
36class SoGLRenderAction ;
37class SoCallbackAction ;
38
39/*----------------------------------------------------------------------------*/
91class SoNurbsProperty : public SoNode {
92 SO_NODE_HEADER(SoNurbsProperty) ;
93
94 public:
95
112
127
128 // Fields
154
162
174
184
189
190 private:
191 virtual void doAction(SoAction *action);
192 virtual void callback(SoCallbackAction *action);
193 virtual void GLRender(SoGLRenderAction *action);
194 virtual void rayPick(SoRayPickAction *action);
195 virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action);
196 virtual void getBoundingBox(SoGetBoundingBoxAction *action);
197
198 /*----------------------------------------------------------------------------*/
199
200 private:
201 static void initClass() ;
202 static void exitClass() ;
203
204 private:
205 // Destructor
206 virtual ~SoNurbsProperty() ;
207} ;
208/*----------------------------------------------------------------------------*/
209
210#endif /* _SO_NURBS_PROPERTY_ */
211
Abstract base class for all actions.
Definition SoAction.h:132
Performs a generic traversal of a scene graph or path.
Renders a scene graph using Open Inventor's Render Engine.
Computes bounding box of a scene.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Counts number of...
Abstract base class for all database nodes.
Definition SoNode.h:145
Node that defines additional properties for rendering a NURBS surface.
SoSFUShort isoParamCurvesPattern
Sets a specific line pattern for isoparametric curves.
SoSFFloat tessellationAngle
Used when tessellationType is set to ADAPTIVE.
DrawStyle
Draw style.
@ BOUNDARIES_AND_TRIM_CURVES
Draw the boundaries of the surface and trim curves.
@ CENTRAL_ISO_PARAM_CURVES
Draw two isoparametric curves in the middle of the surface (one for U = 0.5 and one for V=0....
@ NORMAL
Draw the NURBS surface normally.
TessellationType
Tesselation type.
@ ADAPTIVE
The tessellation depends on the curvature of the geometry.
@ CONSTANT
The tessellation step size is constant and the same for both the U and V axes.
SoNurbsProperty()
Constructor.
SoSFEnum tessellationType
Specifies the tessellation type.
SoSFColor color
Contains the color used to render trim curves and isoparametric curves.
SoSFBitMask drawStyle
Indicates which part of the NURBS surface to render.
SoSFFloat tessellationDistance
Used when tessellationType is set to ADAPTIVE.
SoSFInt32 numSamplePoints
numSamplePoints is used during trim curve tessellation.
Intersects objects with a ray cast into scene.
Single-value field containing a set of bit flags.
Field containing an RGB color.
Definition SoSFColor.h:82
Field containing an enumerated value.
Definition SoSFEnum.h:89
Field containing a floating-point value.
Definition SoSFFloat.h:78
Field containing a int32_t integer.
Definition SoSFInt32.h:80
Field containing an unsigned short integer.
Definition SoSFUShort.h:79