Clarisse 5.0 SP8 SDK
5.0.5.8.0
|
To read and evaluate IES angular profiles (https://www.ies.org). More...
Public Types | |
enum | HorizontalSymmetry |
enum | InterpolationType |
Public Member Functions | |
void | clear () |
void | read (const CoreString &filename, InterpolationType interpolation_type) |
float | evaluate (IESCoordinates const &coordinates) const |
bool | initialized () const |
const float | get_max_colatitude () const |
bool | is_axially_symmetric () const |
To read and evaluate IES angular profiles (https://www.ies.org).
A few "artistic" choices have been made regarding symmetry, interpolation and extrapolation of IES data.
Horizontally, the symmetry is axial if there is only one horizontal angle, bilateral if the last angle is 180 degrees, quadrilateral if it is 90 degrees, no symmetry otherwise. Horizontal interpolation is linear.
Vertically, no symmetry is assumed; if the last angle is < 90 (resp. 180) degrees, then a value of 0 at 90 (resp. 180) degrees is added, with a horizontal slope. Interpolation is done using Fritsch & Carlson's piecewise monotone cubic Hermite (https://en.wikipedia.org/wiki/Monotone_cubic_interpolation).