3ds Max C++ API Reference
|
Extends IDaylightSystem with new functionality This interface can be obtained when the daylight system is created. More...
#include <IDaylightSystem.h>
Public Types | |
enum | DaylightControlType { eDateAndTime = 0 , eManual = 1 , eWeatherFile = 2 } |
![]() | |
enum | LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled } |
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 &zenithIlluminance)=0 |
Get the illuminance values. | |
![]() | |
virtual LightObject * | GetSun () const =0 |
Returns the sun component of the daylight system. | |
virtual LightObject * | GetSky () const =0 |
Returns the sky component of the daylight system. | |
virtual void | SetPosition (const Point3 &position)=0 |
Sets the position of the compass of the daylight system. | |
virtual Point3 | GetPosition () const =0 |
Returns the position of the compass of the daylight system. | |
virtual void | SetOrbitalScale (float orbScale)=0 |
Sets the orbital scale of the system. | |
virtual float | GetOrbitalScale () const =0 |
Returns the orbital scale of the system. | |
virtual void | SetNorthDirection (float angle)=0 |
Sets the value of the north direction. | |
virtual float | GetNorthDirection () const =0 |
Returns the value of the north direction. | |
virtual void | SetCompassDiameter (float compassDiameter)=0 |
Sets the compass diameter of this daylight. | |
virtual float | GetCompassDiameter () const =0 |
Returns the compass diameter of this daylight system. | |
virtual void | SetTimeOfDay (const Point3 &time)=0 |
Sets the current time associated with this daylight system. | |
virtual Point3 | GetTimeOfDay () const =0 |
Returns the current time associated with this daylight system. | |
virtual void | SetDate (const Point3 &date)=0 |
Sets the current date associated to this daylight system. | |
virtual Point3 | GetDate () const =0 |
Returns the current date associated to this daylight system. | |
virtual void | SetLatLong (float latitude, float longitude)=0 |
Set the latitude and longitude of this daylight system, note that the time zone, city, azimuth and altitude are automatically calculated. | |
virtual float | GetLatitude () const =0 |
Returns latitude value of this daylight system. | |
virtual float | GetLongitude () const =0 |
Longitude value of this daylight system. | |
virtual void | SetDaylightSavingTime (BOOL isDaylightSavingTime)=0 |
Set the daylight saving time parameter. | |
virtual BOOL | GetDaylightSavingTime () const =0 |
Returns the daylight saving time parameter. | |
![]() | |
FPMixinInterface () | |
virtual LifetimeType | LifetimeControl () |
virtual CoreExport bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
CoreExport | ~FPMixinInterface () |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDescByID (Interface_ID id) |
virtual Interface_ID | GetID () |
![]() | |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDesc ()=0 |
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL) |
virtual FPStatus | Invoke (FunctionID fid, FPParams *params) |
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL) |
virtual FPStatus | Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL) |
virtual CoreExport FunctionID | FindFn (const MCHAR *name) |
virtual CoreExport BOOL | IsEnabled (FunctionID actionID) |
virtual CoreExport BOOL | IsChecked (FunctionID actionID) |
virtual CoreExport BOOL | IsVisible (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsEnabled (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsChecked (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsVisible (FunctionID actionID) |
virtual ActionTable * | GetActionTable () |
virtual void | EnableActions (BOOL onOff) |
![]() | |
virtual UtilExport | ~BaseInterface () |
Destructor. | |
UtilExport BaseInterface * | GetInterface (Interface_ID id) override |
virtual UtilExport Interface_ID | GetID () |
virtual LifetimeType | LifetimeControl () |
virtual bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual BaseInterface * | AcquireInterface () |
virtual void | ReleaseInterface () |
virtual void | DeleteInterface () |
virtual BaseInterface * | CloneInterface (void *remapDir=nullptr) |
![]() | |
virtual UtilExport | ~InterfaceServer () |
Destructor. | |
virtual UtilExport BaseInterface * | GetInterface (Interface_ID id) |
template<class InterfaceType > | |
InterfaceType * | GetTypedInterface () |
Additional Inherited Members | |
![]() | |
static UtilExport void * | operator new (size_t size) |
Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new (size_t size, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void | operator delete (void *ptr) |
Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
Placement new operator. | |
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
Placement delete operator. | |
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. | |
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
Reallocates memory on a specified alignment boundary. | |
static UtilExport void | aligned_free (void *ptr) |
Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. | |
![]() | |
static CoreExport FPInterfaceDesc | nullInterface |
![]() | |
FPMixinInterface (const FPMixinInterface &rhs) | |
FPMixinInterface & | operator= (const FPMixinInterface &rhs) |
![]() | |
virtual FPStatus | _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p) |
![]() | |
Tab< InterfaceNotifyCallback * > * | interfaceNotifyCBs |
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:
enum DaylightControlType |
|
inlinevirtual |
Reimplemented from FPMixinInterface.
|
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. |
|
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. |
|
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. |
|
pure virtual |
Returns how the location of the sun in the daylight system is being controlled.
|
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. |
|
pure virtual |
Returns the name of the location of the daylight system.
Usually this is the city name.
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.. |
|
pure virtual |
Get the name of the weather file that is in use in the daylight system.
|
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. |
|
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,
|
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. |
|
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. |
|
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. |
|
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. |