Open Inventor Release 2024.1.1
 
Loading...
Searching...
No Matches
Gnomon.h
1
2//
3// This class is part of the Open Inventor Medical utility library.
4//
5// The medical utility classes are provided as a prebuilt library named
6// "fei_inventor_medical", that can be used directly in an Open Inventor
7// application. The classes in the prebuilt library are documented and
8// supported by Thermo Fisher Scientific. These classes are also provided as source code.
9//
10// Please see $OIVHOME/include/Medical/InventorMedical.h for the full text.
11//
13
14#ifndef _MEDICAL_GNOMON_H
15#define _MEDICAL_GNOMON_H
16
17#include <Medical/InventorMedical.h>
18
19#include <Inventor/fields/SoSFFloat.h>
20#include <Inventor/fields/SoSFInt32.h>
21#include <Inventor/fields/SoSFVec2i32.h>
22
23#include <Inventor/nodes/SoAnnotation.h>
24#include <Inventor/nodes/SoCallback.h>
25#include <Inventor/nodes/SoOrthographicCamera.h>
26#include <Inventor/nodes/SoScale.h>
27#include <Inventor/nodes/SoSwitch.h>
28
59class INVENTORMEDICAL_API Gnomon : public SoAnnotation {
60
61 SO_NODE_HEADER(Gnomon);
62
63public:
64
67
70
73
76
79
81 static void initClass();
82
84 static void exitClass();
85
87 void setScale( SbVec3f scale ) { m_gnomonScale->scaleFactor.setValue( scale ); };
88
92 void setGeometry( SoNode* geometrySceneGraph );
93
94private:
95
98 SoSFFloat cameraDistance;
99
101 SoOrthographicCamera* getCamera();
102
106 virtual void notify(SoNotList *list);
107
108private:
109 virtual ~Gnomon();
110
111 void commonConstructor();
112
114 void buildGnomon();
115
116 // Managed isDisplayed Field
117 void updateGnomonVisibility();
118
119 SoRef<SoCallback> m_callback;
121 SoRef<SoSwitch> m_displaySwitch;
122 SoRef<SoScale> m_gnomonScale;
123 SoRef<SoSeparator> m_geometry;
124};
125
126#endif
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> (Preview feature...
Definition Gnomon.h:59
static void initClass()
Initialize class (called automatically by InventorMedical::init()).
SoSFInt32 height
Specifies the height of the gnomon viewport in points (default is 100).
Definition Gnomon.h:75
SoSFVec2i32 position
Position of the gnomon viewport in points (default is 0,0).
Definition Gnomon.h:69
SoSFBool isDisplayed
Controls whether the gnomon is visible (default is true).
Definition Gnomon.h:66
SoSFInt32 width
Specifies the width of the gnomon viewport in points (default is 100).
Definition Gnomon.h:72
void setGeometry(SoNode *geometrySceneGraph)
Replace the gnomon geometry (default is basic medical gnomon).
static void exitClass()
Finish using class (called automatically by InventorMedical::finish()).
Gnomon()
Constructor.
void setScale(SbVec3f scale)
Scale the size of the gnomon (default is 1,1,1).
Definition Gnomon.h:87
3D vector class.
Definition SbVec.h:932
Annotation group node.
Abstract base class for all database nodes.
Definition SoNode.h:145
Orthographic camera node.
Smart pointer for any class inheriting SoRefCounter.
Definition SoRef.h:90
Field containing a single Boolean value.
Definition SoSFBool.h:79
Field containing a floating-point value.
Definition SoSFFloat.h:78
Field containing a int32_t integer.
Definition SoSFInt32.h:80
Field containing a two-dimensional vector.
Definition SoSFVec2i32.h:52