---
name: "SoDepthBufferElement"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoDepthBufferElement"
---

# SoDepthBufferElement(3)

The SoDepthBufferElement controls the depth buffer settings.

## NAME

SoDepthBufferElement - The **SoDepthBufferElement** controls the depth buffer settings.

## SYNOPSIS

\#include \<Inventor/elements/SoDepthBufferElement.h\>

Inherits **SoElement**.

Inherited by **SoGLDepthBufferElement**.

### Public Types

enum **DepthWriteFunction** { **NEVER**, **ALWAYS**, **LESS**, **LEQUAL**, **EQUAL**, **GEQUAL**, **GREATER**, **NOTEQUAL** }\

### Public Member Functions

virtual void **init** (**SoState** \*state)\
 virtual void **push** (**SoState** \*state)\
 virtual void **pop** (**SoState** \*state, const **SoElement** \*prevTopElement)\
 virtual SbBool **matches** (const **SoElement** \*element) const\
 virtual **SoElement** \* **copyMatchInfo** (void) const\

Public Member Functions inherited from **SoElement** const **SoType** **getTypeId** (void) const\
 int **getStackIndex** (void) const\
 void **setDepth** (const int **depth**)\
 int **getDepth** (void) const\
 virtual void **print** (FILE \*file=stdout) const\
 virtual **~SoElement** ()\

### Static Public Member Functions

static **SoType** **getClassTypeId** (void)\
 static int **getClassStackIndex** (void)\
 static void \* **createInstance** (void)\
 static void **initClass** (void)\
 static void **set** (**SoState** \*state, SbBool test, SbBool write, DepthWriteFunction function, **SbVec2f** range)\
 static void **get** (**SoState** \*state, SbBool &test\_out, SbBool &write\_out, DepthWriteFunction &function\_out, **SbVec2f** &range\_out)\
 static SbBool **getTestEnable** (**SoState** \*state)\
 static SbBool **getWriteEnable** (**SoState** \*state)\
 static DepthWriteFunction **getFunction** (**SoState** \*state)\
 static **SbVec2f** **getRange** (**SoState** \*state)\

Static Public Member Functions inherited from **SoElement** static void **initClass** (void)\
 static **SoType** **getClassTypeId** (void)\
 static int **getClassStackIndex** (void)\
 static void **initElements** (void)\
 static int **getNumStackIndices** (void)\
 static **SoType** **getIdFromStackIndex** (const int **stackIndex**)\

### Protected Member Functions

virtual **~SoDepthBufferElement** ()\
 virtual void **setElt** (SbBool test, SbBool write, DepthWriteFunction function, **SbVec2f** range)\

Protected Member Functions inherited from **SoElement** **SoElement** (void)\
 void **capture** (**SoState** \*const state) const\
 virtual void **captureThis** (**SoState** \*state) const\
 void **setTypeId** (const **SoType** **typeId**)\
 void **setStackIndex** (const int index)\
 **SoElement** \* **getNextInStack** (void) const\
 **SoElement** \* **getNextFree** (void) const\

### Protected Attributes

SbBool **test**\
 SbBool **write**\
 DepthWriteFunction **function**\
 **SbVec2f** **range**\

Protected Attributes inherited from **SoElement** **SoType** **typeId**\
 int **stackIndex**\
 int **depth**\

### Additional Inherited Members

Static Protected Member Functions inherited from **SoElement** static **SoElement** \* **getElement** (**SoState** \*const state, const int **stackIndex**)\
 static const **SoElement** \* **getConstElement** (**SoState** \*const state, const int **stackIndex**)\
 static int **createStackIndex** (const **SoType** id)\

Static Protected Attributes inherited from **SoElement** static int **classStackIndex**\
 static **SoTypeList** \* **stackToType**\

## Detailed Description

The **SoDepthBufferElement** controls the depth buffer settings.

Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.\
 **Since**

Coin 3.0

## Constructor & Destructor Documentation

### SoDepthBufferElement::~SoDepthBufferElement (void ) \[protected\], \[virtual\]

Destructor.

## Member Function Documentation

### SoType SoDepthBufferElement::getClassTypeId (void ) \[static\]

This static method returns the **SoType** object associated with objects of this class.

This static method returns the class type.

### int SoDepthBufferElement::getClassStackIndex (void ) \[static\]

This static method returns the state stack index for the class.

### void \* SoDepthBufferElement::createInstance (void ) \[static\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

 Creates a new instance of the class type corresponding to the **SoType** object.

### void SoDepthBufferElement::initClass (void ) \[static\]

Initialize relevant common data for all instances, like the type system.

### void SoDepthBufferElement::set (SoState \* state, SbBool test, SbBool write, DepthWriteFunction function, SbVec2f range) \[static\]

Set this element's values.

### void SoDepthBufferElement::get (SoState \* state, SbBool & test\_out, SbBool & write\_out, DepthWriteFunction & function\_out, SbVec2f & range\_out) \[static\]

Fetches this element's values.

### SbBool SoDepthBufferElement::getTestEnable (SoState \* state) \[static\]

Returns the depth test enabled state.

### SbBool SoDepthBufferElement::getWriteEnable (SoState \* state) \[static\]

Returns the depth buffer write enabled state.

### SoDepthBufferElement::DepthWriteFunction SoDepthBufferElement::getFunction (SoState \* state) \[static\]

Returns the set depth buffer write function.

### SbVec2f SoDepthBufferElement::getRange (SoState \* state) \[static\]

Returns the depth buffer value range used.

### void SoDepthBufferElement::init (SoState \* state) \[virtual\]

Internal Coin method.

Reimplemented from **SoElement**.

Reimplemented in **SoGLDepthBufferElement**.

### void SoDepthBufferElement::push (SoState \* state) \[virtual\]

Internal Coin method.

Reimplemented from **SoElement**.

Reimplemented in **SoGLDepthBufferElement**.

### void SoDepthBufferElement::pop (SoState \* state, const SoElement \* prevTopElement) \[virtual\]

Internal Coin method.

Reimplemented from **SoElement**.

Reimplemented in **SoGLDepthBufferElement**.

### SbBool SoDepthBufferElement::matches (const SoElement \* element) const \[virtual\]

Internal Coin method.

Implements **SoElement**.

### SoElement \* SoDepthBufferElement::copyMatchInfo (void ) const \[virtual\]

Internal Coin method.

Implements **SoElement**.

### void SoDepthBufferElement::setElt (SbBool test, SbBool write, DepthWriteFunction function, SbVec2f range) \[protected\], \[virtual\]

Virtual method to set the state to get derived elements updated.

Reimplemented in **SoGLDepthBufferElement**.

## Author

Generated automatically by Doxygen for Coin from the source code.
