Class Ifc2x3::IfcLightSourceSpot

Nested Relationships

This class is a nested type of Struct Ifc2x3.

Inheritance Relationships

Base Type

Class Documentation

class Ifc2x3::IfcLightSourceSpot : public Ifc2x3::IfcLightSourcePositional

Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source.

NOTE The IfcLightSourceSpot adds the BeamWidthAngle which defines the inner cone in which the light source emits light at uniform full intensity. The light source’s emission intensity drops off from the inner solid angle (BeamWidthAngle) to the outer solid angle (SpreadAngle).

Definition from ISO/IEC 14772-1:1997: The Spot light node defines a light source that emits light from a specific point along a specific direction vector and constrained within a solid angle. Spot lights may illuminate geometry nodes that respond to light sources and intersect the solid angle defined by the Spot light. Spot light nodes are specified in the local coordinate system and are affected by ancestors’ transformations.

Figure 304 (from VRML97) shows the definition of spot light.

Figure 304 — Light source spot

NOTE Corresponding ISO 10303 entity: light_source_spot. Please refer to ISO/IS 10303-46:1994, p. 33 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, BeamWidth, 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.

Public Types

typedef IfcTemplatedEntityList<IfcLightSourceSpot> list

Public Functions

::Ifc2x3::IfcDirection *Orientation() const

Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light’s central axis defined in the local coordinate system.

void setOrientation(::Ifc2x3::IfcDirection *v)
bool hasConcentrationExponent() const

Whether the optional attribute ConcentrationExponent is defined for this IfcLightSourceSpot.

double ConcentrationExponent() const

Definition from ISO/CD 10303-46:1992: This real is the exponent on the cosine of the angle between the line that starts at the position of the spot light source and is in the direction of the orientation of the spot light source and a line that starts at the position of the spot light source and goes through a point on the surface being shaded. NOTE: This attribute does not exists in ISO/IEC 14772-1:1997.

void setConcentrationExponent(double v)
double SpreadAngle() const

Definition from ISO/CD 10303-46:1992: This planar angle measure is the angle between the line that starts at the position of the spot light source and is in the direction of the spot light source and any line on the boundary of the cone of influence. Definition from VRML97 - ISO/IEC 14772-1:1997: The cutOffAngle (name of spread angle in VRML) field specifies the outer bound of the solid angle. The light source does not emit light outside of this solid angle.

void setSpreadAngle(double v)
double BeamWidthAngle() const

Definition from VRML97 - ISO/IEC 14772-1:1997: The beamWidth field specifies an inner solid angle in which the light source emits light at uniform full intensity. The light source’s emission intensity drops off from the inner solid angle (beamWidthAngle) to the outer solid angle (spreadAngle).

void setBeamWidthAngle(double v)
const IfcParse::entity &declaration() const
IfcLightSourceSpot(IfcEntityInstanceData *e)
IfcLightSourceSpot(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, ::Ifc2x3::IfcDirection *v10_Orientation, boost::optional<double> v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle)

Public Static Functions

const IfcParse::entity &Class()