#ifndef lib3d_h #define lib3d_h #define MAX_LINES 10 class Point3D { public: short x; short y; short z; }; class Line3D { public: Line3D(); Line3D(short x1, short y1, short z1, short x2, short y2, short z2); Point3D p1; Point3D p2; }; class Scene3D { public: Scene3D(); void CreateScene(short resX, short resY, TVout* pTVout); void UpdateDisplay(); void AddLine(Line3D line); void AddCube(short cX, short cY, short cZ, short edgeLen); void AddSphere(float r, Point3D c); void SetVAngle(float vNew); void SetHAngle(float hNew); private: TVout* pTV; Line3D lines[MAX_LINES]; // all the lines in a 3D wireframe model short iNumLines; short mv; // middle vertically short mh; // the horizontal middle float h; // the angles float v; float cosh; // precalculated trig values for xyztox and xyztoy functions float sinh; float cosv; float sinv; int xyztox(short x, short y, short z); int xyztoy(short x, short y, short z); void UpdateConsts(); }; #endif
3 thoughts on “lib3d.h”