Open CASCADE Technology: V3d_PositionalLight Class Reference

Open CASCADE Technology 6.9.1

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions
V3d_PositionalLight Class Reference

Creation and modification of an isolated (positional) light source. More...

`#include <V3d_PositionalLight.hxx>`

Inheritance diagram for V3d_PositionalLight:
[legend]

## Public Member Functions
| V3d_PositionalLight (const Handle< V3d_Viewer > &VM, const V3d_Coordinate X, const V3d_Coordinate Y, const V3d_Coordinate Z, const Quantity_NameOfColor Color=Quantity_NOC_WHITE, const Quantity_Coefficient Attenuation1=1.0, const Quantity_Coefficient Attenuation2=0.0)
| Creates an isolated light source X,Y,Z in the viewer. It is also defined by the color Color and two attenuation factors Attenuation1, Attenuation2. The resulting attenuation factor determining the illumination of a surface depends on the following formula : F = 1/(A1 + A2*Length) A1,A2 being the two factors of attenuation Length is the distance of the isolated source from the surface. Warning! raises BadValue from V3d if one of the attenuation coefficients is not between 0 et 1. More...
| V3d_PositionalLight (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)
| Creates a light source of the Positional type in the viewer. Xt,Yt,Zt : Coordinate of Target light source. Xp,Yp,Zp : Coordinate of Position light source. The light source is also defined by the color Color and two attenuation factors Attenuation1, Attenuation2 that determine the illumination of a surface using the following formula : F = 1/(A1 + A2*Length) where: More...
virtual void | SetPosition (const V3d_Coordinate X, const V3d_Coordinate Y, const V3d_Coordinate Z)
| Defines the position of the light source. More...
void | SetAttenuation (const Quantity_Coefficient A1, const Quantity_Coefficient A2)
| Defines the attenuation factors. Warning: raises BadValue from V3d if one of the attenuation coefficients is not between 0 et 1. More...
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. More...
void | Position (V3d_Coordinate &X, V3d_Coordinate &Y, V3d_Coordinate &Z) const
| Returns the position of the light source. More...
void | Attenuation (Quantity_Coefficient &A1, Quantity_Coefficient &A2) const
| Returns the attenuation factors A1,A2 of the light source used at construction time. More...
Public Member Functions inherited from V3d_PositionLight
void | SetTarget (const V3d_Coordinate X, const V3d_Coordinate Y, const V3d_Coordinate Z)
| Defines the target of the light (the center of the sphere) More...
void | SetRadius (const Quantity_Parameter Radius)
| Define the radius. More...
void | OnHideFace (const Handle< V3d_View > &aView)
| Calculate the position of the light, on the hide face of the picking sphere. More...
void | OnSeeFace (const Handle< V3d_View > &aView)
| Calculate the position of the light, on the seen face of the picking sphere. More...
void | Tracking (const Handle< V3d_View > &aView, const V3d_TypeOfPickLight WathPick, const Standard_Integer Xpix, const Standard_Integer Ypix)
| Tracking the light position, or the light space, or the radius of the light space, that depends of initial picking "WhatPick" (see the pick method). If WhatPick is SPACELIGHT, then the parameters Xpix, Ypix are the coordinates of a translation vector. More...
void | Erase ()
| Erase the graphic structure of light source. More...
Quantity_Parameter | Radius () const
| Returns the radius of the picking sphere. More...
Standard_Boolean | SeeOrHide (const Handle< V3d_View > &aView) const
| Returns the visibility status If True the source is visible. If False it's hidden. More...
void | Target (V3d_Coordinate &X, V3d_Coordinate &Y, V3d_Coordinate &Z) const
| Returns the position of the target of the light source. More...
Public Member Functions inherited from V3d_Light
void | SetColor (const Quantity_TypeOfColor Type, const Quantity_Parameter V1, const Quantity_Parameter V2, const Quantity_Parameter V3)
| Defines the colour of a light source according to the type of colour definition and the three corresponding values. More...
void | SetColor (const Quantity_NameOfColor Name)
| Defines the colour of a light source by giving the name of the colour in the form Quantity_NOC_xxxx . More...
void | SetColor (const Quantity_Color &Name)
| Defines the colour of a light source by giving the basic colour. More...
void | Color (const Quantity_TypeOfColor Type, Quantity_Parameter &V1, Quantity_Parameter &V2, Quantity_Parameter &V3) const
| Returns the colour of the light source depending of the color type. More...
void | Color (Quantity_NameOfColor &Name) const
| Returns the colour of the light source. More...
Quantity_Color | Color () const
| Returns the colour of the light source. More...
V3d_TypeOfLight | Type () const
| Returns the Type of the Light. More...
Standard_Boolean | Headlight () const
| returns true if the light is a headlight More...
void | SetHeadlight (const Standard_Boolean theValue)
| Setup headlight flag. More...
Standard_Boolean | IsDisplayed () const
| Returns TRUE when a light representation is displayed. More...
Public Member Functions inherited from MMgt_TShared
virtual void | Delete () const
| Memory deallocator for transient classes. More...
Public Member Functions inherited from Standard_Transient
| Standard_Transient ()
| Empty constructor. More...
| Standard_Transient (const Standard_Transient &)
| Copy constructor – does nothing. More...
Standard_Transient & | operator= (const Standard_Transient &)
| Assignment operator, needed to avoid copying reference counter. More...
virtual | ~Standard_Transient ()
| Destructor must be virtual. More...
virtual const Handle_Standard_Type & | DynamicType () const
| Returns a type information object about this object. More...
Standard_Boolean | IsInstance (const Handle_Standard_Type &theType) const
| Returns a true value if this is an instance of Type. More...
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const
| Returns a true value if this is an instance of TypeName. More...
Standard_Boolean | IsKind (const Handle_Standard_Type &theType) const
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
Standard_Boolean | IsKind (const Standard_CString theTypeName) const
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
virtual Handle_Standard_Transient | This () const
| Returns a Handle which references this object. Must never be called to objects created in stack. More...
Standard_Integer | GetRefCount () const
| Get the reference counter of this object. More...

## Additional Inherited Members
Protected Member Functions inherited from V3d_PositionLight
| V3d_PositionLight (const Handle< V3d_Viewer > &VM)
Protected Member Functions inherited from V3d_Light
| V3d_Light (const Handle< V3d_Viewer > &VM)
Static Protected Member Functions inherited from V3d_Light
static void | SymetricPointOnSphere (const Handle< V3d_View > &aView, const Graphic3d_Vertex &Center, const Graphic3d_Vertex &aPoint, const Quantity_Parameter Radius, V3d_Coordinate &X, V3d_Coordinate &Y, V3d_Coordinate &Z, Quantity_Parameter &VX, Quantity_Parameter &VY, Quantity_Parameter &VZ)
| Returns the symetric point coordinates of "aPoint" on the sphere of center "Center" and radius "Radius". VX,VY,VZ is the project vector of view. More...
Protected Attributes inherited from V3d_PositionLight
Graphic3d_Vertex | MyTarget
V3d_TypeOfRepresentation | MyTypeOfRepresentation
Protected Attributes inherited from V3d_Light
V3d_TypeOfLight | MyType
Handle< Visual3d_Light > | MyLight
Handle< Graphic3d_Structure > | MyGraphicStructure
Handle< Graphic3d_Structure > | MyGraphicStructure1

## Detailed Description

Creation and modification of an isolated (positional) light source.

## Constructor & Destructor Documentation

V3d_PositionalLight::V3d_PositionalLight | ( | const Handle< V3d_Viewer > & | VM,
|  | const V3d_Coordinate | X,
|  | const V3d_Coordinate | Y,
|  | const V3d_Coordinate | Z,
|  | const Quantity_NameOfColor | Color = `Quantity_NOC_WHITE`,
|  | const Quantity_Coefficient | Attenuation1 = `1.0`,
|  | const Quantity_Coefficient | Attenuation2 = `0.0`
| ) |  |

Creates an isolated light source X,Y,Z in the viewer. It is also defined by the color Color and two attenuation factors Attenuation1, Attenuation2. The resulting attenuation factor determining the illumination of a surface depends on the following formula : F = 1/(A1 + A2*Length) A1,A2 being the two factors of attenuation Length is the distance of the isolated source from the surface. Warning! raises BadValue from V3d if one of the attenuation coefficients is not between 0 et 1.

V3d_PositionalLight::V3d_PositionalLight | ( | 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`
| ) |  |

Creates a light source of the Positional type in the viewer. Xt,Yt,Zt : Coordinate of Target light source. Xp,Yp,Zp : Coordinate of Position light source. The light source is also defined by the color Color and two attenuation factors Attenuation1, Attenuation2 that determine the illumination of a surface using the following formula : F = 1/(A1 + A2*Length) where:

- A1,A2 are the two attenuation factors, and
- Length is the distance from the isolated source. Warning! raises BadValue from V3d if one of the attenuation coefficients is not between 0 et 1.

## Member Function Documentation

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

Returns the attenuation factors A1,A2 of the light source used at construction time.

void V3d_PositionalLight::Display | ( | const Handle< V3d_View > & | aView,
|  | const V3d_TypeOfRepresentation | Representation
| ) |  |
| virtual

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.

Reimplemented from V3d_PositionLight.

void V3d_PositionalLight::Position | ( | V3d_Coordinate & | X,
|  | V3d_Coordinate & | Y,
|  | V3d_Coordinate & | Z
| ) |  | const
| virtual

Returns the position of the light source.

Implements V3d_PositionLight.

void V3d_PositionalLight::SetAttenuation | ( | const Quantity_Coefficient | A1,
|  | const Quantity_Coefficient | A2
| ) |  |

Defines the attenuation factors. Warning: raises BadValue from V3d if one of the attenuation coefficients is not between 0 et 1.

virtual void V3d_PositionalLight::SetPosition | ( | const V3d_Coordinate | X,
|  | const V3d_Coordinate | Y,
|  | const V3d_Coordinate | Z
| ) |  |
| virtual

Defines the position of the light source.

Implements V3d_PositionLight.

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

- V3d_PositionalLight.hxx