Class Ifc2x3::IfcLightSourcePositional

Nested Relationships

This class is a nested type of Struct Ifc2x3.

Inheritance Relationships

Base Type

Derived Type

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 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)
const IfcParse::entity &declaration() const
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)

Public Static Functions

const IfcParse::entity &Class()