Open CASCADE Technology 6.6.0
Public Member Functions | Static Public Member Functions
Visual3d_Light Class Reference

This class defines and updates light sources.
There is no limit to the number of light sources defined.
Only the number of active sources is limited.

TypeOfLightSource = TOLS_AMBIENT
TOLS_DIRECTIONAL
TOLS_POSITIONAL
TOLS_SPOT

Angle is a radian value.
Concentration, Attenuation are in the [0,1] interval.

#include <Visual3d_Light.hxx>

Inheritance diagram for Visual3d_Light:
Inheritance graph
[legend]

Public Member Functions

 Visual3d_Light ()
 Creates a light from default values.
Light sources are created in a visualiser
and are activated in one of its views.

Type = TOLS_AMBIENT
Color = WHITE

 Visual3d_Light (const Quantity_Color &Color)
 Creates an AMBIENT light source.
Light sources are created in a visualiser
and are activated in one of its views.

 Visual3d_Light (const Quantity_Color &Color, const Graphic3d_Vector &Direction, const Standard_Boolean Headlight=Standard_False)
 Creates a DIRECTIONAL light source.
Light sources are created in a visualiser
and are activated in one of its views.
Warning: Raises LightDefinitionError if <Direction> is null.

 Visual3d_Light (const Quantity_Color &Color, const Graphic3d_Vertex &Position, const Standard_Real Fact1, const Standard_Real Fact2)
 Creates a POSITIONAL light source.
Light sources are created in a visualiser
and are activated in one of its views.
Warning: Raises LightDefinitionError
if <Fact1> and <Fact2> are null.
if <Fact1> is a negative value or greater than 1.0.
if <Fact2> is a negative value or greater than 1.0.

 Visual3d_Light (const Quantity_Color &Color, const Graphic3d_Vertex &Position, const Graphic3d_Vector &Direction, const Standard_Real Concentration, const Standard_Real Fact1, const Standard_Real Fact2, const Standard_Real AngleCone)
 Creates a SPOT light source.
Light sources are created in a visualiser
and are activated in one of its views.
<Concentration> specifies the intensity distribution of
the light.
<AngleCone> specifies the angle (radians) of the cone
created by the spot.
the global attenuation is equal :
1 / (Fact1 + Fact2 * (norm(ObjectPosition - LightPosition)))
Warning: Raises LightDefinitionError
if <Direction> is null.
if <Concentration> is a negative value or greater than 1.0.
if <Fact1> and <Fact2> are null.
if <Fact1> is a negative value or greater than 1.0.
if <Fact2> is a negative value or greater than 1.0.
if <AngleCone> is a negative value or greater than PI/2.

void SetAngle (const Standard_Real AngleCone)
 Modifies the angle (radians) of the cone created by the spot.
Works only on TOLS_SPOT lights.
Category: Methods to modify the class definition
Warning: Raises LightDefinitionError
if the type of the light is not TOLS_SPOT.
if <AngleCone> is a negative value or greater than PI/2.

void SetAttenuation1 (const Standard_Real Fact1)
 Modifies the attenuation factor of the light.
Works only on the TOLS_POSITIONAL and TOLS_SPOT lights.
Category: Methods to modify the class definition
Warning: Raises LightDefinitionError
if the type of the light is not TOLS_SPOT or TOLS_POSITIONAL.
if <Fact1> is a negative value or greater than 1.0.

void SetAttenuation2 (const Standard_Real Fact2)
 Modifies the attenuation factor of the light.
Works only on the TOLS_POSITIONAL and TOLS_SPOT lights.
Category: Methods to modify the class definition
Warning: Raises LightDefinitionError
if the type of the light is not TOLS_POSITIONAL or TOLS_SPOT.
if <Fact2> is a negative value or greater than 1.0..

void SetColor (const Quantity_Color &Color)
 Modifies the colour of the light.

void SetConcentration (const Standard_Real Concentration)
 Modifies the intensity distribution of the light.
Works only on the TOLS_SPOT lights.
Category: Methods to modify the class definition
Warning: Raises LightDefinitionError
if the type of the light is not TOLS_SPOT.
if <Concentration> is a negative value or greater than 1.0.

void SetDirection (const Graphic3d_Vector &Direction)
 Modifies the light direction.
Works only on the TOLS_DIRECTIONAL and TOLS_SPOT lights.
Default z
Category: Methods to modify the class definition
Warning: Raises LightDefinitionError
if the type of the light is not TOLS_DIRECTIONAL
or TOLS_SPOT.
if <Direction> is null.

void SetPosition (const Graphic3d_Vertex &Position)
 Modifies the position of the light.
Works only on the TOLS_POSITIONAL and TOLS_SPOT lights.
Category: Methods to modify the class definition
Warning: Raises LightDefinitionError
if the type of the light is not TOLS_POSITIONAL or TOLS_SPOT.

Standard_Boolean Headlight () const
 Returns the headlight state of the light <me>

Quantity_Color Color () const
 Returns the colour of the light <me>.

Visual3d_TypeOfLightSource LightType () const
 Returns the light type of <me>.

TypeOfLightSource = TOLS_AMBIENT
TOLS_DIRECTIONAL
TOLS_POSITIONAL
TOLS_SPOT


void Values (Quantity_Color &Color) const
 Returns the definition of <me> if <me> is
a light source of the TOLS_AMBIENT type.
Category: Inquire methods
Warning: Raises LightDefinitionError
if the type of the light is not TOLS_AMBIENT.

void Values (Quantity_Color &Color, Graphic3d_Vector &Direction) const
 Returns the definition of <me> if <me> is
a light source of the TOLS_DIRECTIONAL type.
Category: Inquire methods
Warning: Raises LightDefinitionError
if the type of the light is not TOLS_DIRECTIONAL.

void Values (Quantity_Color &Color, Graphic3d_Vertex &Position, Standard_Real &Fact1, Standard_Real &Fact2) const
 Returns the definition of <me> if <me> is
a light source of the TOLS_POSITIONAL type.
Category: Inquire methods
Warning: Raises LightDefinitionError
if the type of the light is not TOLS_POSITIONAL.

void Values (Quantity_Color &Color, Graphic3d_Vertex &Position, Graphic3d_Vector &Direction, Standard_Real &Concentration, Standard_Real &Fact1, Standard_Real &Fact2, Standard_Real &AngleCone) const
 Returns the definition of <me> if <me> is
a light source of the TOLS_SPOT type.
Category: Inquire methods
Warning: Raises LightDefinitionError
if the type of the light is not TOLS_SPOT.

Static Public Member Functions

static Standard_Integer Limit ()
 Maximum number of activatable light sources.


Constructor & Destructor Documentation

Visual3d_Light::Visual3d_Light ( )
Visual3d_Light::Visual3d_Light ( const Quantity_Color Color)
Visual3d_Light::Visual3d_Light ( const Quantity_Color Color,
const Graphic3d_Vector Direction,
const Standard_Boolean  Headlight = Standard_False 
)
Visual3d_Light::Visual3d_Light ( const Quantity_Color Color,
const Graphic3d_Vertex Position,
const Standard_Real  Fact1,
const Standard_Real  Fact2 
)
Visual3d_Light::Visual3d_Light ( const Quantity_Color Color,
const Graphic3d_Vertex Position,
const Graphic3d_Vector Direction,
const Standard_Real  Concentration,
const Standard_Real  Fact1,
const Standard_Real  Fact2,
const Standard_Real  AngleCone 
)

Member Function Documentation

Quantity_Color Visual3d_Light::Color ( ) const
Standard_Boolean Visual3d_Light::Headlight ( ) const
Visual3d_TypeOfLightSource Visual3d_Light::LightType ( ) const
static Standard_Integer Visual3d_Light::Limit ( ) [static]
void Visual3d_Light::SetAngle ( const Standard_Real  AngleCone)
void Visual3d_Light::SetAttenuation1 ( const Standard_Real  Fact1)
void Visual3d_Light::SetAttenuation2 ( const Standard_Real  Fact2)
void Visual3d_Light::SetColor ( const Quantity_Color Color)
void Visual3d_Light::SetConcentration ( const Standard_Real  Concentration)
void Visual3d_Light::SetDirection ( const Graphic3d_Vector Direction)
void Visual3d_Light::SetPosition ( const Graphic3d_Vertex Position)
void Visual3d_Light::Values ( Quantity_Color Color,
Graphic3d_Vertex Position,
Graphic3d_Vector Direction,
Standard_Real Concentration,
Standard_Real Fact1,
Standard_Real Fact2,
Standard_Real AngleCone 
) const
void Visual3d_Light::Values ( Quantity_Color Color) const
void Visual3d_Light::Values ( Quantity_Color Color,
Graphic3d_Vertex Position,
Standard_Real Fact1,
Standard_Real Fact2 
) const
void Visual3d_Light::Values ( Quantity_Color Color,
Graphic3d_Vector Direction 
) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines