Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | List of all members
IESData Class Reference

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
 

Detailed Description

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).