SoEnvironment(3IV)

SoEnvironment (SoEnv) - global environment node

As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.

NAME
     SoEnvironment (SoEnv) - global environment node

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoEnvironment

SYNOPSIS
     #include <Inventor_c/nodes/SoEnvironment.h>

     typedef SoEnvironment  SoEnv

     enum SoEnvironmentFogType {
          SO_ENV_NONE         No fog
          SO_ENV_HAZE         Linear increase in opacity with distance
          SO_ENV_FOG          Exponential increase in opacity
          SO_ENV_SMOKE        Exponential squared increase in opacity
     }

          Fields from class SoEnvironment:

     SoSFFloat           ambientIntensity
     SoSFColor           ambientColor
     SoSFVec3f           attenuation
     SoSFEnum            fogType
     SoSFColor           fogColor
     SoSFFloat           fogVisibility

          Functions from class SoEnvironment:

     SoEnvironment *     SoEnvCreate()
     SoType              SoEnvGetClassTypeId()

          Functions from class SoNode:

     void                SoEnvSetOverride(SoEnv *this, SbBool state)
     SbBool              SoEnvIsOverride(const SoEnv *this)
     SoNode *            SoEnvCopy(const SoEnv *this, SbBool copyConnections =
                              FALSE)
     SbBool              SoEnvAffectsState(const SoEnv *this)
     SoNode *            SoEnvGetByName(const char *name)
     int                 SoEnvGetByNameList(const char *name, SoNodeList
                              *list)

          Functions from class SoFieldContainer:

     void                SoEnvSetToDflts(SoEnv *this)
     SbBool              SoEnvHasDfltVals(const SoEnv *this)
     SbBool              SoEnvFldsAreEq(const SoEnv *this, const
                              SoFieldContainer *fc)
     void                SoEnvCopyFieldVals(SoEnv *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     SbBool              SoEnvSet(SoEnv *this, const char *fieldDataString)
     void                SoEnvGet(SoEnv *this, SbString *fieldDataString)
     int                 SoEnvGetFields(const SoEnv *this, SoFieldList
                              *resultList)
     SoField *           SoEnvGetField(const SoEnv *this, const char
                              *fieldName)
     SbBool              SoEnvGetFieldName(const SoEnv *this, const SoField
                              *field, SbName *fieldName)
     SbBool              SoEnvIsNotifyEnabled(const SoEnv *this)
     SbBool              SoEnvEnableNotify(SoEnv *this, SbBool flag)

          Functions from class SoBase:

     void                SoEnvRef(SoEnv *this)
     void                SoEnvUnref(const SoEnv *this)
     void                SoEnvUnrefNoDelete(const SoEnv *this)
     void                SoEnvTouch(SoEnv *this)
     SoType              SoEnvGetTypeId(const SoEnv *this)
     SbBool              SoEnvIsOfType(const SoEnv *this, SoType type)
     void                SoEnvSetName(SoEnv *this, const char *name)
     SbName              SoEnvGetName(const SoEnv *this)


DESCRIPTION
     This node describes global environmental attributes such as ambient
     lighting, light attenuation, and fog.

     Ambient lighting is the amount of extra light impinging on each surface
     point when the lighting model is Phong (see SoLightModel).

     Light attenuation affects all subsequent lights in a scene (see SoLight).
     It is a quadratic function of distance from a light source to a surface
     point. The three coefficients are specified in the attenuation field.
     Attenuation works only for light sources with a fixed location, such as
     point and spot lights.

     Fog has one of four types, each of which blends each surface point with
     the specified fog color. Each type interprets the visibility field to be
     the distance at which fog totally obscures objects. A visibility value of
     0 (the default) causes the SoEnvironment node to set up fog so that the
     visibility is the distance to the far clipping plane of the current
     camera.

     Note that this node has effect only during rendering, and that it does
     not inherit field values from other SoEnvironment nodes.

FIELDS
     SoSFFloat           ambientIntensity
     SoSFColor           ambientColor
          Intensity and RGB color of ambient lighting (for Phong lighting).

     SoSFVec3f           attenuation
          Squared, linear, and constant light attenuation coefficients (in
          that order) with respect to distance of light from surface (for
          Phong lighting).

     SoSFEnum            fogType
     SoSFColor           fogColor
     SoSFFloat           fogVisibility
          Type of fog, color of fog, and visibility distance, which is the
          distance at which fog totally obscures objects.


FUNCTIONS
     SoEnvironment *     SoEnvCreate()
          Creates an environment node with default settings.

     SoType              SoEnvGetClassTypeId()
          Returns type identifier for this class.


ACTION BEHAVIOR
     SoGLRenderAction
          Sets the current environment parameters to those specified with this
          node. Successive geometries will be rendered using this environment.


FILE FORMAT/DEFAULTS
     Environment {
          ambientIntensity  0.2
          ambientColor      1 1 1
          attenuation       0 0 1
          fogType           NONE
          fogColor          1 1 1
          fogVisibility     0
     }

SEE ALSO
     SoLight, SoLightModel