Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoCircularExtrusion.h
1#if !defined _SO_CIRCEXTRSHAPE_H_
2#define _SO_CIRCEXTRSHAPE_H_
3
4/*=======================================================================
5 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
6 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
7 *** ***
8 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
9 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
10 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
11 *** ***
12 *** RESTRICTED RIGHTS LEGEND ***
13 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
14 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
15 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
16 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
17 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
18 *** ***
19 *** COPYRIGHT (C) 1996-2018 BY FEI S.A.S, ***
20 *** BORDEAUX, FRANCE ***
21 *** ALL RIGHTS RESERVED ***
22**=======================================================================*/
23/*=======================================================================
24** Author : Roberto Calabrese (Feb 2011)
25**=======================================================================*/
26
27#include <Inventor/SbBasic.h>
28#include <Inventor/fields/SoSFFloat.h>
29#include <Inventor/fields/SoSFVec2f.h>
30#include <Inventor/nodes/SoBaseExtrusion.h>
31#include <Inventor/SbPImpl.h>
32
33class SoState;
34class SoAction;
35
36SO_PIMPL_PUBLIC_DECLARATION(SoCircularExtrusion)
37
38//@TOBEWRAPPED
124{
125 SO_NODE_HEADER( SoCircularExtrusion );
126 SO_PIMPL_PUBLIC_HEADER(SoCircularExtrusion)
127
128public:
129
139
140 // Fields
145
150
160
163
164private:
165
166 // Implement actions
167
169 virtual void doAction( SoAction *action );
170
172 virtual void callback( SoCallbackAction *action );
173
175 virtual void rayPick( SoRayPickAction *action );
176
178 virtual void getPrimitiveCount( SoGetPrimitiveCountAction *action );
179
181 virtual void computeBBox( SoAction *action, SbBox3f &box, SbVec3f &center );
182
184 virtual void computeBBox( SoAction *action, SbXfBox3d &box, SbVec3d &center );
185
186
187 private:
189 static void initClass();
190
192 static void exitClass();
193
195 virtual void notify( SoNotList *list );
196
197private:
199 virtual ~SoCircularExtrusion();
200
202 virtual void generatePrimitives( SoAction *action );
203
204};
205
206#endif /* _SO_CIRCEXTRSHAPE_H_ */
207
208
3D box class.
Definition SbBox.h:649
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> 3D vector class ...
Definition SbVec.h:1214
3D vector class.
Definition SbVec.h:932
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> 3D box with an a...
Definition SbBox.h:1513
Abstract base class for all actions.
Definition SoAction.h:132
Abstract base class for all extrusion-based shape nodes.
Performs a generic traversal of a scene graph or path.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Geometric shape ...
SoSFFloat radius
Radius of the circular cross-section.
SoCircularExtrusion()
Constructor.
@ RESPECT_MATERIALS
The spine simplification is done preserving the materials applied to the spine.
@ DEFAULT
The spine simplification is done based only on geometric data.
SoSFVec2f activeSection
Defines the visible section of the spine in normalized coordinates.
SoSFEnum spineSimplificationMode
Defines the spine simplification behavior of the extrusion.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Counts number of...
Intersects objects with a ray cast into scene.
Field containing an enumerated value.
Definition SoSFEnum.h:89
Field containing a floating-point value.
Definition SoSFFloat.h:78
Field containing a two-dimensional vector.
Definition SoSFVec2f.h:78
Traversal state.
Definition SoState.h:74