00001 #ifndef _POLYGON_H_ 00002 #define _POLYGON_H_ 00003 00004 #include "IGS_Object.h" 00005 #include "math/vector4.h" 00006 #include <vector> 00007 00008 //============================================================================= 00009 class IGS_Polygon : 00010 virtual public IGS_Object 00011 { 00012 public: 00013 std::vector< Vector4 > vertexes; //this is a counterclockwise ordered list of vertices 00014 00015 // int AddEdge( const int v0, const int v1 ); 00016 // int AddFacet( const MeshFacet& facet ); 00017 // int AddNormal( const Vector4& normal ); 00018 int AddVertex( const Vector4& vector ); 00019 // void ClearSilhouetteEdges() const; 00020 // void GetBoundingBox( double& xmin, double& xmax, double& ymin, double& ymax, double& zmin, double& zmax ) const; 00021 // const Vector4& GetNormal( const int i ) const; 00022 // const Vector4& GetVertex( const int i ) const; 00023 virtual void Prepare( const IGS_Controller& controller ); 00024 virtual void Render( const IGS_Controller& controller ) const; 00025 protected: 00026 // Vector4 ComputeNormalForFacet( const int facetNum ) const; 00027 }; 00028 //============================================================================= 00029 #endif