Rhino C++ API  8.7
Public Member Functions | Protected Member Functions | List of all members
IRhRdkSunRO Class Referenceabstract

#include <IRhRdkSun.h>

Inheritance diagram for IRhRdkSunRO:
IRhRdkSun CRhRdkSunStorage

Public Member Functions

virtual double Altitude (void) const =0
 
virtual double Azimuth (void) const =0
 
virtual DWORD CRC (void) const =0
 
virtual int DaylightSavingMinutes (void) const =0
 
virtual bool DaylightSavingOn (void) const =0
 
virtual bool EnableAllowed (void) const =0
 
virtual bool EnableOn (void) const =0
 
virtual void * EVF (const wchar_t *, void *)=0
 
double Intensity (void) const
 
virtual bool IsEqual (const class IRhRdkSun &other) const =0
 
virtual bool IsValid (void) const =0
 
virtual double Latitude (void) const =0
 
virtual ON_Light Light (void) const =0
 
virtual void LocalDateTime (int &iYearOut, int &iMonthOut, int &iDayOut, double &dHoursOut) const =0
 
virtual double Longitude (void) const =0
 
virtual bool ManualControlAllowed (void) const =0
 
virtual bool ManualControlOn (void) const =0
 
virtual double North (void) const =0
 
virtual bool SaveToFile (const wchar_t *wszFullPath) const =0
 
virtual double ShadowIntensity (void) const =0
 
virtual double TimeZone (void) const =0
 
virtual void UTCDateTime (int &iYearOut, int &iMonthOut, int &iDayOut, double &dHoursOut) const =0
 
virtual ON_3dVector Vector (void) const =0
 

Protected Member Functions

virtual ~IRhRdkSunRO ()
 

Detailed Description

This interface is deprecated and only kept for backward compatibility.

Constructor & Destructor Documentation

◆ ~IRhRdkSunRO()

virtual IRhRdkSunRO::~IRhRdkSunRO ( )
inlineprotectedvirtual

Member Function Documentation

◆ Altitude()

virtual double IRhRdkSunRO::Altitude ( void  ) const
pure virtual
Returns
The altitude of the sun in degrees.

Implemented in CRhRdkSunStorage.

◆ Azimuth()

virtual double IRhRdkSunRO::Azimuth ( void  ) const
pure virtual
Returns
The azimuth of the sun in degrees. The value increases Eastwards with North as zero.
Note
This value is not affected by the direction of north.
See also
North()

Implemented in CRhRdkSunStorage.

◆ CRC()

virtual DWORD IRhRdkSunRO::CRC ( void  ) const
pure virtual
Returns
the CRC of the sun state.

◆ DaylightSavingMinutes()

virtual int IRhRdkSunRO::DaylightSavingMinutes ( void  ) const
pure virtual
Returns
The daylight saving of the observer in minutes.

Implemented in CRhRdkSunStorage.

◆ DaylightSavingOn()

virtual bool IRhRdkSunRO::DaylightSavingOn ( void  ) const
pure virtual
Returns
true if daylight saving is on, else false.

Implemented in CRhRdkSunStorage.

◆ EnableAllowed()

virtual bool IRhRdkSunRO::EnableAllowed ( void  ) const
pure virtual
Returns
true if enabling/disabling the sun is allowed, else false.

Implemented in CRhRdkSunStorage.

◆ EnableOn()

virtual bool IRhRdkSunRO::EnableOn ( void  ) const
pure virtual
Returns
true if the sun is enabled, else false.

Implemented in CRhRdkSunStorage.

◆ EVF()

virtual void* IRhRdkSunRO::EVF ( const wchar_t *  ,
void *   
)
pure virtual

Emergency virtual function for future expansion.

Implemented in CRhRdkSunStorage.

◆ Intensity()

double IRhRdkSunRO::Intensity ( void  ) const

return the intensity to be used for the sun. This is 1.0 by default.

◆ IsEqual()

virtual bool IRhRdkSunRO::IsEqual ( const class IRhRdkSun other) const
pure virtual
Returns
true if this sun is equal to another one.

◆ IsValid()

virtual bool IRhRdkSunRO::IsValid ( void  ) const
pure virtual
Returns
true if all the sun parameters are valid, or false if something is 'nonsensical'.

◆ Latitude()

virtual double IRhRdkSunRO::Latitude ( void  ) const
pure virtual
Returns
The latitude of the observer.

Implemented in CRhRdkSunStorage.

◆ Light()

virtual ON_Light IRhRdkSunRO::Light ( void  ) const
pure virtual

Get an ON_Light which represents the sun. If manual control is in effect, no sun calculation is performed; the function uses the values last used in calls to SetAzimuth(), SetAltitude() or SetVector(). If manual control is not in effect, the observer's position, date, time, time zone and daylight saving values are used to calculate the position of the sun.

Note
The sun light can be disabled. Remember to call IsEnabled() on the ON_Light before use.

◆ LocalDateTime()

virtual void IRhRdkSunRO::LocalDateTime ( int &  iYearOut,
int &  iMonthOut,
int &  iDayOut,
double &  dHoursOut 
) const
pure virtual

Retrieves the local date and time of the observer.

Parameters
iYearOutaccepts the year in the range 1800 to 2199.
iMonthOutaccepts the month in the range 1 to 12.
iDayOutaccepts the day in the range 1 to 31.
dHoursOutaccepts the time expressed as decimal hours in the range 0 to 24.

Implemented in CRhRdkSunStorage.

◆ Longitude()

virtual double IRhRdkSunRO::Longitude ( void  ) const
pure virtual
Returns
The longitude of the observer.

Implemented in CRhRdkSunStorage.

◆ ManualControlAllowed()

virtual bool IRhRdkSunRO::ManualControlAllowed ( void  ) const
pure virtual
Returns
true if the manual control of the sun position is allowed, else false.

Implemented in CRhRdkSunStorage.

◆ ManualControlOn()

virtual bool IRhRdkSunRO::ManualControlOn ( void  ) const
pure virtual
Returns
true if manual control of the sun position is in effect, else false.

Implemented in CRhRdkSunStorage.

◆ North()

virtual double IRhRdkSunRO::North ( void  ) const
pure virtual
Returns
The world angle corresponding to North in degrees. This angle is zero along the x-axis and increases anticlockwise.

Implemented in CRhRdkSunStorage.

◆ SaveToFile()

virtual bool IRhRdkSunRO::SaveToFile ( const wchar_t *  wszFullPath) const
pure virtual

Saves the sun to a file.

Implemented in CRhRdkSunStorage.

◆ ShadowIntensity()

virtual double IRhRdkSunRO::ShadowIntensity ( void  ) const
pure virtual

ShadowIntensity is currently unused.

Implemented in CRhRdkSunStorage.

◆ TimeZone()

virtual double IRhRdkSunRO::TimeZone ( void  ) const
pure virtual
Returns
The time zone of the observer in hours.

Implemented in CRhRdkSunStorage.

◆ UTCDateTime()

virtual void IRhRdkSunRO::UTCDateTime ( int &  iYearOut,
int &  iMonthOut,
int &  iDayOut,
double &  dHoursOut 
) const
pure virtual

Retrieves the date and time of the observer as Coordinated Universal Time (UTC).

Parameters
iYearOutaccepts the year in the range RDK_SUN_MIN_YEAR to RDK_SUN_MAX_YEAR.
iMonthOutaccepts the month in the range 1 to 12.
iDayOutaccepts the day in the range 1 to 31.
dHoursOutaccepts the time expressed as decimal hours in the range 0 to 24.

Implemented in CRhRdkSunStorage.

◆ Vector()

virtual ON_3dVector IRhRdkSunRO::Vector ( void  ) const
pure virtual
Returns
The sun's direction vector in world space, taking into account the sun's azimuth & altitude and the direction of north.
See also
Azimuth()
Altitude()
North().
Note
This method only converts the sun's current azimuth, altitude and north to a vector. It does not recompute the sun's position. If you want to compute and get the vector, please call the Light() method and then call Direction() on the returned ON_Light.
See also
Light()