class ART::IStar

Celestial body interface for stars. More...

#include <ARTIStar.h>

Inherits: IREDObject.

Public functions:

virtual voidGetFilteredRadiance ( double oRadiance[3], double iSaturation ) const = 0
virtual voidGetPosition ( double oPosition[3] ) const = 0
virtual voidGetRadiance ( double oRadiance[3] ) const = 0
virtual doubleGetRadius ( ) const = 0
virtual ART::STAR_IDGetSID ( ) const = 0
virtual const RED::Matrix &GetTransform ( ) const = 0
virtual RED_RCSetRadiance ( const double iRadiance[3] ) = 0
virtual RED_RCSetRadius ( double iRadius ) = 0
virtual RED_RCSetTransform ( const RED::Matrix & iMatrix ) = 0

Public static functions:

static RED::CIDGetClassID ( )

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 virtual void ART::IStar::GetFilteredRadiance(doubleoRadiance[3],
doubleiSaturation
)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(doubleoPosition[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(doubleoRadiance[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:

The star radius in meters.
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:

The star ID.
public virtual const RED::Matrix & ART::IStar::GetTransform() const = 0

Returns:

The star transformation matrix.
public virtual RED_RC ART::IStar::SetRadiance(const doubleiRadiance[3]) = 0

Sets the RGB radiance of the star - outside of the influence of any atmosphere.

Parameters:

iRadianceRGB radiance of the star.

Returns:

RED_OK if the operation has succeeded,
RED_WORKFLOW_ERROR if the world simulation has already begun.
public virtual RED_RC ART::IStar::SetRadius(doubleiRadius) = 0

Setup the radius of this star.

Parameters:

iRadius:The star radius, in meters.

Returns:

RED_OK if the operation has succeeded,
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_OK if the operation has succeeded,
RED_WORKFLOW_ERROR if the world simulation has already begun.