Open Inventor Release 2024.1.1
 
Loading...
Searching...
No Matches
PoCoordinateSystemAxis.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_COORDINATE_SYSTEM_AXIS_
25#define _PO_COORDINATE_SYSTEM_AXIS_
26
27#include <MeshViz/graph/PoGraphMaster.h>
28
29#include <Inventor/fields/SoSFFloat.h>
30#include <Inventor/fields/SoSFVec3f.h>
31#include <Inventor/fields/SoSFString.h>
32
62
63 SO_KIT_HEADER(PoCoordinateSystemAxis) ;
64
65 /* Define fields for new parts */
66 SO_KIT_CATALOG_ENTRY_HEADER(xArrow) ;
67 SO_KIT_CATALOG_ENTRY_HEADER(yArrow) ;
68 SO_KIT_CATALOG_ENTRY_HEADER(zArrow) ;
69
70 SO_KIT_CATALOG_ENTRY_HEADER(xTitleTextSep) ;
71 SO_KIT_CATALOG_ENTRY_HEADER(xTitleTextApp) ;
72 SO_KIT_CATALOG_ENTRY_HEADER(xTitleText) ;
73
74 SO_KIT_CATALOG_ENTRY_HEADER(yTitleTextSep) ;
75 SO_KIT_CATALOG_ENTRY_HEADER(yTitleTextApp) ;
76 SO_KIT_CATALOG_ENTRY_HEADER(yTitleText) ;
77
78 SO_KIT_CATALOG_ENTRY_HEADER(zTitleTextSep) ;
79 SO_KIT_CATALOG_ENTRY_HEADER(zTitleTextApp) ;
80 SO_KIT_CATALOG_ENTRY_HEADER(zTitleText) ;
81
82
83 public:
84
85 /* Fields */
86
91
96
101
106
111
117
122
123
124
125 /* Methods */
126
131 { init(TRUE, SbVec3f(0.0, 0.0, 0.0), SbVec3f(1.0, 1.0, 1.0), NULL, NULL, NULL, 0.05F,
132 0.0F) ; }
133
137 PoCoordinateSystemAxis(const SbVec3f &_start, const SbVec3f &_end, const char *_xTitle,
138 const char *_yTitle, const char *_zTitle, float _arrowLengthFactor,
139 float _titleTranslationFactor)
140 { init(FALSE, _start, _end, _xTitle, _yTitle, _zTitle, _arrowLengthFactor,
141 _titleTranslationFactor) ; }
142
146 virtual void rebuild() ;
147
148 /*----------------------------------------------------------------------------*/
149
150
151 private:
152 static void initClass() ;
153 static void exitClass() ;
154
155 private:
156 // Methods
157 // Destructor
158 virtual ~PoCoordinateSystemAxis() ;
159 virtual void setDefaultOnNonWritingFields() ;
160 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
161
162 private:
163 // Init method
164 void init(SbBool isDefault, const SbVec3f &_start, const SbVec3f &_end,
165 const char *_xTitle, const char *_yTitle, const char *_zTitle,
166 float _arrowLengthFactor, float _titleTranslationFactor) ;
167
168 // Sensors
169 FieldSensorList fieldSensorList ;
170
171 // List of fields defined in this class
172 SoFieldList fieldList ;
173
174} ;
175
176/*----------------------------------------------------------------------------*/
177
178#endif /* _PO_COORDINATE_SYSTEM_AXIS_ */
179
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Class for a 3D axes syst...
SoSFFloat titleTranslationFactor
Translation factor of the titles (as function of the length of each vector).
PoCoordinateSystemAxis(const SbVec3f &_start, const SbVec3f &_end, const char *_xTitle, const char *_yTitle, const char *_zTitle, float _arrowLengthFactor, float _titleTranslationFactor)
Constructor.
SoSFString yTitle
String to be displayed at the end of the Y coordinate vector.
SoSFFloat arrowLengthFactor
Arrow length scale factor.
SoSFString xTitle
String to be displayed at the end of the X coordinate vector.
SoSFVec3f end
End of the coordinate system.
SoSFString zTitle
String to be displayed at the end of the Z coordinate vector.
SoSFVec3f start
Start of the coordinate system.
virtual void rebuild()
Forces node-kit rebuilding.
PoCoordinateSystemAxis()
Default constructor.
<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
Field containing a floating-point value.
Definition SoSFFloat.h:78
Field containing a string.
Definition SoSFString.h:117
Field containing a three-dimensional vector.
Definition SoSFVec3f.h:80
int SbBool
Boolean type.
Definition SbBase.h:87