/* ZTessellator.h Author: Patrick Baggett Purpose: Header for tessellator interface. (currently requires GLU) Changelog 2011/09/18 - creation (ptbaggett) */ #pragma once #ifndef _ZTESSELLATOR_HPP #define _ZTESSELLATOR_HPP #include //Types of tessellations we can handle enum ZTesselatorPolyType { ZTPT_POLY_TRIANGLES, ZTPT_POLY_TRIFAN, ZTPT_POLY_TRISTRIP }; class ZTessellator { protected: //Protected Constructor ZTessellator() { } public: //Virtual Destructor virtual ~ZTessellator() { } /* virtual public ZTessellator::BeginPoly TODO @param type - @return (void) @context (all) */ virtual void BeginPoly(ZTesselatorPolyType type) = 0; /* virtual public ZTessellator::BeginTessellate TODO @return (void) @context (all) */ virtual void BeginTessellate() = 0; /* virtual public ZTessellator::EndPoly TODO @return (void) @context (all) */ virtual void EndPoly() = 0; /* virtual public ZTessellator::EndTessellate TODO @return (void) @context (all) */ virtual void EndTessellate() = 0; /* virtual public ZTessellator::Tessellate TODO @return (void) @context (all) */ virtual void Tesselate() = 0; /* virtual public ZTessellator::Vertex TODO @param p - @return (void) @context (all) */ virtual void Vertex(SST_Vec2f* p) = 0; }; #endif