source: golgotha/src/maxtool/sdk_inc/genlight.h @ 80

Last change on this file since 80 was 80, checked in by Sam Hocevar, 11 years ago
  • Adding the Golgotha source code. Not sure what's going to be interesting in there, but since it's all public domain, there's certainly stuff to pick up.
  • Property svn:keywords set to Id
File size: 3.7 KB
Line 
1/**********************************************************************
2 *<
3        FILE: genlight.h
4
5        DESCRIPTION:  Defines General-Purpose lights
6
7        CREATED BY: Tom Hudson
8
9        HISTORY: created 5 December 1995
10
11 *>     Copyright (c) 1995, All Rights Reserved.
12 **********************************************************************/
13
14#ifndef __GENLIGHT__H__
15
16#define __GENLIGHT__H__
17
18#define OMNI_LIGHT              0       // Omnidirectional
19#define TSPOT_LIGHT             1       // Targeted
20#define DIR_LIGHT               2       // Directional
21#define FSPOT_LIGHT             3       // Free
22
23#define NUM_LIGHT_TYPES 4
24
25// SetAtten types
26#define ATTEN_START             0
27#define ATTEN_END               1
28
29// Shapes
30#define RECT_LIGHT              0
31#define CIRCLE_LIGHT    1
32
33class GenLight: public LightObject {                       
34public:
35        virtual GenLight *NewLight(int type)=0;
36        virtual RefResult EvalLightState(TimeValue t, Interval& valid, LightState* cs)=0;
37        virtual BOOL IsSpot()=0;
38        virtual BOOL IsDir()=0;
39        virtual void SetUseLight(int onOff)=0;
40        virtual BOOL GetUseLight(void)=0;
41        virtual void SetSpotShape(int s)=0;
42        virtual int GetSpotShape(void)=0;
43        virtual void SetHotspot(TimeValue time, float f)=0;
44        virtual float GetHotspot(TimeValue t, Interval& valid = Interval(0,0))=0;
45        virtual void SetFallsize(TimeValue time, float f)=0;
46        virtual float GetFallsize(TimeValue t, Interval& valid = Interval(0,0))=0;
47        virtual void SetAtten(TimeValue time, int which, float f)=0;
48        virtual float GetAtten(TimeValue t, int which, Interval& valid = Interval(0,0))=0;
49        virtual void SetTDist(TimeValue time, float f)=0;
50        virtual float GetTDist(TimeValue t, Interval& valid = Interval(0,0))=0;
51        virtual ObjLightDesc *CreateLightDesc(INode *n)=0;
52        virtual void SetRGBColor(TimeValue t, Point3& rgb)=0;
53        virtual Point3 GetRGBColor(TimeValue t, Interval &valid = Interval(0,0))=0;
54        virtual void SetHSVColor(TimeValue t, Point3& hsv)=0;
55        virtual Point3 GetHSVColor(TimeValue t, Interval &valid = Interval(0,0))=0;
56        virtual void SetIntensity(TimeValue time, float f)=0;
57        virtual float GetIntensity(TimeValue t, Interval& valid = Interval(0,0))=0;
58        virtual void SetAspect(TimeValue t, float f)=0;
59        virtual float GetAspect(TimeValue t, Interval& valid = Interval(0,0))=0;
60        virtual void SetConeDisplay(int s, int notify=TRUE)=0;
61        virtual BOOL GetConeDisplay(void)=0;
62        virtual void SetUseAtten(int s)=0;
63        virtual BOOL GetUseAtten(void)=0;
64        virtual void SetAttenDisplay(int s)=0;
65        virtual BOOL GetAttenDisplay(void)=0;
66        virtual void Enable(int enab)=0;
67        virtual void SetMapBias(TimeValue t, float f)=0;
68        virtual float GetMapBias(TimeValue t, Interval& valid = Interval(0,0))=0;
69        virtual void SetMapRange(TimeValue t, float f)=0;
70        virtual float GetMapRange(TimeValue t, Interval& valid = Interval(0,0))=0;
71        virtual void SetMapSize(TimeValue t, int f)=0;
72        virtual int GetMapSize(TimeValue t, Interval& valid = Interval(0,0))=0;
73        virtual void SetRayBias(TimeValue t, float f)=0;
74        virtual float GetRayBias(TimeValue t, Interval& valid = Interval(0,0))=0;
75
76        virtual int GetUseGlobal()=0;
77        virtual void SetUseGlobal(int a)=0;
78        virtual int GetShadow()=0;
79        virtual void SetShadow(int a)=0;
80        virtual int GetShadowType()=0;
81        virtual void SetShadowType(int a)=0;
82        virtual int GetAbsMapBias()=0;
83        virtual void SetAbsMapBias(int a)=0;
84        virtual int GetOvershoot()=0;
85        virtual void SetOvershoot(int a)=0;
86
87        virtual NameTab& GetExclusionList()=0;
88        virtual void SetExclusionList(NameTab &list)=0;
89
90        virtual BOOL SetHotSpotControl(Control *c)=0;
91        virtual BOOL SetFalloffControl(Control *c)=0;
92        virtual BOOL SetColorControl(Control *c)=0;
93        virtual Control* GetHotSpotControl()=0;
94        virtual Control* GetFalloffControl()=0;
95        virtual Control* GetColorControl()=0;
96};
97
98
99#endif // __GENLIGHT_H__
Note: See TracBrowser for help on using the repository browser.