IMRPhysicalSkyInterface2 Class Reference

IMRPhysicalSkyInterface2 Class Referenceabstract

#include <imrPhysicalSkyLight.h>

Class Description

Access to additional fucntionality for the Mental Ray Physical Sky object.

This class represents additional functionality to the Mental Ray Physical Sky object. Given a pointer to a skylight object, one can get this interfaces as follows:

Object* skylight = // obtain a pointer to an object
IMRPhysicalSkyInterface2* physSkyInterface = dynamic_cast<IMRPhysicalSkyInterface2*>(skyInterface);
+ Inheritance diagram for IMRPhysicalSkyInterface2:

Public Member Functions

virtual Interface_ID GetID ()
 Returns the Interface ID of this interface. More...
 
CIE Direct Normal Illuminance

The direct normal illuminance value used by the CIE Sky Model.

This value will drive a MR Sun object if one exists in the same daylight system as the sky object

virtual float getCIEDirectNormalIlluminance (TimeValue &t, Interval &valid) const =0
 Gets the CIE direct normal illuminance value. More...
 
virtual bool setCIEDirectNormalIlluminance (TimeValue t, float CIEDirectNormalIlluminance)=0
 Sets the CIE direct normal illuminance value. More...
 
- Public Member Functions inherited from IMRPhysicalSkyInterface
virtual ~IMRPhysicalSkyInterface ()
 A virtual destructor for the interface. More...
 
virtual void getPerezABCDE (float &A, float &B, float &C, float &D, float &E, TimeValue t, Interval &valid) const =0
 Get the current calculate Perez Params based upon the current illuminance (or possibly irradiance if coming from a weather file). More...
 
virtual float getMultiplier (TimeValue &t, Interval &valid) const =0
 Gets the value of the multiplier for the sky's brightness. More...
 
virtual bool setMultiplier (TimeValue t, float multiplier)=0
 Sets the value of the multiplier for the sky's brightness. More...
 
virtual float getHaze (TimeValue &t, Interval &valid) const =0
 Gets the haze value of the sky. More...
 
virtual bool setHaze (TimeValue t, float haze)=0
 Sets the haze value of the sky. More...
 
virtual float getRedBlueShift (TimeValue &t, Interval &valid) const =0
 Gets the red/blue tint value of the sky. More...
 
virtual bool setRedBlueShift (TimeValue t, float redBlueShift)=0
 Sets the red/blue tint value of the sky. More...
 
virtual float getSaturation (TimeValue &t, Interval &valid) const =0
 Gets the saturation value of the sky. More...
 
virtual bool setSaturation (TimeValue t, float saturation)=0
 Sets the saturation value of the sky. More...
 
virtual AColor getGroundColor (TimeValue &t, Interval &valid) const =0
 Gets the ground color. More...
 
virtual bool setGroundColor (TimeValue t, AColor groundColor)=0
 Sets the ground color. More...
 
virtual AColor getNightColor (TimeValue &t, Interval &valid) const =0
 Gets the night color of the sky. More...
 
virtual bool setNightColor (TimeValue t, AColor nightColor)=0
 Sets the night color of the sky. More...
 
virtual float getHorizonBlur (TimeValue &t, Interval &valid) const =0
 Gets the horizon blur value. More...
 
virtual bool setHorizonBlur (TimeValue t, float horizonBlur)=0
 Sets the horizon blur value. More...
 
virtual float getHorizonHeight (TimeValue &t, Interval &valid) const =0
 Gets the horizon height value. More...
 
virtual bool setHorizonHeight (TimeValue t, float horizonHeight)=0
 Sets the horizon height value. More...
 
virtual bool getAerialPerspective (TimeValue &t, Interval &valid) const =0
 Gets whether or not aerial perspective is enabled. More...
 
virtual bool setAerialPerspective (TimeValue t, bool aerialPerspective)=0
 Sets whether or not aerial perspective is enabled. More...
 
virtual float getVisibilityDistance (TimeValue &t, Interval &valid) const =0
 Gets the visibility distance value. More...
 
virtual bool setVisibilityDistance (TimeValue t, float visibilityDistance)=0
 Sets the visibility distance value. More...
 
virtual SkyModel getSkyModel (TimeValue &t, Interval &valid) const =0
 Gets the type of sky model being used. More...
 
virtual bool setSkyModel (TimeValue t, SkyModel skyModel)=0
 Sets the type of sky model being used. More...
 
virtual float getPerezDiffuseHorizIlluminance (TimeValue &t, Interval &valid) const =0
 Gets the Perez diffuse horizontal illuminance value. More...
 
virtual bool setPerezDiffuseHorizIlluminance (TimeValue t, float perezDiffuseHorizIlluminance)=0
 Sets the Perez diffuse horizontal illuminance value. More...
 
virtual float getPerezDirectNormalIlluminance (TimeValue &t, Interval &valid) const =0
 Gets the Perez direct normal illuminance value. More...
 
virtual bool setPerezDirectNormalIlluminance (TimeValue t, float perezDirectNormalIlluminance)=0
 Sets the Perez direct normal illuminance value. More...
 
virtual float getCIEDiffuseHorizIlluminance (TimeValue &t, Interval &valid) const =0
 Gets the CIE diffuse horizontal illuminance value. More...
 
virtual bool setCIEDiffuseHorizIlluminance (TimeValue t, float cieDiffuseHorizIlluminance)=0
 Sets the CIE diffuse horizontal illuminance value. More...
 
virtual CIEModel getCIEModel (TimeValue &t, Interval &valid) const =0
 Get the CIE sky type model. More...
 
virtual bool setCIEModel (TimeValue t, CIEModel model)=0
 Set the CIE sky type model. More...
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
UtilExport BaseInterfaceGetInterface (Interface_ID id)
 
virtual LifetimeType LifetimeControl ()
 
virtual bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=NULL)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 

Additional Inherited Members

- Public Types inherited from IMRPhysicalSkyInterface
enum  SkyModel { eHaze = 0, ePerez, eCIE }
 
enum  CIEModel { eOvercastSky = 0, eClearSky }
 
- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease, immediateRelease, wantsRelease, serverControlled }
 
- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 

Member Function Documentation

virtual Interface_ID GetID ( )
inlinevirtual

Returns the Interface ID of this interface.

Reimplemented from IMRPhysicalSkyInterface.

#define MRPHYSSKY_LIGHT_INTERFACECLASS2_ID
Interface id for the additional functionality for the Mental Ray Physical Sky object.
Definition: imrPhysicalSkyLight.h:347
virtual float getCIEDirectNormalIlluminance ( TimeValue t,
Interval valid 
) const
pure virtual

Gets the CIE direct normal illuminance value.

Parameters
[in]t- The time at which we're getting the direct normal illuminance for the CIE model
[in]valid- The interval at which we're getting the direct normal illuminance for the CIE model
Returns
The direct normal illuminance value used by the CIE model
virtual bool setCIEDirectNormalIlluminance ( TimeValue  t,
float  CIEDirectNormalIlluminance 
)
pure virtual

Sets the CIE direct normal illuminance value.

Parameters
[in]t- The time at which we are setting the CIE direct normal illuminance
[in]CIEDirectNormalIlluminance- The value that the CIE direct normal illuminance will be set to
Returns
true if the setting was successful, false otherwise