# Visualization
TKV3d
V3d

# V3d_SpotLight Class Reference

Creation and modification of a spot.
.

`#include <V3d_SpotLight.hxx>`

Inheritance diagram for V3d_SpotLight:

[legend]

## Public Member Functions

Standard_EXPORT

V3d_SpotLight (const Handle(V3d_Viewer)&VM, const V3d_Coordinate X, const V3d_Coordinate Y, const V3d_Coordinate Z, const V3d_TypeOfOrientation Direction=V3d_XnegYnegZpos, const Quantity_NameOfColor Color=Quantity_NOC_WHITE, const Quantity_Coefficient Attenuation1=1.0, const Quantity_Coefficient Attenuation2=0.0, const Quantity_Coefficient Concentration=1.0, const Quantity_PlaneAngle Angle=0.523599)

Creates a light source of the Spot type in the viewer.
The attenuation factor F which determines
the illumination of a surface depends on the following formula :
F = 1/(A1 + A2*Length)
A1,A2 being the 2 factors of attenuation
Length is the distance from the source to the surface.
The default values (1.0,0.0) correspond to a minimum
of attenuation .
The concentration factor determines the dispersion
of the light on the surface, the default value
(1.0) corresponds to a minimum of dispersion .
//! Warning! raises BadValue from Viewer -
If one of the coefficients is not between 0 and 1 .
If the lighting angle is <= 0 ou > PI .
.

Standard_EXPORT

V3d_SpotLight (const Handle(V3d_Viewer)&VM, const V3d_Coordinate Xt, const V3d_Coordinate Yt, const V3d_Coordinate Zt, const V3d_Coordinate Xp, const V3d_Coordinate Yp, const V3d_Coordinate Zp, const Quantity_NameOfColor Color=Quantity_NOC_WHITE, const Quantity_Coefficient Attenuation1=1.0, const Quantity_Coefficient Attenuation2=0.0, const Quantity_Coefficient Concentration=1.0, const Quantity_PlaneAngle Angle=0.523599)

| Creates a light source of the Spot type in the viewer. Xt,Yt,Zt : Coordinate of light source Target. Xp,Yp,Zp : Coordinate of light source Position. The others parameters describe before. //! Warning! raises BadValue from Viewer - If one of the coefficients is not between 0 and 1 . If the lighting angle is <= 0 ou > PI . .
virtual Standard_EXPORT void | SetPosition (const V3d_Coordinate X, const V3d_Coordinate Y, const V3d_Coordinate Z)
| Defines the position of the light source. .
Standard_EXPORT void | SetDirection (const Quantity_Parameter Vx, const Quantity_Parameter Vy, const Quantity_Parameter Vz)
| Defines the direction of the light source. If the normal vector is NULL. .
Standard_EXPORT void | SetDirection (const V3d_TypeOfOrientation Orientation)
| Defines the direction of the light source according to a predefined directional vector. .
Standard_EXPORT void | SetAttenuation (const Quantity_Coefficient A1, const Quantity_Coefficient A2)
| Defines the coefficients of attenuation. Warning! raises BadValue from Viewer if one of the coefficient is <0 ou >1 . .
Standard_EXPORT void | SetConcentration (const Quantity_Coefficient C)
| Defines the coefficient of concentration. if the coefficient is <0 ou >1 . .
Standard_EXPORT void | SetAngle (const Quantity_PlaneAngle Angle)
| Defines the spot angle in RADIANS. Warning: raises BadValue from from Viewer If the angle is <= 0 ou > PI . .
Standard_EXPORT void | Display (const Handle(V3d_View)&aView, const V3d_TypeOfRepresentation Representation)

Display the graphic structure of light source
in the choosen view. We have three type of representation
- SIMPLE : Only the light source is displayed.
- PARTIAL : The light source and the light space are
displayed.
- COMPLETE : The light source, the light space and the
radius of light space are displayed.
We can choose the "SAMELAST" as parameter of representation
In this case the graphic structure representation will be
the last displayed.
.

Standard_EXPORT void | Direction (Quantity_Parameter &Vx, Quantity_Parameter &Vy, Quantity_Parameter &Vz) const
| Returns the direction of the light source defined by Vx,Vy,Vz. .
Standard_EXPORT void | Position (V3d_Coordinate &X, V3d_Coordinate &Y, V3d_Coordinate &Z) const
| Returns the position of the light source. .
Standard_EXPORT void | Attenuation (Quantity_Coefficient &A1, Quantity_Coefficient &A2) const
| Returns the attenuation factors A1,A2 of the light source. .
Standard_EXPORT Quantity_Coefficient | Concentration () const
Standard_EXPORT Quantity_PlaneAngle | Angle () const
| Returns the spot angle. .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Member Functions

Standard_EXPORT void | Symbol (const Handle(Graphic3d_Group)&gsymbol, const Handle(V3d_View)&aView) const
| Defines the representation of the spot light source. .

## Constructor & Destructor Documentation

Standard_EXPORT V3d_SpotLight::V3d_SpotLight | ( | const Handle(V3d_Viewer)& | VM,
|  | const V3d_Coordinate | X,
|  | const V3d_Coordinate | Y,
|  | const V3d_Coordinate | Z,
|  | const V3d_TypeOfOrientation | Direction = `V3d_XnegYnegZpos`,
|  | const Quantity_NameOfColor | Color = `Quantity_NOC_WHITE`,
|  | const Quantity_Coefficient | Attenuation1 = `1.0`,
|  | const Quantity_Coefficient | Attenuation2 = `0.0`,
|  | const Quantity_Coefficient | Concentration = `1.0`,
|  | const Quantity_PlaneAngle | Angle = `0.523599`
| ) |

Standard_EXPORT V3d_SpotLight::V3d_SpotLight | ( | const Handle(V3d_Viewer)& | VM,
|  | const V3d_Coordinate | Xt,
|  | const V3d_Coordinate | Yt,
|  | const V3d_Coordinate | Zt,
|  | const V3d_Coordinate | Xp,
|  | const V3d_Coordinate | Yp,
|  | const V3d_Coordinate | Zp,
|  | const Quantity_NameOfColor | Color = `Quantity_NOC_WHITE`,
|  | const Quantity_Coefficient | Attenuation1 = `1.0`,
|  | const Quantity_Coefficient | Attenuation2 = `0.0`,
|  | const Quantity_Coefficient | Concentration = `1.0`,
|  | const Quantity_PlaneAngle | Angle = `0.523599`
| ) |

## Member Function Documentation

Standard_EXPORT Quantity_PlaneAngle V3d_SpotLight::Angle | ( |  | ) | const

Standard_EXPORT void V3d_SpotLight::Attenuation | ( | Quantity_Coefficient & | A1,
|  | Quantity_Coefficient & | A2
| ) | const

Standard_EXPORT Quantity_Coefficient V3d_SpotLight::Concentration | ( |  | ) | const

Standard_EXPORT void V3d_SpotLight::Direction | ( | Quantity_Parameter & | Vx,
|  | Quantity_Parameter & | Vy,
|  | Quantity_Parameter & | Vz
| ) | const

Standard_EXPORT void V3d_SpotLight::Display | ( | const Handle(V3d_View)& | aView,
|  | const V3d_TypeOfRepresentation | Representation
| ) | `[virtual]`

| Reimplemented from V3d_PositionLight.

Standard_EXPORT const V3d_SpotLight::Handle | ( | Standard_Type |  | ) | const

| Reimplemented from V3d_PositionLight.

Standard_EXPORT void V3d_SpotLight::Position | ( | V3d_Coordinate & | X,
|  | V3d_Coordinate & | Y,
|  | V3d_Coordinate & | Z
| ) | const`[virtual]`

| Implements V3d_PositionLight.

Standard_EXPORT void V3d_SpotLight::SetAngle | ( | const Quantity_PlaneAngle | Angle | ) |

Standard_EXPORT void V3d_SpotLight::SetAttenuation | ( | const Quantity_Coefficient | A1,
|  | const Quantity_Coefficient | A2
| ) |

Standard_EXPORT void V3d_SpotLight::SetConcentration | ( | const Quantity_Coefficient | C | ) |

Standard_EXPORT void V3d_SpotLight::SetDirection | ( | const V3d_TypeOfOrientation | Orientation | ) |

Standard_EXPORT void V3d_SpotLight::SetDirection | ( | const Quantity_Parameter | Vx,
|  | const Quantity_Parameter | Vy,
|  | const Quantity_Parameter | Vz
| ) |

virtual Standard_EXPORT void V3d_SpotLight::SetPosition | ( | const V3d_Coordinate | X,
|  | const V3d_Coordinate | Y,
|  | const V3d_Coordinate | Z
| ) | `[virtual]`

| Implements V3d_PositionLight.

Standard_EXPORT void V3d_SpotLight::Symbol | ( | const Handle(Graphic3d_Group)& | gsymbol,
|  | const Handle(V3d_View)& | aView
| ) | const`[private, virtual]`

| Implements V3d_PositionLight.

The documentation for this class was generated from the following file:

- V3d_SpotLight.hxx