Open Inventor Reference
SoLineHighlightRenderAction.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (C) 2000 Silicon Graphics, Inc. All Rights Reserved.
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * Further, this software is distributed without any warranty that it is
16  * free of the rightful claim of any third person regarding infringement
17  * or the like. Any license provided herein, whether implied or
18  * otherwise, applies only to this software file. Patent licenses, if
19  * any, provided herein do not apply to combinations of this program with
20  * other software, or any other product whatsoever.
21  *
22  * You should have received a copy of the GNU Lesser General Public
23  * License along with this library; if not, write to the Free Software
24  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25  *
26  * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
27  * Mountain View, CA 94043, or:
28  *
29  * http://www.sgi.com
30  *
31  * For further information regarding this notice, see:
32  *
33  * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
34  *
35  */
36 
37 
38 /*
39  * Copyright (C) 1990-93 Silicon Graphics, Inc.
40  *
41  _______________________________________________________________________
42  ______________ S I L I C O N G R A P H I C S I N C . ____________
43  |
44  |
45  | $Revision: 1.1.1.1 $
46  |
47  | Description:
48  | This is the SoLineHighlightRenderAction class, used to highlight
49  | the selection by drawing the selected shapes in wireframe.
50  |
51  | Classes : SoLineHighlightRenderAction
52  |
53  | Author(s) : David Mott
54  |
55  ______________ S I L I C O N G R A P H I C S I N C . ____________
56  _______________________________________________________________________
57  */
58 
59 
60 #ifndef _SO_LINE_HIGHLIGHT_RENDER_ACTION_
61 #define _SO_LINE_HIGHLIGHT_RENDER_ACTION_
62 
64 
65 class SbColor;
66 class SoSeparator;
67 class SoLightModel;
68 class SoBaseColor;
69 class SoDrawStyle;
70 class SoTexture2;
71 
78 
81 
101 
104  public:
105 
108 
111 
112 
114 
118  virtual void apply(SoNode *node);
119 
123  virtual void apply(SoPath *path);
127  virtual void apply(const SoPathList &pathList,
128  bool obeysRules = FALSE);
129 
136  void setVisible(bool b) { hlVisible = b; }
138  bool isVisible() const { return hlVisible; }
139 
143  void setColor( const SbColor &c );
145  const SbColor & getColor();
151  void setLinePattern( unsigned short pattern );
153  unsigned short getLinePattern();
155  void setLineWidth( float width );
157  float getLineWidth();
158 
159  SoINTERNAL public:
160  static void initClass();
161 
162  protected:
169 
170  bool hlVisible;
171 
172  private:
173  void constructorCommon();
174 };
175 
176 #endif /* _SO_LINE_HIGHLIGHT_RENDER_ACTION_ */
177 
#define FALSE
Definition: SbBasic.h:79
#define SoINTERNAL
Definition: SbBasic.h:155
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
Definition: SbSystem.h:81
#define SO_ACTION_HEADER(className)
Macros to be called within the class definition header for an action subclass:
Definition: SoSubAction.h:87
Color vector class.
Definition: SbColor.h:84
Class for representing a viewport.
Node that defines an object's base color.
Definition: SoBaseColor.h:94
Node that defines the style to use when rendering.
Definition: SoDrawStyle.h:101
Renders a scene graph using OpenGL.
Node that defines the lighting model to use when rendering.
Definition: SoLightModel.h:92
Line highlight - a subclass of SoGLRenderAction which renders the scene graph, then renders wireframe...
virtual ~SoLineHighlightRenderAction()
void setColor(const SbColor &c)
Set the color of the highlight.
virtual void apply(SoPath *path)
This renders the passed scene graph, and also renders each selected object in wireframe,...
SoSeparator * localRoot
Nodes which comprise the local highlight graph.
void setLineWidth(float width)
Set the line width.
SoLineHighlightRenderAction()
Constructor.
unsigned short getLinePattern()
Get the line pattern of the highlight.
virtual void apply(const SoPathList &pathList, bool obeysRules=FALSE)
This renders the passed scene graph, and also renders each selected object in wireframe,...
void setVisible(bool b)
This provides a convenient mechansim for turning highlights off or back on.
virtual void apply(SoNode *node)
This renders the passed scene graph, and also renders each selected object in wireframe,...
SoLineHighlightRenderAction(const SbViewportRegion &viewportRegion)
Constructor.
void setLinePattern(unsigned short pattern)
Set the line pattern of the highlight.
float getLineWidth()
Get the line width.
bool isVisible() const
Returns whether highlights will be rendered or not.
const SbColor & getColor()
Get the color of the highlight.
Abstract base class for all database nodes.
Definition: SoNode.h:103
Maintains a list of pointers to paths.
Definition: SoLists.h:212
Path that points to a list of hierarchical nodes.
Definition: SoPath.h:109
Group node that saves and restores traversal state.
Definition: SoSeparator.h:118
Texture mapping node.
Definition: SoTexture2.h:143