#pragma once #include "IndexedGeometry.h" namespace Aftr { class IndexedGeometrySphereTriStrip : public IndexedGeometry { public: static IndexedGeometrySphereTriStrip* New( float radius = 1, unsigned int numCols = 4, unsigned int numRows = 4, bool useNormals = false, bool useTextures = false ); virtual ~IndexedGeometrySphereTriStrip() {} /// Returns a pointer to a list containing all verticies within this model. /// This list is indexed by the corresponding CompositeIndexList. virtual const std::vector< Vector >& getCompositeVertexList() const override; /// Returns a pointer to a list containing all indicies into the corresponding /// CompositeVertexList. virtual const std::vector< unsigned int >& getCompositeIndexList() const override; protected: IndexedGeometrySphereTriStrip( float radius = 1, unsigned int numCols = 4, unsigned int numRows = 4, bool useNormals = false, bool useTextures = false ); virtual void createVertices(); virtual void createIndices(); virtual void createTextureCoords(); virtual void createNormals(); float radius = 1.0f; unsigned int numCols; unsigned int numRows; std::vector verts; //SLN TODO: POPulate and use this, right now composite list isn't sync'd std::vector idx; //SLN TODO: POPulate and use this, right now composite list isn't sync'd }; }