gencam.h

Go to the documentation of this file.
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)