Open CASCADE Technology
7.2.0
|
Creation and modification of an isolated (positional) light source. More...
#include <V3d_PositionalLight.hxx>
Public Member Functions | |
V3d_PositionalLight (const Handle< V3d_Viewer > &theViewer, const Standard_Real theX, const Standard_Real theY, const Standard_Real theZ, const Quantity_Color &theColor=Quantity_NOC_WHITE, const Standard_Real theConstAttenuation=1.0, const Standard_Real theLinearAttenuation=0.0) | |
Creates an isolated light source theX, theY, theZ in the viewer. It is also defined by the color theColor and two attenuation factors theConstAttentuation, theLinearAttentuation. The resulting attenuation factor determining the illumination of a surface depends on the following formula : F = 1/(ConstAttenuation + LinearAttenuation*Length) Length is the distance of the isolated source from the surface. //! Warning! raises BadValue from V3d if one of the attenuation coefficients is not in range [0, 1]. More... | |
V3d_PositionalLight (const Handle< V3d_Viewer > &theViewer, const Standard_Real theXt, const Standard_Real theYt, const Standard_Real theZt, const Standard_Real theXp, const Standard_Real theYp, const Standard_Real theZp, const Quantity_Color &theColor=Quantity_NOC_WHITE, const Standard_Real theConstAttenuation=1.0, const Standard_Real theLinearAttenuation=0.0) | |
Creates a light source of the Positional type in the viewer. theXt, theYt, theZt : Coordinate of Target light source. theXp, theYp, theZp : Coordinate of Position light source. The light source is also defined by the color Color and two attenuation factors theConstAttentuation, theLinearAttentuation that determine the illumination of a surface using the following formula : F = 1/(ConstAttenuation + LinearAttenuation*Length) 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... | |
virtual void | SetPosition (const Standard_Real theX, const Standard_Real theY, const Standard_Real theZ) override |
Defines the position of the light source. More... | |
void | SetAttenuation (const Standard_Real theConstAttenuation, const Standard_Real theLinearAttenuation) |
Defines the attenuation factors. Warning: raises BadValue from V3d if one of the attenuation coefficients is not between 0 et 1. More... | |
void | SetSmoothRadius (const Standard_Real theValue) |
Modifies the smoothing radius. More... | |
void | Display (const Handle< V3d_View > &theView, const V3d_TypeOfRepresentation theRepresentation) override |
Display the graphic structure of light source in the chosen view. We have three type of representation. More... | |
void | Position (Standard_Real &theX, Standard_Real &theY, Standard_Real &theZ) const override |
Returns the position of the light source. More... | |
void | Attenuation (Standard_Real &theConstAttenuation, Standard_Real &theLinearAttenuation) const |
Returns the attenuation factors. More... | |
Public Member Functions inherited from V3d_PositionLight | |
void | SetTarget (const Standard_Real theX, const Standard_Real theY, const Standard_Real theZ) |
Defines the target of the light (the center of the sphere). More... | |
void | SetRadius (const Standard_Real theRadius) |
Define the radius. More... | |
void | OnHideFace (const Handle< V3d_View > &theView) |
Calculate the position of the light, on the hide face of the picking sphere. More... | |
void | OnSeeFace (const Handle< V3d_View > &theView) |
Calculate the position of the light, on the seen face of the picking sphere. More... | |
void | Tracking (const Handle< V3d_View > &theView, const V3d_TypeOfPickLight theWathPick, const Standard_Integer theXpix, const Standard_Integer theYpix) |
Tracking the light position, or the light space, or the radius of the light space, that depends of initial picking "theWhatPick" (see the pick method). If theWhatPick is SPACELIGHT, then the parameters theXpix, theYpix are the coordinates of a translation vector. More... | |
void | Erase () |
Erase the graphic structure of light source. More... | |
Standard_Real | Radius () const |
Returns the radius of the picking sphere. More... | |
Standard_Boolean | SeeOrHide (const Handle< V3d_View > &theView) const |
Returns the visibility status If True the source is visible. If False it's hidden. More... | |
void | Target (Standard_Real &theX, Standard_Real &theY, Standard_Real &theZ) const |
Returns the position of the target of the light source. More... | |
Public Member Functions inherited from V3d_Light | |
void | SetColor (const Quantity_Color &theColor) |
Defines the color of a light source by giving the basic color. More... | |
Quantity_Color | Color () const |
Returns the color 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... | |
void | SetIntensity (const Standard_Real theValue) |
Modifies the intensity of light source. More... | |
Standard_Real | Intensity () const |
returns the intensity of light source More... | |
Standard_Real | Smoothness () const |
returns the smoothness of light source More... | |
Standard_Boolean | IsDisplayed () const |
Returns TRUE when a light representation is displayed. 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 void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::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 opencascade::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... | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
Protected Member Functions inherited from V3d_PositionLight | |
V3d_PositionLight (const Handle< V3d_Viewer > &theViewer) | |
Protected Member Functions inherited from V3d_Light | |
V3d_Light (const Handle< V3d_Viewer > &theViewer) | |
void | SetType (const V3d_TypeOfLight theType) |
Sets type of the light. More... | |
const Graphic3d_CLight & | Light () const |
Return light properties associated to this light source. Hidden method exposed only to V3d_View. More... | |
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 Standard_Real Radius, Standard_Real &X, Standard_Real &Y, Standard_Real &Z, Standard_Real &VX, Standard_Real &VY, Standard_Real &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 | |
Graphic3d_CLight | 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 > & | theViewer, |
const Standard_Real | theX, | ||
const Standard_Real | theY, | ||
const Standard_Real | theZ, | ||
const Quantity_Color & | theColor = Quantity_NOC_WHITE , |
||
const Standard_Real | theConstAttenuation = 1.0 , |
||
const Standard_Real | theLinearAttenuation = 0.0 |
||
) |
Creates an isolated light source theX, theY, theZ in the viewer. It is also defined by the color theColor and two attenuation factors theConstAttentuation, theLinearAttentuation. The resulting attenuation factor determining the illumination of a surface depends on the following formula : F = 1/(ConstAttenuation + LinearAttenuation*Length) Length is the distance of the isolated source from the surface. //! Warning! raises BadValue from V3d if one of the attenuation coefficients is not in range [0, 1].
V3d_PositionalLight::V3d_PositionalLight | ( | const Handle< V3d_Viewer > & | theViewer, |
const Standard_Real | theXt, | ||
const Standard_Real | theYt, | ||
const Standard_Real | theZt, | ||
const Standard_Real | theXp, | ||
const Standard_Real | theYp, | ||
const Standard_Real | theZp, | ||
const Quantity_Color & | theColor = Quantity_NOC_WHITE , |
||
const Standard_Real | theConstAttenuation = 1.0 , |
||
const Standard_Real | theLinearAttenuation = 0.0 |
||
) |
Creates a light source of the Positional type in the viewer. theXt, theYt, theZt : Coordinate of Target light source. theXp, theYp, theZp : Coordinate of Position light source. The light source is also defined by the color Color and two attenuation factors theConstAttentuation, theLinearAttentuation that determine the illumination of a surface using the following formula : F = 1/(ConstAttenuation + LinearAttenuation*Length) 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.
void V3d_PositionalLight::Attenuation | ( | Standard_Real & | theConstAttenuation, |
Standard_Real & | theLinearAttenuation | ||
) | const |
Returns the attenuation factors.
|
overridevirtual |
Display the graphic structure of light source in the chosen view. We have three type of representation.
Reimplemented from V3d_PositionLight.
|
overridevirtual |
Returns the position of the light source.
Implements V3d_PositionLight.
void V3d_PositionalLight::SetAttenuation | ( | const Standard_Real | theConstAttenuation, |
const Standard_Real | theLinearAttenuation | ||
) |
Defines the attenuation factors. Warning: raises BadValue from V3d if one of the attenuation coefficients is not between 0 et 1.
|
overridevirtual |
Defines the position of the light source.
Implements V3d_PositionLight.
void V3d_PositionalLight::SetSmoothRadius | ( | const Standard_Real | theValue | ) |
Modifies the smoothing radius.