Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
PoBaseStreamLine.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_BASESTREAMLINE_
25#define _PO_BASESTREAMLINE_
26
27#include <MeshViz/3Ddata/PoMesh.h>
28
29class SbVec3f;
30class PbCell;
31class PiStreamPath;
32class PoCellFilter;
33
96class PoBaseStreamLine : public PoMesh {
97
98 SO_KIT_HEADER(PoBaseStreamLine) ;
99
100
101 public:
102
107
108 /* Fields */
109
114
120
127
133
139
148
155
160
174
175
176
177 /*----------------------------------------------------------------------------*/
178 private:
179 static void initClass() ;
180 static void exitClass() ;
181
182 void integrateStreamLine(const PbCell *start_cell, const SbVec3f &start_point, const SbVec3f &pcoord, PiStreamPath &stream_path,
183 float &length, float &time,
184 const PoCellFilter* cell_filter,const float *values_filter);
185 void integrateStreamLine(const SbVec3f &start_point, PiStreamPath &stream_path,
186 float &length, float &time);
187
188 private:
189 virtual ~PoBaseStreamLine() ;
190 // Destructor
191
192 // Methods
193 virtual void setDefaultOnNonWritingFields() ;
194 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
195 virtual void addElementsAllCaches() ;
196 virtual void preRebuild();
197
198 virtual void saveNorm(PiStreamPath &stream_path, const PbCell *cell, SbVec3f &coord, SbVec3f &pcoords);
199 virtual void saveSpeed(PiStreamPath &stream_path, SbVec3f &speed);
200 virtual void saveTime(PiStreamPath &stream_path, float time);
201
202 private:
203 // Sensors
204 FieldSensorList m_fieldSensorList ;
205
206 // List of fields defined in this class
207 SoFieldList m_fieldList ;
208} ;
209
210/*----------------------------------------------------------------------------*/
211
212#endif /* _PO_BASESTREAMLINE_ */
213
214
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines an abstract cell...
Definition PbCell.h:49
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Base class of all stream...
PoBaseStreamLine()
Constructor.
SoSFEnum integrationDirection
Direction of integration.
SoSFFloat integrationStepLengthFactor
It is a factor of the size of a cell.
SoMFColor colors
List of colors used by some derived class to color each streamline.
IntegrationDirection
Type of integration direction.
@ BACKWARD
Integration is done as the inverse of the direction of the vectors.
@ FORWARD
Integration is done as the direction of the vectors.
SoSFInt32 integrationMaxStepNumber
Computing the streamline is done while the number of integration step is less than integrationMaxStep...
SoMFVec3f startPoints
Start points of the streamlines.
SoSFFloat minSpeed
The streamline ends when it goes through a point where the velocity is less than minSpeed.
SoSFFloat maxLength
The curvilinear distance between the start-point and the last point of a streamline must be less than...
SoSFFloat maxLifetime
The difference between the time of the start-point and the time of the last point of a streamline mus...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Interface class defining...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Base class for all mesh ...
Definition PoMesh.h:110
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 RGB colors stored as three floats.
Definition SoMFColor.h:98
Multiple-value field containing any number of three-dimensional vectors.
Definition SoMFVec3f.h:181
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