Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
PoDomain.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_DOMAIN_
25#define _PO_DOMAIN_
26
27#include <Inventor/fields/SoSFVec3f.h>
28#include <Inventor/fields/SoSFEnum.h>
29
30#include <MeshViz/nodes/PoNode.h>
31
32class PbDomain ;
33class SoFieldSensor ;
34class SoTransform ;
36
105class PoDomain : public PoNode {
106
107 SO_NODE_HEADER(PoDomain) ;
108
109
110 public:
111
122
131
132
133
134 /* Fields */
135
140
145
150
151 /* Methods */
152
156 void setValues(const SbVec2f &min, const SbVec2f &max, BoundingBoxType type = AS_IS) ;
157
161 void setValues(const SbVec3f &min, const SbVec3f &max, BoundingBoxType type = AS_IS) ;
162
167
172
177
178 /*----------------------------------------------------------------------------*/
179
180
181 private:
182 virtual void doAction(SoAction *action) ;
183
184 private:
185 static void initClass() ;
186 static void exitClass() ;
187
188 private:
189 virtual ~PoDomain() ;
190
191 private:
192 void updateDomain() ;
193
194 static void minMaxChangedCB(void *data, SoSensor *) ;
195 static void transformTypeChangeCB(void *data, SoSensor *) ;
196
197 SbBool m_minMaxChanged, m_transformTypeChanged ;
198 PbDomain *m_domain ;
199 SoFieldSensor *m_minSensor ;
200 SoFieldSensor *m_maxSensor ;
201 SoFieldSensor *m_transformTypeSensor ;
202} ;
203/*----------------------------------------------------------------------------*/
204
205#endif /* _PO_DOMAIN_ */
206
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Class to define a domain...
Definition PbDomain.h:92
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Node to define a domain.
Definition PoDomain.h:105
SoTransform * getTransform()
Get the domain transform matrix in an SoTransform object.
BoundingBoxType
Bounding box interpretation.
Definition PoDomain.h:126
@ MIN_BOUNDING_CUBE
Definition PoDomain.h:128
@ MAX_BOUNDED_CUBE
Definition PoDomain.h:129
void setValues(const SbVec2f &min, const SbVec2f &max, BoundingBoxType type=AS_IS)
Convenience method to define a 2D domain.
SoSFVec3f min
Define the minimum of the domain.
Definition PoDomain.h:139
SoSFVec3f max
Define the maximum of the domain.
Definition PoDomain.h:144
SoSFEnum transformType
Define the transformation type of the domain.
Definition PoDomain.h:149
TransformType
Transform type.
Definition PoDomain.h:115
@ SCALE_Y_FIXED
Definition PoDomain.h:118
@ SCALE_X_FIXED
Definition PoDomain.h:117
@ TRANSFORM_01
Definition PoDomain.h:116
@ SCALE_Z_FIXED
Definition PoDomain.h:119
@ SCALE_MAX_XYZ_FIXED
Definition PoDomain.h:120
PoDomain()
Constructor.
SoMatrixTransform * getMatrixTransform()
Get the domain transform matrix in an SbMatrix object.
void setValues(const SbVec3f &min, const SbVec3f &max, BoundingBoxType type=AS_IS)
Convenience method to define a 3D domain.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Abstract base class for ...
Definition PoNode.h:39
2D vector class.
Definition SbVec.h:76
3D vector class.
Definition SbVec.h:932
Abstract base class for all actions.
Definition SoAction.h:132
Sensor class that can be attached to Open Inventor fields.
Node that specifies a 3D geometric transformation as a matrix.
Field containing an enumerated value.
Definition SoSFEnum.h:89
Field containing a three-dimensional vector.
Definition SoSFVec3f.h:80
Abstract base class for Open Inventor sensors.
Definition SoSensor.h:100
General 3D geometric transformation node.
int SbBool
Boolean type.
Definition SbBase.h:87