Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
V3d_PositionalLight Class Reference

Creation and modification of an isolated
light source.
More...

#include <V3d_PositionalLight.hxx>

Inheritance diagram for V3d_PositionalLight:
Inheritance graph
[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. <br>

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 <br>

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_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
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
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 <br>

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. <br>

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: