---
name: "SoGLEnvironmentElement"
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/SoGLEnvironmentElement"
---

# SoGLEnvironmentElement(3)

The SoGLEnvironmentElement class is for setting GL fog etc.

## NAME

SoGLEnvironmentElement - The **SoGLEnvironmentElement** class is for setting GL fog etc.

## SYNOPSIS

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

Inherits **SoEnvironmentElement**.

### Public Member Functions

virtual void **init** (**SoState** \*state)\
 virtual void **pop** (**SoState** \*state, const **SoElement** \*prevTopElement)\

Public Member Functions inherited from **SoEnvironmentElement** virtual void **print** (FILE \*file) const\
 FIXME: write doc.

Public Member Functions inherited from **SoReplacedElement** virtual SbBool **matches** (const **SoElement** \*element) const\
 virtual **SoElement** \* **copyMatchInfo** () const\
 SbUniqueId **getNodeId** () const\

Public Member Functions inherited from **SoElement** const **SoType** **getTypeId** (void) const\
 int **getStackIndex** (void) const\
 virtual void **push** (**SoState** \*state)\
 void **setDepth** (const int **depth**)\
 int **getDepth** (void) const\
 virtual **~SoElement** ()\

### Static Public Member Functions

static **SoType** **getClassTypeId** (void)\
 static int **getClassStackIndex** (void)\
 static void \* **createInstance** (void)\
 static void **initClass** (void)\

Static Public Member Functions inherited from **SoEnvironmentElement** static **SoType** **getClassTypeId** (void)\
 static int **getClassStackIndex** (void)\
 static void \* **createInstance** (void)\
 static void **initClass** (void)\
 static void **set** (**SoState** \*const state, **SoNode** \*const node, const float **ambientIntensity**, const **SbColor** &**ambientColor**, const **SbVec3f** &**attenuation**, const int32\_t **fogType**, const **SbColor** &**fogColor**, const float **fogVisibility**, const float **fogStart**=0.0f)\
 FIXME: write doc.  static void **get** (**SoState** \*const state, float &**ambientIntensity**, **SbColor** &**ambientColor**, **SbVec3f** &**attenuation**, int32\_t &**fogType**, **SbColor** &**fogColor**, float &**fogVisibility**, float &**fogStart**)\
 FIXME: write doc.  static float **getAmbientIntensity** (**SoState** \*const state)\
 FIXME: write doc.  static float **getFogVisibility** (**SoState** \*const state)\
 FIXME: write doc.  static const **SbVec3f** & **getLightAttenuation** (**SoState** \*const state)\
 FIXME: write doc.  static const **SbColor** & **getAmbientColor** (**SoState** \*const state)\
 FIXME: write doc.  static const **SbColor** & **getFogColor** (**SoState** \*const state)\
 FIXME: write doc.  static int32\_t **getFogType** (**SoState** \*const state)\
 FIXME: write doc.  static void **getDefault** (float &**ambientIntensity**, **SbColor** &**ambientColor**, **SbVec3f** &**attenuation**, int32\_t &**fogType**, **SbColor** &**fogColor**, float &**fogVisibility**, float &fogNear)\
 FIXME: write doc.

Static Public Member Functions inherited from **SoReplacedElement** static **SoType** **getClassTypeId** (void)\
 static int **getClassStackIndex** (void)\
 static void **initClass** (void)\

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 **~SoGLEnvironmentElement** ()\
 virtual void **setElt** (**SoState** \*const state, const float **ambientIntensity**, const **SbColor** &**ambientColor**, const **SbVec3f** &**attenuation**, const int32\_t **fogType**, const **SbColor** &**fogColor**, const float **fogVisibility**, const float **fogStart**)\
 FIXME: doc.

Protected Member Functions inherited from **SoEnvironmentElement** virtual **~SoEnvironmentElement** ()\

Protected Member Functions inherited from **SoReplacedElement** virtual **~SoReplacedElement** ()\

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\

### Additional Inherited Members

Public Types inherited from **SoEnvironmentElement** enum **FogType** { **NONE**, **HAZE**, **FOG**, **SMOKE** }\

Static Protected Member Functions inherited from **SoReplacedElement** static **SoElement** \* **getElement** (**SoState** \*const state, const int **stackIndex**, **SoNode** \*const node)\

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)\

Protected Attributes inherited from **SoEnvironmentElement** float **ambientIntensity**\
 **SbColor** **ambientColor**\
 **SbVec3f** **attenuation**\
 int32\_t **fogType**\
 **SbColor** **fogColor**\
 float **fogVisibility**\
 float **fogStart**\

Protected Attributes inherited from **SoReplacedElement** SbUniqueId **nodeId**\

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

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

## Detailed Description

The **SoGLEnvironmentElement** class is for setting GL fog etc.

## Constructor & Destructor Documentation

### SoGLEnvironmentElement::~SoGLEnvironmentElement () \[protected\], \[virtual\]

Destructor.

## Member Function Documentation

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

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

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

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

### void \* SoGLEnvironmentElement::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 SoGLEnvironmentElement::initClass (void ) \[static\]

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

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

Initializes the element to its default value. The defaults for the environment settings are:

**SoEnvironmentElement::ambientIntensity** = 0.2 **SoEnvironmentElement::ambientColor** = **SbColor**(1.0, 1.0, 1.0) **SoEnvironmentElement::attenuation** = **SbVec3f**(0.0, 0.0, 1.0) **SoEnvironmentElement::fogType** = SoEnvironmentElement::NONE **SoEnvironmentElement::fogColor** = **SbColor**(1.0, 1.0, 1.0) **SoEnvironmentElement::fogVisibility** = 0.0 **SoEnvironmentElement::fogStart** = 0.0

Reimplemented from **SoEnvironmentElement**.

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

This method is called when the state is popped, and the depth of the element is bigger than the current state depth. **pop()** is called on the new top of stack, and a pointer to the previous top of stack is passed in *prevTopElement*.

Override this method if you need to copy some state information from the previous top of stack.

Reimplemented from **SoElement**.

### void SoGLEnvironmentElement::setElt (SoState \*const state, const float ambientIntensity, const SbColor & ambientColor, const SbVec3f & attenuation, const int32\_t fogType, const SbColor & fogColor, const float fogVisibility, const float fogNear) \[protected\], \[virtual\]

FIXME: doc.

Reimplemented from **SoEnvironmentElement**.

## Author

Generated automatically by Doxygen for Coin from the source code.
