Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoDrawStyle.h
1/*=======================================================================
2 * Copyright 1991-1996, Silicon Graphics, Inc.
3 * ALL RIGHTS RESERVED
4 *
5 * UNPUBLISHED -- Rights reserved under the copyright laws of the United
6 * States. Use of a copyright notice is precautionary only and does not
7 * imply publication or disclosure.
8 *
9 * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
10 * Use, duplication or disclosure by the Government is subject to restrictions
11 * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
12 * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
13 * in similar or successor clauses in the FAR, or the DOD or NASA FAR
14 * Supplement. Contractor/manufacturer is Silicon Graphics, Inc.,
15 * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
16 *
17 * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
18 * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
19 * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
20 * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
21 * GRAPHICS, INC.
22**=======================================================================*/
23/*=======================================================================
24** Author : Paul S. Strauss (MMM yyyy)
25**=======================================================================*/
26/*=======================================================================
27 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
28 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
29 *** ***
30 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
31 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
32 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
33 *** ***
34 *** RESTRICTED RIGHTS LEGEND ***
35 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
36 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
37 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
38 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
39 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
40 *** ***
41 *** COPYRIGHT (C) 1996-2020 BY FEI S.A.S, ***
42 *** BORDEAUX, FRANCE ***
43 *** ALL RIGHTS RESERVED ***
44**=======================================================================*/
45/*=======================================================================
46** Modified by : VSG (MMM YYYY)
47**=======================================================================*/
48
49
50#ifndef _SO_DRAW_STYLE_
51#define _SO_DRAW_STYLE_
52
53#include <Inventor/SbString.h>
54#include <Inventor/elements/SoDrawStyleElement.h>
55#include <Inventor/fields/SoSFEnum.h>
56#include <Inventor/fields/SoSFFloat.h>
57#include <Inventor/fields/SoSFInt32.h>
58#include <Inventor/fields/SoSFUShort.h>
59#include <Inventor/fields/SoSFBool.h>
60#include <Inventor/nodes/SoNode.h>
61
63//
64// Class: SoDrawStyle
65//
66// Draw style node.
67//
69
72class SoRayPickAction;
74
142class SoDrawStyle : public SoNode {
143
144 SO_NODE_HEADER(SoDrawStyle);
145
146 public:
170
171 // Fields
177
189
201
214
223
228
233 inline virtual void setOverride(const SbBool state)
234 { override.setValue(state); }
235
239 inline virtual SbBool isOverride() const
240 { return override.getValue(); }
241
242 private:
243 virtual void doAction(SoAction *action);
244 virtual void GLRender(SoGLRenderAction *action);
245 virtual void callback(SoCallbackAction *action);
246 virtual void rayPick(SoRayPickAction *action);
247
248 virtual void getBoundingBox(SoGetBoundingBoxAction *action);
249
250 private:
251 static void initClass();
252 static void exitClass();
253
254 SoSFBool override;
255
256 private:
257 virtual ~SoDrawStyle();
258};
259
260#endif /* _SO_DRAW_STYLE_ */
261
Abstract base class for all actions.
Definition SoAction.h:132
Performs a generic traversal of a scene graph or path.
@ FILLED
Filled regions.
@ LINES
Outlined regions.
Node that defines the style to use when rendering.
virtual void setOverride(const SbBool state)
Set the state of the override field.
SoSFUShort linePattern
Stipple pattern for lines (for LINES style).
SoDrawStyle()
Creates a drawing style node with default settings.
SoSFInt32 linePatternScaleFactor
Stipple pattern scale factor (for LINES style).
virtual SbBool isOverride() const
Returns the state of the override field.
SoSFFloat lineWidth
Width of lines (for LINES style).
SoSFFloat pointSize
Radius of points (for POINTS style).
SoSFEnum style
Drawing style.
Style
Draw styles.
@ FILLED
Draw filled regions.
@ POINTS
Draw points at vertices.
@ INVISIBLE
Do not draw anything at all.
@ LINES
Draw only outlines (wireframe)
@ MARKERS
Draw markers.
Renders a scene graph using Open Inventor's Render Engine.
Computes bounding box of a scene.
Abstract base class for all database nodes.
Definition SoNode.h:145
Intersects objects with a ray cast into scene.
Field containing a single Boolean value.
Definition SoSFBool.h:79
Field containing an enumerated value.
Definition SoSFEnum.h:89
Field containing a floating-point value.
Definition SoSFFloat.h:78
Field containing a int32_t integer.
Definition SoSFInt32.h:80
Field containing an unsigned short integer.
Definition SoSFUShort.h:79
int SbBool
Boolean type.
Definition SbBase.h:87