Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
PoCurve3.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 : VSG (MMM YYYY)
22**=======================================================================*/
23
24#ifndef _PO_CURVE3_
25#define _PO_CURVE3_
26
27#include <MeshViz/graph/PoGraphMaster.h>
28
29#include <Inventor/fields/SoSFEnum.h>
30#include <Inventor/fields/SoSFBool.h>
31#include <Inventor/fields/SoSFString.h>
32#include <Inventor/fields/SoMFVec3f.h>
33
58class PoCurve3 : public PoGraphMaster {
59
60 SO_KIT_HEADER(PoCurve3) ;
61
62 /* Define fields for new parts */
63 SO_KIT_CATALOG_ENTRY_HEADER(curvePointSep) ;
64 SO_KIT_CATALOG_ENTRY_HEADER(curvePointApp) ;
65 SO_KIT_CATALOG_ENTRY_HEADER(curvePoint) ;
66
67 SO_KIT_CATALOG_ENTRY_HEADER(markerSep) ;
68 SO_KIT_CATALOG_ENTRY_HEADER(markerApp) ;
69 SO_KIT_CATALOG_ENTRY_HEADER(marker) ;
70
71
72 public:
73
91
92
93
94
95
96 /* Fields */
97
102
107
112
120
121
122
123 /* Methods */
124
129 { init(TRUE) ; }
130
135 PoCurve3(int numPoints, const SbVec3f *_point, CurveRep _curveRep = CURVE_POLYLINE)
136 { init(FALSE, numPoints, _point, _curveRep) ; }
137
141 virtual void rebuild() ;
142
143 /*----------------------------------------------------------------------------*/
144 private:
145 static void initClass() ;
146 static void exitClass() ;
147
148 private:
149 // Methods
150 // Destructor
151 virtual ~PoCurve3() ;
152 virtual void setDefaultOnNonWritingFields() ;
153 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
154
155 private:
156 // Init method
157 void init(SbBool isDefault, int numPoints=0, const SbVec3f *_point=NULL,
158 CurveRep _curveRep = CURVE_POLYLINE) ;
159
160 // Sensors
161 FieldSensorList fieldSensorList ;
162
163 // List of fields defined in this class
164 SoFieldList fieldList ;
165
166} ;
167
168/*----------------------------------------------------------------------------*/
169
170#endif /* _PO_CURVE3_ */
171
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Builds a 3D curve.
Definition PoCurve3.h:58
SoMFVec3f point
Point list of the curve.
Definition PoCurve3.h:101
PoCurve3(int numPoints, const SbVec3f *_point, CurveRep _curveRep=CURVE_POLYLINE)
Constructor.
Definition PoCurve3.h:135
PoCurve3()
Default constructor.
Definition PoCurve3.h:128
SoSFEnum curveRep
Defines the curve representation (polyline, smooth or none).
Definition PoCurve3.h:106
SoSFBool isMarkerVisible
Indicates if a marker is generated on each curve point.
Definition PoCurve3.h:111
virtual void rebuild()
Forces node-kit rebuilding.
SoSFString markerString
The markers are defined by a string.
Definition PoCurve3.h:119
CurveRep
Curve representation.
Definition PoCurve3.h:77
@ CURVE_NONE
No curve is built.
Definition PoCurve3.h:81
@ CURVE_POLYLINE
The curve is a sequence of straight lines linking all points.
Definition PoCurve3.h:85
@ CURVE_SMOOTH
The curve is a smoothing passing through all points.
Definition PoCurve3.h:89
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Abstract base class for ...
3D vector class.
Definition SbVec.h:932
Maintains a list of pointers to fields.
Definition SoFieldList.h:72
Multiple-value field containing any number of three-dimensional vectors.
Definition SoMFVec3f.h:181
Field containing a single Boolean value.
Definition SoSFBool.h:79
Field containing an enumerated value.
Definition SoSFEnum.h:89
Field containing a string.
Definition SoSFString.h:117
int SbBool
Boolean type.
Definition SbBase.h:87