Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
PoCurveLine.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_CURVE_LINE_
25#define _PO_CURVE_LINE_
26
27#include <MeshViz/graph/PoChart.h>
28
29#include <Inventor/fields/SoSFEnum.h>
30#include <Inventor/fields/SoSFInt32.h>
31#include <Inventor/fields/SoSFFloat.h>
32
74class PoCurveLine : public PoChart {
75
76 SO_KIT_HEADER(PoCurveLine) ;
77
78 /* Define fields for new parts */
79 SO_KIT_CATALOG_ENTRY_HEADER(curve) ;
80
81
82 public:
83
105
106
107
108 /* Fields */
109
116
126
131
136
137 /*----------------------------------------------------------------------------*/
138
139
140 private:
141 static void initClass() ;
142 static void exitClass() ;
143
144 private:
145 virtual ~PoCurveLine() ;
146 // Destructor.
147
148 // Overloaded methods
149 virtual void rebuild() ;
150 virtual void addElementsAllCaches() ;
151 virtual void preRebuild() ;
152
153 // Methods
154 virtual void setDefaultOnNonWritingFields() ;
155 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
156
157 // Computes from the curve given by the parameter x, y and size, and from
158 // indices of the source points of the curve, the sums of distances between
159 // 2 consecutive sources points and the distances between 2 points.
160 void computeCurveDistances(const float *x, const float *y, int size,
161 const int *indexSource, float* &curveDist,
162 float* &sumDist) ;
163 private:
164 // Sensors
165 FieldSensorList fieldSensorList ;
166
167 // List of fields defined in this class
168 SoFieldList fieldList ;
169} ;
170
171/*----------------------------------------------------------------------------*/
172
173#endif /* _PO_CURVE_LINE_ */
174
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Abstract base class for ...
Definition PoChart.h:44
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Class to build a 2D line...
Definition PoCurveLine.h:74
SoSFFloat thicknessFactor
Defines a multiplicative factor applied to the thickness values.
PoCurveLine()
Constructor.
SoSFInt32 thicknessIndex
Defines the index of the set of values used to specify the thickness.
ThicknessBinding
Thickness binding.
Definition PoCurveLine.h:87
@ PER_VERTEX_THICKNESS
The thickness between two consecutive vertices.
Definition PoCurveLine.h:95
@ PER_PART_THICKNESS
Each part of the curve has the same thickness.
Definition PoCurveLine.h:91
SoSFEnum thicknessBinding
Defines how thickness values are bound to the curve.
Maintains a list of pointers to fields.
Definition SoFieldList.h:72
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
int SbBool
Boolean type.
Definition SbBase.h:87