Class Ifc2x3::IfcLightSourcePositional¶
Defined in File Ifc2x3.h
Nested Relationships¶
This class is a nested type of Struct Ifc2x3.
Inheritance Relationships¶
Base Type¶
public Ifc2x3::IfcLightSource
(Class Ifc2x3::IfcLightSource)
Derived Type¶
public Ifc2x3::IfcLightSourceSpot
(Class Ifc2x3::IfcLightSourceSpot)
Class Documentation¶
-
class
Ifc2x3
::
IfcLightSourcePositional
: public Ifc2x3::IfcLightSource¶ Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface’s orientation and position.
Definition from ISO/IEC 14772-1:1997: The Point light node specifies a point light source at a 3D location in the local coordinate system. A point light source emits light equally in all directions; that is, it is omnidirectional. Point light nodes are specified in the local coordinate system and are affected by ancestor transformations.
Point light node’s illumination falls off with distance as specified by three attenuation coefficients. The attenuation factor is
1/max(attenuation[0] + attenuation[1] × r + attenuation[2] × r 2 , 1),
where r is the distance from the light to the surface being illuminated. The default is no attenuation. An attenuation value of (0, 0, 0) is identical to (1, 0, 0). Attenuation values shall be greater than or equal to zero.
NOTE: Corresponding ISO 10303 entity: light_source_positional. Please refer to ISO/IS 10303-46:1994, p. 32 for the final definition of the formal standard.
NOTE: In addition to the attributes as defined in ISO10303-46 the additional property from ISO/IEC 14772-1:1997 (VRML) Radius and QuadricAttenuation are added to this subtype and the AmbientIntensity and Intensity are inherited from the supertype.
HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2.
Subclassed by Ifc2x3::IfcLightSourceSpot
Public Types
-
typedef IfcTemplatedEntityList<IfcLightSourcePositional>
list
¶
Public Functions
-
::Ifc2x3::IfcCartesianPoint *
Position
() const¶ Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location.
-
void
setPosition
(::Ifc2x3::IfcCartesianPoint *v)¶
-
double
Radius
() const¶ Definition from IAI: The maximum distance from the light source for a surface still to be illuminated. Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location.
-
void
setRadius
(double v)¶
-
double
ConstantAttenuation
() const¶ Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that is constant.
-
void
setConstantAttenuation
(double v)¶
-
double
DistanceAttenuation
() const¶ Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that proportional to the distance from the light source.
-
void
setDistanceAttenuation
(double v)¶
-
double
QuadricAttenuation
() const¶ Definition from the IAI: This real indicates the value of the attenuation in the lighting equation that proportional to the square value of the distance from the light source.
-
void
setQuadricAttenuation
(double v)¶
-
IfcLightSourcePositional
(IfcEntityInstanceData *e)¶
-
IfcLightSourcePositional
(boost::optional<std::string> v1_Name, ::Ifc2x3::IfcColourRgb *v2_LightColour, boost::optional<double> v3_AmbientIntensity, boost::optional<double> v4_Intensity, ::Ifc2x3::IfcCartesianPoint *v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation)¶
-
typedef IfcTemplatedEntityList<IfcLightSourcePositional>