#ifndef __VERTEX_H__ #define __VERTEX_H__ #include "geometry.h" ////////////////////////////////////////////////////////////////////////////// // CVertex Class // class CVertex : public CGeometry { ////////////////////////////////////////////////// // Enumerated Types // ////////////////////////////////////////////////// // Initialization // public: CVertex(); virtual ~CVertex(); virtual VOID Init(); virtual VOID Uninit(); ////////////////////////////////////////////////// // Geometric Computations // public: virtual VOID CalculateBound(CBound *pCBound); virtual VOID CalculateBoundOffset(CBound *pCBound, FLOAT fDir, FLOAT fOffset); virtual VOID Null(); virtual BOOL Homogenize(); // Calculate Normal from 4 Vertexs CCW around this point virtual VOID CalculateNormal(const Point &pt0, const Point &pt1, const Point &pt2, const Point &pt3); protected: ////////////////////////////////////////////////// // Rendering // public: virtual VOID Render(BOOL bFacetted, BOOL bTexture); virtual VOID RenderOffset(BOOL bFacetted, BOOL bTexture, FLOAT fDir, FLOAT fOffset); virtual VOID RenderNormal(FLOAT fMag); ////////////////////////////////////////////////// // Output Functions // public: virtual VOID Display() const; /* virtual VOID WriteSIF(UINT_32 uiLevel) const; virtual VOID WriteDSG(UINT_32 uiLevel) const; VOID WriteSTLRef(UINT_32 uiLevel, const Matrix &m) const; */ ////////////////////////////////////////////////// // Accessor Functions // public: virtual Point GetPoint(); virtual VOID SetPoint(const Point &pt); virtual Vector GetNormal(); virtual VOID SetNormal(const Vector &v); virtual Point GetTexPoint(); virtual VOID SetTexPoint(const Point &ptTex); ////////////////////////////////////////////////// // Class Variables // public: ////////////////////////////////////////////////// // Member Variables // protected: }; ////////////////////////////////////////////////////////////////////////////// // Inlined Functions // #endif // __VERTEX_H__