Go to
the documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #pragma once
00013
00014 #include "..\baseinterface.h"
00015 #include "..\maxtypes.h"
00016 #include "..\acolor.h"
00017
00018 class Interval;
00019 class Texmap;
00020
00021 #define PORTAL_LIGHT_OBJECT_CLASSID Class_ID(0x335c655c, 0x382151b1)
00022 #define IID_MR_SKY_PORTAL_LIGHT Interface_ID(0x102804f9, 0x41d71b3f)
00023
00024
00037 class IMrSkyPortalLight : public BaseInterface {
00038 public:
00040 virtual Interface_ID GetID() { return IID_MR_SKY_PORTAL_LIGHT; };
00041
00043 virtual ~IMrSkyPortalLight() {};
00044
00047
00048
00053 virtual float GetMultiplier(const TimeValue t, Interval& valid) const = 0;
00054
00060 virtual bool SetMultiplier(const TimeValue t, float multiplier) = 0;
00062
00065
00066
00071 virtual AColor GetFilterColor(const TimeValue t, Interval &valid) const = 0;
00072
00078 virtual bool SetFilterColor(const TimeValue t, const AColor& color) = 0;
00080
00082
00092 virtual bool GetCastShadowsFromOutdoors() const = 0;
00093
00102 virtual bool SetCastShadowsFromOutdoors(bool bEnable) = 0;
00104
00106
00116 virtual int GetShadowSamples(const TimeValue t, Interval &valid) const = 0;
00117
00126 virtual bool SetShadowSamples (const TimeValue t, int shadowSamples) = 0;
00128
00131
00132
00137 virtual float GetLength(const TimeValue t, Interval &valid) const = 0;
00138
00144 virtual bool SetLength(const TimeValue t, float length) = 0;
00145
00151 virtual float GetWidth(const TimeValue t, Interval &valid) const = 0;
00152
00158 virtual bool SetWidth(const TimeValue t, float width) = 0;
00160
00161
00163
00168
00169 enum LightFluxDirection {
00171 kOutdoorToIndoor = 0,
00173 kIndoorToOutdoor = 1,
00174 kLastDir,
00175 };
00176
00180 virtual LightFluxDirection GetLightFluxDirection() const = 0;
00181
00186 virtual bool SetLightFluxDirection(LightFluxDirection dir) = 0;
00188
00190
00200 virtual bool GetVisibleInRendering(const TimeValue t, Interval &valid) const = 0;
00201
00207 virtual bool SetVisibleInRenderin(const TimeValue t, bool visible) = 0;
00209
00211
00222 virtual AColor GetTransparencyColor(const TimeValue t, Interval &valid) const = 0;
00223
00229 virtual bool SetTransparencyColor(const TimeValue t, const AColor& color) = 0;
00231
00234
00235
00236 enum IlluminationColorSource {
00239 kSceneEnvironmentColor,
00242 kCustomMapColor,
00244 kSkylightColor,
00245 kLastColorSource,
00246 };
00247
00251 virtual IlluminationColorSource GetIllumColorSource() const = 0;
00252
00257 virtual bool SetIllumColorSource(IlluminationColorSource source) = 0;
00259
00262
00263
00266 virtual Texmap* GetIlluminationMap() const = 0;
00267
00273 virtual bool SetIlluminationMap(Texmap* illumColorMap) = 0;
00275
00276 };
00277