Open CASCADE Technology
6.9.0
|
Creation and modification of an isolated (positional) light source. More...
#include <V3d_PositionalLight.hxx>
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 |
Creation and modification of an isolated (positional) light source.
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:
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.
|
virtual |
Display the graphic structure of light source in the choosen view. We have three type of representation.
Reimplemented from V3d_PositionLight.
|
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 |
Defines the position of the light source.
Implements V3d_PositionLight.