Extends IDaylightSystem with new functionality This interface can be obtained when the daylight system is created.
See IDaylightSystemFactory2::Create In the case of an already existent daylight system, this interface can be obtained from the base object of the daylight assembly:
Object* daylightAssemblyObj = ... BaseInterface* bi = daylightAssemblyObj->GetInterface(IID_DAYLIGHT_SYSTEM2); IDaylightSystem2* ds = dynamic_cast<IDaylightSystem2*>(bi);
#include <IDaylightSystem.h>
Public Types |
|
enum | DaylightControlType { eDateAndTime = 0, eManual = 1, eWeatherFile = 2 } |
Public Member Functions |
|
virtual Interface_ID | GetID () |
virtual int | GetTimeZone (float longitude) const =0 |
Computes the approximate time zone from a
longitude. |
|
virtual LightObject * | SetSun (const Class_ID &sunClassID)=0 |
Sets the sun object of the daylight system.
|
|
virtual LightObject * | SetSky (const Class_ID &skyClassID)=0 |
Sets the sun object of the daylight system.
|
|
virtual DaylightControlType | GetDaylightControlType () const =0 |
Returns how the location of the sun in the
daylight system is being controlled. |
|
virtual void | SetDaylightControlType (DaylightControlType val)=0 |
Specify how the location of the sun in the
daylight system will be controlled. |
|
virtual MSTR | GetLocation ()=0 |
Returns the name of the location of the
daylight system. |
|
virtual void | GetAltitudeAzimuth (TimeValue t, float &altitude, float &azimuth)=0 |
Get the alititude and the azimuth angles of
the sun at that particular time. |
|
virtual MaxSDK::AssetManagement::AssetUser |
GetWeatherFile () const =0 |
Get the name of the weather file that is in
use in the daylight system. |
|
virtual void | SetWeatherFile (const MaxSDK::AssetManagement::AssetUser &val)=0 |
Set the name of the weather file. |
|
virtual void | OpenWeatherFileDlg ()=0 |
Opens the weather file dialog. |
|
virtual bool | GetTemps (float &dryBulbTemperature, float &dewPointTemperature)=0 |
Get temperature values. |
|
virtual bool | GetExtraTerrestialRadiation (float &extraterrestrialHorizontalRadiation, float &extraterrestrialDirectNormalRadiation)=0 |
Get extraterrestrial radiation values.
|
|
virtual bool | GetRadiation (float &globalHorizontalRadiation, float &directNormalRadiation, float &diffuseHorizontalRadiation)=0 |
Get the radiation values. |
|
virtual bool | GetIlluminance (float &globalHorizontalIlluminance, float &directNormalIlluminance, float &diffuseHorizontalIlluminance, float &zenithLuminance)=0 |
Get the illuminance values. |
enum DaylightControlType |
{ eDateAndTime = 0, eManual = 1, eWeatherFile = 2 };
virtual Interface_ID GetID | ( | ) | [inline, virtual] |
Reimplemented from FPMixinInterface.
{ return IID_DAYLIGHT_SYSTEM2; }
virtual int GetTimeZone | ( | float | longitude | ) | const [pure virtual] |
Computes the approximate time zone from a longitude.
[in] | longitude | The longitude from which the time zone is computed. The longitude is expected to be in the [-180.0, 180.0] range. It it isn't, it's converted to this range. |
virtual LightObject* SetSun | ( | const Class_ID & | sunClassID | ) | [pure virtual] |
Sets the sun object of the daylight system.
[in] | sunClassID | Class ID of new sun. The supper class id of the sun is assumed to be LIGHT_CLASS_ID. |
virtual LightObject* SetSky | ( | const Class_ID & | skyClassID | ) | [pure virtual] |
Sets the sun object of the daylight system.
[in] | skyClassID | Class ID of new sky. The supper class id of the sky is assumed to be LIGHT_CLASS_ID. |
virtual DaylightControlType GetDaylightControlType | ( | ) | const [pure virtual] |
Returns how the location of the sun in the daylight system is being controlled.
virtual void SetDaylightControlType | ( | DaylightControlType | val | ) | [pure virtual] |
Specify how the location of the sun in the daylight system will be controlled.
[in] | val | Specifies how the location of the sun in the daylight system is being controlled. If the value is eDataAndTime, the daylight system will be controlled by a specified date and time. If the value is eManual, then the postion of the sun will be controlled manually, if the value is eWeather File then the position of the sun will be driven by a weather file. |
virtual MSTR GetLocation | ( | ) | [pure virtual] |
Returns the name of the location of the daylight system.
Usually this is the city name.
virtual void GetAltitudeAzimuth | ( | TimeValue | t, |
float & | altitude, | ||
float & | azimuth | ||
) | [pure virtual] |
Get the alititude and the azimuth angles of the sun at that particular time.
[in] | t | The time at which to get the alitude and azimuth of the sun. |
[out] | altitude | The angle of the sun above the horizon. In radians, ranges from 0 at the horizon to PI/2 at the zenith. |
[out] | azimuth | The angle of the sun about north. In radians, ranges from 0 at due north, PI/2 at due east, etc.. |
virtual MaxSDK::AssetManagement::AssetUser GetWeatherFile | ( | ) | const [pure virtual] |
Get the name of the weather file that is in use in the daylight system.
virtual void SetWeatherFile | ( | const MaxSDK::AssetManagement::AssetUser & | val | ) | [pure virtual] |
Set the name of the weather file.
[in] | val | The AssetUser containing the weather file name that may be used to drive the daylight system. |
virtual void OpenWeatherFileDlg | ( | ) | [pure virtual] |
Opens the weather file dialog.
Opens the Weather File Dialog. Note that if the daylight system isn't being controlled by the weather file,
virtual bool GetTemps | ( | float & | dryBulbTemperature, |
float & | dewPointTemperature | ||
) | [pure virtual] |
Get temperature values.
Get temperature values usually from a weather file based upon the current time.
[out] | dryBulbTemperature | The dry bulb temperature usually stored in the weather file at the current time. |
[out] | dewPointTemperature | The dew point temperatureusually stored in the weather file at the current time. |
virtual bool GetExtraTerrestialRadiation | ( | float & | extraterrestrialHorizontalRadiation, |
float & | extraterrestrialDirectNormalRadiation | ||
) | [pure virtual] |
Get extraterrestrial radiation values.
Get extraterrestrial radiation values usually from a weather file based upon the current time.
[out] | extraterrestrialHorizontalRadiation | The extraterrestrial horizontal radiation usually stored in the weather file at the current time. |
[out] | extraterrestrialDirectNormalRadiation | The extraterrestrial direct normal radiation usually stored in the weather file at the current time. |
virtual bool GetRadiation | ( | float & | globalHorizontalRadiation, |
float & | directNormalRadiation, | ||
float & | diffuseHorizontalRadiation | ||
) | [pure virtual] |
Get the radiation values.
Get radiation values usually from a weather file based upon the current time.
[out] | globalHorizontalRadiation | The global horizontal radiation usually stored in the weather file at the current time. |
[out] | directNormalRadiation | The direct normal radiation usually stored in the weather file at the current time. |
[out] | diffuseHorizontalRadiation | The diffuse horizontal radiation usually stored in the weather file at the current time. |
virtual bool GetIlluminance | ( | float & | globalHorizontalIlluminance, |
float & | directNormalIlluminance, | ||
float & | diffuseHorizontalIlluminance, | ||
float & | zenithLuminance | ||
) | [pure virtual] |
Get the illuminance values.
Get illuminance values usually from a weather file based upon the current time.
[out] | globalHorizontalIlluminance | The global horizontal illuminance usually stored in the weather file at the current time. |
[out] | directNormalIlluminance | The direct normal illuminance usually stored in the weather file at the current time. |
[out] | diffuseHorizontalIlluminance | The diffuse horizontal illuminance usually stored in the weather file at the current time. |
[out] | zenithIlluminance | The zenith illuminance usually stored in the weather file at the current time. |