Class Ifc4x1::IfcSurfaceStyleRefraction

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcSurfaceStyleRefraction : public Ifc4x1::IfcPresentationItem

IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction.

NOTE: If such refraction properties are used, the IfcSurfaceStyle should include within its set of Styles (depending on whether rendering or lighting is used) an instance of IfcSurfaceStyleLighting and IfcSurfaceStyleRefraction, or an instance of IfcSurfaceStyleRendering and IfcSurfaceStyleRefraction.

HISTORY: New entity in IFC 2x2.

Public Functions

bool hasRefractionIndex() const

Whether the optional attribute RefractionIndex is defined for this IfcSurfaceStyleRefraction.

double RefractionIndex() const

The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33.

void setRefractionIndex(double v)
bool hasDispersionFactor() const

Whether the optional attribute DispersionFactor is defined for this IfcSurfaceStyleRefraction.

double DispersionFactor() const

The Abbe constant given as a fixed ratio between the refractive indices of the material at different wavelengths. A low Abbe number means a high dispersive power. In general this translates to a greater angular spread of the emergent spectrum.

void setDispersionFactor(double v)
const IfcParse::entity &declaration() const
IfcSurfaceStyleRefraction(IfcEntityInstanceData *e)
IfcSurfaceStyleRefraction(boost::optional<double> v1_RefractionIndex, boost::optional<double> v2_DispersionFactor)

Public Static Functions

const IfcParse::entity &Class()