imrPhysicalSunLight.h

Go to the documentation of this file.
00001 //*****************************************************************************/
00002 // Copyright (c) 1998-2007 Autodesk, Inc.
00003 // All rights reserved.
00004 // 
00005 // These coded instructions, statements, and computer programs contain
00006 // unpublished proprietary information written by Autodesk, Inc., and are
00007 // protected by Federal copyright law. They may not be disclosed to third
00008 // parties or copied or duplicated in any form, in whole or in part, without
00009 // the prior written consent of Autodesk, Inc.
00010 //*****************************************************************************/
00011 /*===========================================================================*\
00012  | 
00013  |  FILE:  imrPhysicalSunLight.h
00014  |         
00015  | 
00016  |  AUTH:   Benjamin Cecchetto
00017  |          Nov 7th, 2007
00018  |          
00019 \*===========================================================================*/
00020 
00021 #pragma once
00022 
00023 #include "..\baseinterface.h"
00024 #include "..\maxtypes.h"
00025 
00026 // forward declarations
00027 class Interval;
00028 
00030 #define MR_PHYSSUN_CLASS_ID Class_ID(0x71503bbb, 0x25e21124)
00031 
00032 #define IID_MR_PHYSICAL_SUN_LIGHT Interface_ID(0x4c230590, 0x15fe4287)
00033 
00035 
00043 class IMRPhysicalSunLight  : public BaseInterface {
00044 public:
00046     virtual Interface_ID GetID() { return IID_MR_PHYSICAL_SUN_LIGHT; };
00047 
00049     virtual ~IMRPhysicalSunLight() {};
00050 
00055 
00056 
00061     virtual bool   getInheritFromSky(TimeValue &t, Interval &valid) const = 0;
00067     virtual bool   setInheritFromSky(TimeValue t, bool inheritFromSky) = 0;
00069 
00077 
00078 
00083     virtual bool   getPhotonTargetEnabled(TimeValue &t, Interval &valid) const = 0;
00089     virtual bool   setPhotonTargetEnabled(TimeValue t, bool enablePhotonTarget) = 0;
00091 
00095 
00096 
00101     virtual float  getPhotonTarget  (TimeValue &t, Interval &valid) const = 0;
00107     virtual bool   getPhotonTarget  (TimeValue t, float photonTarget) = 0;
00109 
00112 
00113 
00118     virtual float  getMultiplier   (TimeValue &t, Interval &valid) const = 0;
00124     virtual bool   setMultiplier   (TimeValue t, float multiplier) = 0;
00126 
00129 
00130 
00135     virtual float  getSkyMultiplier   (TimeValue &t, Interval &valid) const = 0;
00141     virtual bool   setSkyMultiplier   (TimeValue t, float skyMultiplier) = 0;
00143 
00149 
00150 
00155     virtual float  getHaze(TimeValue &t, Interval &valid) const = 0;
00161     virtual bool   setHaze(TimeValue t, float haze) = 0;
00163 
00169 
00170 
00175     virtual float  getRedBlueShift (TimeValue &t, Interval &valid) const = 0;
00181     virtual bool   setRedBlueShift (TimeValue t, float redBlueShift) = 0;
00183 
00189 
00190 
00195     virtual float  getSaturation   (TimeValue &t, Interval &valid) const = 0;   
00201     virtual bool   setSaturation   (TimeValue t, float saturation) = 0; 
00203 
00206 
00207 
00212     virtual float  getHorizonHeight(TimeValue &t, Interval &valid) const = 0;
00218     virtual bool   setHorizonHeight(TimeValue t, float horizonHeight) = 0;
00220 
00225 
00226 
00231     virtual float  getShadowSoftness (TimeValue &t, Interval &valid) const = 0;
00237     virtual bool   setShadowSoftness (TimeValue t, float shadowSoftness) = 0;
00239 
00243 
00244 
00249     virtual int    getShadowSamples (TimeValue &t, Interval &valid) const = 0;
00255     virtual bool   setShadowSamples (TimeValue t, int shadowSamples) = 0;
00257 };
00258