Open CASCADE Technology
6.5.4
|
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>
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. |
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 | ||
) |
Quantity_Color Visual3d_Light::Color | ( | ) | const |
Standard_Boolean Visual3d_Light::Headlight | ( | ) | const |
static Standard_Integer Visual3d_Light::Limit | ( | ) | [static] |
void Visual3d_Light::SetAngle | ( | const Standard_Real | AngleCone | ) |
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 | ) | const |
void Visual3d_Light::Values | ( | Quantity_Color & | Color, |
Graphic3d_Vector & | Direction | ||
) | 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_Vertex & | Position, | ||
Graphic3d_Vector & | Direction, | ||
Standard_Real & | Concentration, | ||
Standard_Real & | Fact1, | ||
Standard_Real & | Fact2, | ||
Standard_Real & | AngleCone | ||
) | const |