Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
SoDepthBuffer.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** Author : VSG (MMM YYYY)
22**=======================================================================*/
23#ifndef _SO_DEPTH_BUFFER_H_
24#define _SO_DEPTH_BUFFER_H_
25
26#include <Inventor/SbPImpl.h>
27#include <Inventor/nodes/SoNode.h>
28#include <Inventor/elements/SoDepthBufferElement.h>
29
30#include <Inventor/fields/SoSFEnum.h>
31#include <Inventor/fields/SoSFBool.h>
32#include <Inventor/fields/SoSFVec2f.h>
33
34
36
37SO_PIMPL_PUBLIC_DECLARATION( SoDepthBuffer )
38
39
91class SoDepthBuffer : public SoNode
92{
93 SO_NODE_HEADER(SoDepthBuffer);
94 SO_PIMPL_PUBLIC_HEADER( SoDepthBuffer )
95
96public:
118
127
132
138
144
157
160
164 inline virtual void setOverride(const SbBool state)
165 { override.setValue(state); }
166
170 inline virtual SbBool isOverride() const
171 { return override.getValue(); }
172
173private:
174
176 virtual void doAction(SoAction *action);
177
179 virtual void callback(SoCallbackAction* action);
180
182 virtual void GLRender(SoGLRenderAction * action);
183
185 virtual void pick(SoPickAction* action);
186
187private:
189 static void initClass();
190
192 static void exitClass();
193
194 SoSFBool override;
195
196private:
198 virtual ~SoDepthBuffer();
199
200private:
201 void commonConstructor();
202};
203
204#endif /* _SO_DEPTH_BUFFER_H_ */
205
206
Abstract base class for all actions.
Definition SoAction.h:132
Performs a generic traversal of a scene graph or path.
@ NOTEQUAL
Passes if the incoming depth value is not equal to the stored depth value.
@ EQUAL
Passes if the incoming depth value is equal to the stored depth value.
@ LESS
Passes if the incoming depth value is less than the stored depth value.
@ GREATER
Passes if the incoming depth value is greater than the stored depth value.
@ GEQUAL
Passes if the incoming depth value is greater than or equal to the stored depth value.
@ LEQUAL
Passes if the incoming depth value is less than or equal to the stored depth value.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Depth buffer par...
SoSFBool test
Enable depth buffer testing (glEnable).
SoSFEnum function
Depth comparison function to use (glDepthFunc).
DepthWriteFunction
Depth function mode as defined by OpenGL.
virtual void setOverride(const SbBool state)
Turns the override flag on or off.
SoSFVec2f range
Value range for the depth buffer (glDepthRange).
SoDepthBuffer()
Constructor.
SoSFBool clearBuffer
If true, the depth buffer is cleared when the node is traversed.
SoSFBool write
Enable depth buffer writing (glDepthMask).
virtual SbBool isOverride() const
Returns the state of the override flag.
Renders a scene graph using Open Inventor's Render Engine.
@ ALWAYS
Render caches are invalidated for each SoSeparator node before its children are traversed.
Abstract base class for all database nodes.
Definition SoNode.h:145
Abstract base class for picking objects in a scene.
Field containing a single Boolean value.
Definition SoSFBool.h:79
Field containing an enumerated value.
Definition SoSFEnum.h:89
Field containing a two-dimensional vector.
Definition SoSFVec2f.h:78
int SbBool
Boolean type.
Definition SbBase.h:87