Commit 53406cf8 authored by Ken Martin's avatar Ken Martin
Browse files

Added a bunch of methods

parent 9ea219c3
......@@ -17,12 +17,13 @@ Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 1993, 1994
#define __vlCamera_hh
#include "Object.hh"
#include "Trans.hh"
class vlRenderer;
class vlCamera : public vlObject
{
public:
protected:
float FocalPoint[3];
float Position[3];
float ViewUp[3];
......@@ -31,33 +32,70 @@ class vlCamera : public vlObject
float EyeAngle;
int LeftEye;
int Switch;
float Thickness;
float Distance;
float ViewPlaneNormal[3];
vlTransform Transform;
vlTransform PerspectiveTransform;
float Orientation[3];
public:
vlCamera();
void SetPosition(float , float, float);
void SetPosition(float a[3]);
float *GetPosition();
vlGetVectorMacro(Position,float);
void SetFocalPoint(float , float, float);
void SetFocalPoint(float a[3]);
float *GetFocalPoint();
vlGetVectorMacro(FocalPoint,float);
void SetViewUp(float , float, float);
void SetViewUp(float a[3]);
float *GetViewUp();
vlGetVectorMacro(ViewUp,float);
void SetClippingRange(float , float);
void SetClippingRange(float a[2]);
vlGetVectorMacro(ClippingRange,float);
virtual void Render(vlRenderer *ren) = 0;
vlSetClampMacro(ViewAngle,float,1.0,179.0);
vlGetMacro(ViewAngle,float);
vlSetMacro(EyeAngle,float);
vlGetMacro(EyeAngle,float);
void SetThickness(float);
vlGetMacro(Thickness,float);
void SetDistance(float);
vlGetMacro(Distance,float);
vlSetMacro(Switch,int);
vlGetMacro(Switch,int);
vlBooleanMacro(Switch,int);
float GetTwist();
float *GetViewPlaneNormal();
void CalcViewPlaneNormal();
void CalcDistance();
void CalcPerspectiveTransform();
vlMatrix4x4 &GetPerspectiveTransform();
vlGetVectorMacro(ViewPlaneNormal,float);
void SetRoll(float);
void Roll(float);
float GetRoll();
void Zoom(float);
void Azimuth(float);
void Yaw(float);
void Elevation(float);
void Pitch(float);
void OrthogonalizeViewUp();
float *GetOrientation();
void PrintSelf(ostream& os, vlIndent indent);
char *GetClassName() {return "vlCamera";};
};
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment