class ART::IStar
Celestial body interface for stars. More...
#include <ARTIStar.h>
Inherits: IREDObject.
Public functions:
virtual void | GetFilteredRadiance ( double oRadiance[3], double iSaturation ) const = 0 |
virtual void | GetPosition ( double oPosition[3] ) const = 0 |
virtual void | GetRadiance ( double oRadiance[3] ) const = 0 |
virtual double | GetRadius ( ) const = 0 |
virtual ART::STAR_ID | GetSID ( ) const = 0 |
virtual const RED::Matrix & | GetTransform ( ) const = 0 |
virtual RED_RC | SetRadiance ( const double iRadiance[3] ) = 0 |
virtual RED_RC | SetRadius ( double iRadius ) = 0 |
virtual RED_RC | SetTransform ( const RED::Matrix & iMatrix ) = 0 |
Public static functions:
static RED::CID | GetClassID ( ) |
Detailed description:
Celestial body interface for stars.
Stars are created from the ART::Factory using the CID_ARTStar identifier, or accessed from the ART::IWorld.
Functions documentation
public static RED::CID ART::IStar::GetClassID | ( | ) |
public virtual void ART::IStar::GetFilteredRadiance | ( | double | oRadiance[3], |
double | iSaturation | ||
) | const = 0 |
Gets the filtered RGB radiance of the star.
This method applies an atmospheric attenuation threshold corresponding to the typical energy budget of the Earth (29% reflected back to space, 23% absorbed by the atmosphere) to the amount of the incoming light from the star plus a custom saturation term specifed by iSaturation.
Parameters:
oRadiance: | The returned RGB radiance of the star, including the influence of the atmosphere. |
iSaturation: | Saturation term in [ 0.0, 1.0 ]. |
public virtual void ART::IStar::GetPosition | ( | double | oPosition[3] | ) const = 0 |
Access the star position, WCS.
Parameters:
oPosition: | The star position, WCS. This is the translation in ART::IStar::GetTransform. |
public virtual void ART::IStar::GetRadiance | ( | double | oRadiance[3] | ) const = 0 |
Gets the RGB radiance of the star.
Parameters:
oRadiance: | The returned RGB radiance of the star - outside of the influence of any atmosphere. |
public virtual double ART::IStar::GetRadius | ( | ) const = 0 |
Returns:
public virtual ART::STAR_ID ART::IStar::GetSID | ( | ) const = 0 |
Access the star ID.
That ID is a ART::STAR_ID enumeration which differs from the RED::Object::GetID of the REDsdk class. It identifies whether we're a built-in star (like the sun) or a custom star.
Returns:
public virtual const RED::Matrix & ART::IStar::GetTransform | ( | ) const = 0 |
Returns:
public virtual RED_RC ART::IStar::SetRadiance | ( | const double | iRadiance[3] | ) = 0 |
Sets the RGB radiance of the star - outside of the influence of any atmosphere.
Parameters:
iRadiance | RGB radiance of the star. |
Returns:
RED_WORKFLOW_ERROR if the world simulation has already begun.
public virtual RED_RC ART::IStar::SetRadius | ( | double | iRadius | ) = 0 |
Setup the radius of this star.
Parameters:
iRadius: | The star radius, in meters. |
Returns:
RED_BAD_PARAM if iRadius is negative or zero,
RED_WORKFLOW_ERROR if the world simulation has already begun.
public virtual RED_RC ART::IStar::SetTransform | ( | const RED::Matrix & | iMatrix | ) = 0 |
Setup the star transform matrix.
Parameters:
iMatrix: | The star transform matrix. |
Returns:
RED_WORKFLOW_ERROR if the world simulation has already begun.