Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
SoRenderAreaCore.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-2023 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20
21#ifndef _SO_RENDER_AREA_CORE_
22#define _SO_RENDER_AREA_CORE_
23
24#include <Inventor/sys/port.h>
25
26#if defined(_WIN32) && !defined(OIV_DISABLE_AUTOLINK) && !defined(ViewerComponents_EXPORTS) && !defined(Inventor_EXPORTS)
27# if !defined(__VIEWER_COMPONENTS_LIB)
28# if defined(_DEBUG)
29# define __VIEWER_COMPONENTS_LIB "fei_inventor_ViewerComponentsD.lib"
30# else
31# define __VIEWER_COMPONENTS_LIB "fei_inventor_ViewerComponents.lib"
32# endif
33# endif
34# pragma comment(lib, __VIEWER_COMPONENTS_LIB)
35#endif
36
37#include <Inventor/misc/SoRefCounter.h>
38#include <Inventor/SbLinear.h>
39#include <Inventor/actions/SoGLRenderAction.h>
40#include <Inventor/SbPImpl.h>
41#include <Inventor/nodes/SoInteractiveComplexity.h>
42#include <Inventor/ViewerComponents/SiRenderAreaAntialiasing.h>
43#include <Inventor/ViewerComponents/SiRenderAreaTransparency.h>
44#include <Inventor/ViewerComponents/SiRenderAreaStereo.h>
45#include <Inventor/ViewerComponents/SiRenderAreaInteractive.h>
46#include <Inventor/ViewerComponents/SiRenderArea.h>
47#include <Inventor/ViewerComponents/SiRenderAreaStillSuperSampling.h>
48
49class SoGLContext;
50class SoSceneManager;
51class SoEvent;
53
54SO_PIMPL_BASE_PUBLIC_DECLARATION(SoRenderAreaCore);
55
80{
81
82 SO_PIMPL_BASE_PUBLIC_HEADER(SoRenderAreaCore);
83
84public:
85
90
96 virtual void setSceneGraph(SoNode *newScene);
97
101 virtual SoNode* getSceneGraph() const;
102
107 virtual SbBool processEvent(const SoEvent *event);
108
113 virtual SbBool processEvents(const std::vector<const SoEvent*>& eventList);
114
122
127 virtual void setSize(const SbVec2i32& size);
128
132 virtual SbVec2i32 getSize() const;
133
137 virtual void setGLRenderAction( SoGLRenderAction* glAction );
138
143
154
159
164
165#if 1 SoDEPRECATED
172SoDEPRECATED
178#endif
192 virtual void setStereoParameters(SoStereoParameters* parameters);
193
198
212 virtual void activateStereo(bool activate);
213
217 virtual bool isStereoActivated() const;
218
224
229
235 virtual void setAntialiasingQuality(float quality);
236
240 virtual float getAntialiasingQuality() const;
241
249 virtual void setClearPolicy(ClearPolicy policy);
250
255
264 virtual void setClearColor(const SbColorRGBA& color);
265
269 virtual SbColorRGBA getClearColor() const;
270
277 virtual void setClearDepth(float depth);
278
282 virtual float getClearDepth() const;
283
288
296 virtual void setStillSuperSamplingQuality(float quality);
297
301 virtual float getStillSuperSamplingQuality() const;
302
310 virtual void setStillSuperSamplingDelay(unsigned int delay);
311
315 virtual unsigned int getStillSuperSamplingDelay() const;
316
317private:
318
322 void invalidateGLContext();
323
327 SoGLContext* getGLContext() const;
328
329
336
337private:
338
342 virtual ~SoRenderAreaCore();
343
344};
345
346#endif // _SO_RENDER_AREA_CORE_
347
348
ColorRGBA vector class.
Definition SbColorRGBA.h:61
Class representing an event.
2D vector class.
Definition SbVec.h:517
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> RenderArea antia...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> RenderArea inter...
RenderStatus
Returned by the render method.
ClearPolicy
Policy values to clear color and depth buffers beforing rendering.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> RenderArea inter...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> RenderArea stere...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> RenderArea still...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> RenderArea trans...
Base class for all events.
Definition SoEvent.h:116
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> OpenGL context m...
Renders a scene graph using Open Inventor's Render Engine.
TransparencyType
Transparency rendering algorithm.
Abstract base class for all database nodes.
Definition SoNode.h:145
Base class for ref-counted objects.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> (Preview feature...
virtual void setSize(const SbVec2i32 &size)
Defines the size to use for rendering.
virtual SoGLRenderAction * getGLRenderAction() const
Returns the render action used for rendering.
virtual SoStereoParameters * getStereoParameters() const
virtual RenderStatus render()
Applies an SoGLRenderAction to the scene graph managed here.
virtual void setSceneGraph(SoNode *newScene)
Defines the scene graph which is managed here.
virtual SoDEPRECATED SoInteractiveComplexity::InteractiveMode getInteractiveMode() const
virtual bool isStereoActivated() const
virtual SbBool processEvent(const SoEvent *event)
Processes the passed event by applying an SoHandleEventAction to the scene graph managed here.
virtual float getStillSuperSamplingQuality() const
virtual float getAntialiasingQuality() const
virtual SbColorRGBA getClearColor() const
virtual void setStillSuperSamplingDelay(unsigned int delay)
Set delay for supersampling when "still" (not interacting).
virtual void setAntialiasingQuality(float quality)
Define the antialiasing quality value.
virtual SbEventHandler< RenderEventArg & > & onStartRender()
Returns the event handler that raises when a new render starts.
virtual SoSceneManager::AntialiasingMode getAntialiasingMode() const
virtual void setTransparencyType(SoGLRenderAction::TransparencyType type)
Defines the algorithm for rendering transparent objects.
SoRenderAreaCore(SoGLContext *glContext)
Build a new SoRenderAreaCore that uses an existing glContext.
virtual void setClearDepth(float depth)
Defines the depth value used when the depth buffer is cleared.
SoSceneManager * getSceneManager() const
Returns the scene manager.
virtual void setAntialiasingMode(SoSceneManager::AntialiasingMode mode)
Define the antialiasing mode.
virtual SbVec2i32 getSize() const
virtual void activateStereo(bool activate)
Activate (or deactivate) stereo rendering with specified parameters (see setStereoParameters).
virtual SoNode * getSceneGraph() const
virtual void setClearColor(const SbColorRGBA &color)
Defines the RGBA value used when the color buffer is cleared.
virtual SoGLRenderAction::TransparencyType getTransparencyType() const
virtual void setStereoParameters(SoStereoParameters *parameters)
Defines the stereo parameters.
virtual SoDEPRECATED void setInteractiveMode(SoInteractiveComplexity::InteractiveMode mode)
Set the current interactive mode.
virtual SbBool processEvents(const std::vector< const SoEvent * > &eventList)
Processes the passed event by applying an SoHandleEventAction to the scene graph managed here.
virtual void setClearPolicy(ClearPolicy policy)
Defines the color buffer and depth buffer clear policy.
virtual void setStillSuperSamplingQuality(float quality)
Set quality for supersampling when "still" (not interacting).
virtual ClearPolicy getClearPolicy() const
virtual float getClearDepth() const
virtual unsigned int getStillSuperSamplingDelay() const
virtual void setGLRenderAction(SoGLRenderAction *glAction)
Defines the render action used for rendering.
Manages scene graph rendering and event handling.
AntialiasingMode
Enum which indicates the desired antialiasing algorithm.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Stereo parameter...
int SbBool
Boolean type.
Definition SbBase.h:87