---
name: "SoLight"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoLight/3iv"
---

# SoLight(3iv)

abstract base class for all light source nodes

## NAME

SoLight — abstract base class for all light source nodes

## INHERITS FROM

SoBase \> SoFieldContainer \> SoNode \> SoLight

## SYNOPSIS

**#include \<Inventor/nodes/SoLight.h\>**

Fields from class SoLight:

**SoSFBool**	**on**\
 **SoSFFloat**	**intensity**\
 **SoSFColor**	**color**

Methods from class SoLight:

**static SoType**	**getClassTypeId()**

Methods from class SoNode:

**void**	**setOverride(SbBool state)**\
 **SbBool**	**isOverride() const**\
 **SoNode \***	**copy(SbBool copyConnections = FALSE) const**\
 **virtual SbBool**	**affectsState() const**\
 **static SoNode \***	**getByName(const SbName &name)**\
 **static int**	**getByName(const SbName &name, SoNodeList &list)**

Methods from class SoFieldContainer:

**void**	**setToDefaults()**\
 **SbBool**	**hasDefaultValues() const**\
 **SbBool**	**fieldsAreEqual(const SoFieldContainer \*fc) const**\
 **void**	**copyFieldValues(const SoFieldContainer \*fc, SbBool copyConnections = FALSE)**\
 **SbBool**	**set(const char \*fieldDataString)**\
 **void**	**get(SbString &fieldDataString)**\
 **virtual int**	**getFields(SoFieldList &resultList) const**\
 **virtual SoField \***	**getField(const SbName &fieldName) const**\
 **SbBool**	**getFieldName(const SoField \*field, SbName &fieldName) const**\
 **SbBool**	**isNotifyEnabled() const**\
 **SbBool**	**enableNotify(SbBool flag)**

Methods from class SoBase:

**void**	**ref()**\
 **void**	**unref() const**\
 **void**	**unrefNoDelete() const**\
 **void**	**touch()**\
 **virtual SoType**	**getTypeId() const**\
 **SbBool**	**isOfType(SoType type) const**\
 **virtual void**	**setName(const SbName &name)**\
 **virtual SbName**	**getName() const**

## DESCRIPTION

**SoLight** is the abstract base class for all light nodes. A light node defines an illumination source that may affect subsequent shapes in the scene graph, depending on the current lighting style. Light sources are affected by the current transformation. A light node under a separator does not affect any objects outside that separator.

You can also use a node kit to create a light; see the reference page for **SoLightKit**.

## FIELDS

**SoSFBool**	**on**\
 Determines whether the source is active or inactive. When inactive, the source does not illuminate at all.

**SoSFFloat**	**intensity**\
 Illumination intensity of light source. Valid values range from 0.0 (no illumination) to 1.0 (maximum illumination).

**SoSFColor**	**color**\
 Light source illumination color.

## METHODS

**static SoType**	**getClassTypeId()**\
 Returns type identifier for this class.

## ACTION BEHAVIOR

**SoGLRenderAction**\
 Activates this light (if so specified) during traversal. All shape nodes that come after this light in the scene graph are illuminated by this light.

## FILE FORMAT/DEFAULTS

This is an abstract class. See the reference page of a derived class for the format and default values.

## SEE ALSO

**SoDirectionalLight, SoEnvironment, SoLightKit, SoLightModel, SoMaterial, SoPointLight, SoSpotLight**
