Open Inventor Release 2024.1.1
 
Loading...
Searching...
No Matches
PoMeshProbePoint.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
25#ifndef _PO_MESHPROBEPOINT_
26#define _PO_MESHPROBEPOINT_
27
28#include <Inventor/fields/SoSFVec3f.h>
29#include <MeshViz/3Ddata/PoMesh.h>
30
31class PbCell;
44class PoMeshProbePoint : public PoMesh {
45
46 SO_KIT_HEADER(PoMeshProbePoint) ;
47
48
49 public:
50
55
56 /* Fields */
57
62
68
72 virtual void rebuild() ;
73
74
78 typedef void PoProbeCB(void *userData, PoMeshProbePoint *probe, const PbCell *cell);
79
83 void setMotionCallback(PoProbeCB *cb, void *data) ;
84
88 void setChangeCellCallback(PoProbeCB *cb, void *data) ;
89
93 void setEnterMeshCallback(PoProbeCB *cb, void *data) ;
94
98 void setLeaveMeshCallback(PoProbeCB *cb, void *data) ;
99 private:
100 static void initClass() ;
101 static void exitClass() ;
102
103 private:
104 virtual ~PoMeshProbePoint() ;
105 // Destructor
106
107 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
108 virtual void setDefaultOnNonWritingFields();
109
110 virtual void addElementsAllCaches() ;
111 virtual void preRebuild();
112
113 private:
114 FieldSensorList m_fieldSensorList ;
115 // Sensors
116
117 SoFieldList m_fieldList ;
118 // List of fields defined in this class
119
120 const PbCell *m_currentCell;
121 SbBool m_isInsideMesh;
122 PoProbeCB *m_motionCB, *m_changeCellCB, *m_enterMeshCB, *m_leaveMeshCB;
123 void *m_motionData, *m_changeCellData, *m_enterMeshData, *m_leaveMeshData;
124
125} ;
126
127/*----------------------------------------------------------------------------*/
128
129#endif /* _PO_MESHPROBEPOINT_ */
130
131
<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 for all mesh ...
Definition PoMesh.h:110
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Probing in a mesh.
void setMotionCallback(PoProbeCB *cb, void *data)
Set a callback that is triggered each time "position" change.
void PoProbeCB(void *userData, PoMeshProbePoint *probe, const PbCell *cell)
void setChangeCellCallback(PoProbeCB *cb, void *data)
Set a callback that is triggered each time the probe enters another cell.
void setLeaveMeshCallback(PoProbeCB *cb, void *data)
Set a callback that is triggered each time the probe leaves the mesh.
virtual void rebuild()
Forces node-kit rebuilding.
PoMeshProbePoint()
Constructor.
SoSFFloat tolerance
Tolerance used to locate the position of the probe inside a cell of the mesh.
void setEnterMeshCallback(PoProbeCB *cb, void *data)
Set a callback that is triggered each time the probe enters the mesh.
SoSFVec3f position
Position of the point probe.
Maintains a list of pointers to fields.
Definition SoFieldList.h:72
Field containing a floating-point value.
Definition SoSFFloat.h:78
Field containing a three-dimensional vector.
Definition SoSFVec3f.h:80
int SbBool
Boolean type.
Definition SbBase.h:87