Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
SoLineHighlightRenderAction.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 : David Mott (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-2024 BY FEI S.A.S, ***
42 *** BORDEAUX, FRANCE ***
43 *** ALL RIGHTS RESERVED ***
44**=======================================================================*/
45/*=======================================================================
46** Modified by : VSG (MMM YYYY)
47**=======================================================================*/
48
49
50
51#ifndef _SO_LINE_HIGHLIGHT_RENDER_ACTION_
52#define _SO_LINE_HIGHLIGHT_RENDER_ACTION_
53
54#include <Inventor/actions/SoHighlightRenderAction.h>
55#include <Inventor/nodes/SoGroup.h>
56#include <Inventor/nodes/SoSwitch.h>
57
58class SbColor;
59class SoSeparator;
60class SoLightModel;
61class SoBaseColor;
62class SoDrawStyle;
63class SoTexture2;
65class SoTextProperty;
66class SoSelection;
67
69//
70// Line highlight - a subclass of SoGLRenderAction which renders the
71// scene graph, then renders wireframe boxes surrounding each selected object.
72//
74
173{
175 public:
180
185
186
187#ifndef HIDDEN_FROM_DOC
189#endif // HIDDEN_FROM_DOC
190
196 void setColor( const SbColor &c );
200 const SbColor & getColor();
207 void setLinePattern( unsigned short pattern );
211 unsigned short getLinePattern();
216 void setLineWidth( float width );
225 void setPointSize( float size );
230
231 private:
232 static void initClass();
233 static void exitClass();
234
241 void setLineAlwaysVisible( bool alwaysVisible );
242
243private:
245 virtual SoNode* getPreTraversalNode();
246
247#if 1 SoDEPRECATED
249 // Nodes which comprise the local highlight graph
250 SoSeparator *localRoot;SoDEPRECATED
252 SoLightModel *lightModel;SoDEPRECATED
254 SoBaseColor *baseColor;SoDEPRECATED
256 SoDrawStyle *drawStyle;SoDEPRECATED
258 SoTexture2 *texture;SoDEPRECATED
260 SoTextProperty *textProperties;SoDEPRECATED
263#endif
265 private:
266
267 // Copy Constructor Forbidden
269
270 void constructorCommon();
271
272 SoRef<SoGroup> m_preTraversalNode;
273 SoBaseColor* m_baseColor;
274 SoDrawStyle* m_drawStyle;
275 SoRef<SoSwitch> m_alwaysVisible;
276};
277
278#endif /* _SO_LINE_HIGHLIGHT_RENDER_ACTION_ */
Color vector class.
Definition SbColor.h:82
Class for representing a viewport.
Node that defines an object's base color.
Definition SoBaseColor.h:91
Node that defines the style to use when rendering.
Abstract base class for Highlight Render Actions.
Node that defines the lighting model to use when rendering.
void setColor(const SbColor &c)
Sets the color of the highlight.
void setLineWidth(float width)
Sets the line width of the highlight.
SoLineHighlightRenderAction()
Constructor.
float getPointSize()
Gets the point size of the highlight.
void setPointSize(float size)
Sets the size of points (diameter in pixels) rendered by the highlight.
unsigned short getLinePattern()
Gets the line pattern of the highlight.
const SbColor & getColor()
Gets the color of the highlight.
SoLineHighlightRenderAction(const SbViewportRegion &viewportRegion)
Constructor which takes the normal SoGLRenderAction parameters.
void setLinePattern(unsigned short pattern)
Sets the line pattern of the highlight.
float getLineWidth()
Gets the line width of the highlight.
Node that specifies how multiple materials are bound to shapes.
Abstract base class for all database nodes.
Definition SoNode.h:145
Smart pointer for any class inheriting SoRefCounter.
Definition SoRef.h:90
Manages a list of selected objects.
Group node that saves and restores traversal state.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Text property no...
2D texture mapping node.
Definition SoTexture2.h:261