class CScenView : public CView
{
public:
// Partial listing, Perspective transform
// variables
...
double m_ScvViewPtZ; // View point
// Z distance
// Rotation of object world about Y axis
double m_ScvDegAngle;
double m_ScvAngle; // Radians
double m_ScvYdrop; // View Y drop
double m_ScvZoffset; // View Z offset
double m_ScvXoffset; // View X offset
...
double m_ScreenGainX;
double m_ScreenGainY;
// Normalised (0.0 to 1.0) origin point
double m_NormWoX;
double m_NormWoY;
int m_WorgIy; // Device origin point
int m_WorgIx; // in pixels
double m_WorgSx; // Camera world screen
double m_WorgTy; // origin values
double m_ObjPosX; // Perspective Thing
double m_ObjPosY; // position
double m_ObjPosZ;
double m_ObjPtX; // Perspective input
double m_ObjPtY; // 3-D point
double m_ObjPtZ;
// Perspective output (S x axis, T y axis)
double m_ScreenS;
double m_ScreenT;
int m_DeviceIx; // Screen point
int m_DeviceIy;
int m_DeviceHorizon;
// perspective transform matrix
double m_ScPerspective[4][4];
double m_ScnObjCoords[4]; // Object coords
double m_rpc[4]; // Object coord
// output array
// Implementation
public:
...
void InitDisplayScene();
void PerspectiveInit();
void PerspectiveTr();
};