00001 /********************************************************************** 00002 *< 00003 FILE: gencamera.h 00004 00005 DESCRIPTION: Defines General-Purpose cameras 00006 00007 CREATED BY: Tom Hudson 00008 00009 HISTORY: created 5 December 1995 00010 00011 *> Copyright (c) 1995, All Rights Reserved. 00012 **********************************************************************/ 00013 #pragma once 00014 #include "object.h" 00015 00016 // Camera types 00017 #define FREE_CAMERA 0 00018 #define TARGETED_CAMERA 1 00019 #define PARALLEL_CAMERA 2 00020 00021 #define NUM_CAM_TYPES 2 00022 00028 #pragma warning(push) 00029 #pragma warning(disable:4239 4100) 00030 00031 class GenCamera: public CameraObject { 00032 public: 00038 virtual GenCamera *NewCamera(int type)=0; 00043 virtual void SetConeState(int s)=0; 00046 virtual int GetConeState()=0; 00051 virtual void SetHorzLineState(int s)=0; 00054 virtual int GetHorzLineState()=0; 00060 virtual void Enable(int enab)=0; 00066 virtual BOOL SetFOVControl(Control *c)=0; 00079 virtual void SetFOVType(int ft)=0; 00090 virtual int GetFOVType()=0; 00093 virtual Control *GetFOVControl()=0; 00100 virtual int Type()=0; 00110 virtual void SetType(int tp)=0; 00111 00112 virtual void SetDOFEnable(TimeValue t, BOOL onOff) {} 00113 virtual BOOL GetDOFEnable(TimeValue t, Interval& valid = Interval(0,0)) { return 0; } 00114 virtual void SetDOFFStop(TimeValue t, float fs) {} 00115 virtual float GetDOFFStop(TimeValue t, Interval& valid = Interval(0,0)) { return 1.0f; } 00116 }; 00117 #pragma warning(pop)