Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoHighlightRenderAction.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-2022 BY FEI S.A.S, **
17** BORDEAUX, FRANCE **
18** ALL RIGHTS RESERVED **
19=============================================================================*/
20
21#pragma once
22
23#include <Inventor/actions/SoGLRenderAction.h>
24
25class SoHighlightRenderActionSync;
26class SoTraversalPassHighlight;
27class SoPath;
28class SoSelection;
29
30SO_PIMPL_BASE_PUBLIC_DECLARATION( SoHighlightRenderAction )
31
32
62{
63 SO_ACTION_HEADER( SoHighlightRenderAction );
64 SO_PIMPL_BASE_PUBLIC_HEADER( SoHighlightRenderAction )
65
66public:
67#ifndef HIDDEN_FROM_DOC
72#endif // HIDDEN_FROM_DOC
73
75 virtual void clearApplyResult();
76
82 virtual void apply( SoNode* node );
83
90 void setVisible( SbBool b );
91
96
97private:
98 static void initClass();
99 static void exitClass();
100
104 virtual bool shouldTraverseHighlightPass() const;
105
106SoEXTENDER private:
120 virtual SoNode* getPreTraversalNode() { return nullptr; }
121
131 virtual SoNode* getPostTraversalNode() { return nullptr; }
132
133private:
138
142 SoHighlightRenderAction( const SbViewportRegion& viewportRegion );
143
144private:
145 // Copy Constructor Forbidden
147
148 void commonConstructor();
149
150 friend class ::SoHighlightRenderActionSync;
151 friend class ::SoTraversalPassHighlight;
152 friend class inventor::impl::SoHighlightRenderActionImpl;
153};
2D vector class.
Definition SbVec.h:700
Class for representing a viewport.
Renders a scene graph using Open Inventor's Render Engine.
Abstract base class for Highlight Render Actions.
void setVisible(SbBool b)
This provides a convenient mechanism for turning highlights off or on.
virtual void apply(SoNode *node)
This renders the passed scene graph, and also renders highlighted selected objects as specified by th...
SbBool isVisible() const
Returns whether highlights will be rendered or not.
virtual void clearApplyResult()
When applied, an action may reference nodes or create objects (e.g.
Abstract base class for all database nodes.
Definition SoNode.h:145
Path that points to a list of hierarchical nodes.
Definition SoPath.h:187
Manages a list of selected objects.
int SbBool
Boolean type.
Definition SbBase.h:87