Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoEllipseScreenDrawer.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-2020 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : Thibaut Andrieu (Jan 2011)
22**=======================================================================*/
23
24#if !defined _SO_ELLIPSE_SCREEN_DRAWER_H_
25#define _SO_ELLIPSE_SCREEN_DRAWER_H_
26
27
28#include <Inventor/drawers/SoPolyLineScreenDrawer.h>
29#include <Inventor/fields/SoSFEnum.h>
30
97{
98 SO_NODE_HEADER( SoEllipseScreenDrawer );
99
100public:
103
114
119
124
126 virtual void reset();
127
128private:
129
131 static void initClass();
132
134 static void exitClass();
135
136SoEXTENDER_Documented private:
137
139 virtual void onKeyDown( SoHandleEventAction* action );
140
142 virtual void onMouseDragging( SoHandleEventAction* action );
143
145 virtual void onMouseDown( SoHandleEventAction* action );
146
148 virtual void onMouseUp( SoHandleEventAction* action );
149
151 inline bool isCreating() const { return m_initPoint[0] != -1 && m_initPoint[1] != -1; }
152
153private:
154
156 virtual ~SoEllipseScreenDrawer();
157
158private:
159
167 void getEllipseParameters( const SbVec2f& currentPoint,
168 float& xRadius,
169 float& yRadius,
170 SbVec2f& center ) const;
171
176 SbVec2f m_initPoint;
177
178};
179
180
181#endif // _SO_ELLIPSE_SCREEN_DRAWER_H_
182
183
2D vector class.
Definition SbVec.h:76
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Interactively dr...
virtual void reset()
Clears the points in the line and resets internal state to initial values.
SoSFUInt32 nbPoint
Number of points in generated ellipse.
SoEllipseScreenDrawer()
Constructor.
SoSFEnum method
Method to create ellipse.
CreationMethod
Methods to create ellipse.
@ CENTER_CORNER
Initial point is the center, current point is a corner.
@ CORNER_CORNER
Initial point is a corner, current point is a corner.
Allows nodes in a graph to receive input events.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Interactively dr...
Field containing an enumerated value.
Definition SoSFEnum.h:89
Field containing an unsigned int32_t integer.
Definition SoSFUInt32.h:80