#ifndef __GEOMETRY_H__ #define __GEOMETRY_H__ #include "genlib.h" #include "mathlib.h" #include "datalib.h" #include "langlib.h" #include "bound.h" ////////////////////////////////////////////////////////////////////////////// // CGeometry Class // class CGeometry { ////////////////////////////////////////////////// // Enumerated Types // ////////////////////////////////////////////////// // Initialization // public: CGeometry(); virtual ~CGeometry(); virtual VOID Init(); virtual VOID Uninit(); virtual BOOL Valid(); ////////////////////////////////////////////////// // Geometric Computations // public: virtual VOID CalculateBound(CBound *pCBound) = 0; protected: ////////////////////////////////////////////////// // Rendering // public: virtual VOID Render(BOOL bFacetted, BOOL bTexture) = 0; ////////////////////////////////////////////////// // Output Functions // public: virtual VOID WriteSTL(FILE *fpOutputFile); ////////////////////////////////////////////////// // Error Handling // public: VOID HandleError(CHAR *pcFormat, ...); VOID HandleWarning(CHAR *pcFormat, ...); ////////////////////////////////////////////////// // Accessor Functions // public: ////////////////////////////////////////////////// // Class Variables // protected: static FILE *m_fpError; ////////////////////////////////////////////////// // Member Variables // protected: }; ////////////////////////////////////////////////////////////////////////////// // Inlined Functions // ////////////////////////////////////////////////////////////////////////////// // CGeometryIter Class // class CGeometryIter { ////////////////////////////////////////////////// // Initialization // public: CGeometryIter(); virtual ~CGeometryIter(); virtual VOID Init(CGeometry *pCGeometry); virtual VOID Uninit(); virtual BOOL Valid(); ////////////////////////////////////////////////// // Accessor Functions // public: ////////////////////////////////////////////////// // Member Variables // protected: CGeometry *m_pCGeometry; }; ////////////////////////////////////////////////////////////////////// // Inlined Functions // #endif // __GEOMETRY_H__