infovis
|
00001 #ifndef MAPPINGRENDERER_H 00002 #define MAPPINGRENDERER_H 00003 00004 #include "circle.h" 00005 #include "triangle.h" 00006 #include "quad.h" 00007 #include "BoundingBox.h" 00008 #include "GeoShape.h" 00009 #include "utils.h" 00010 #include <vector> 00011 00012 using namespace std; 00013 00017 class MappingRenderer 00018 { 00019 public: 00020 00021 // Methods 00022 MappingRenderer(void); 00023 ~MappingRenderer(void); 00024 00025 void Render(float xTrans, float yTrans); 00026 void updateBoundingBox(); 00027 virtual void iniRender() =0; 00028 virtual complexD applyMapping(complexD coords) =0;// Pure Virtual Function 00029 00030 void InitGeoShapesVector( int numGeoShapes ); 00031 void ClearGeoShapesVector(); 00032 00033 vector<Triangle> Cut(float x, float y, GeoShape* geo_shape_ptr); 00034 00035 BoundingBox getBoundingBox(); 00036 //void setTranslation(float x, float y); 00037 00038 private: 00039 00040 int mNumGeoShapes; // Number of geometric objects 00041 int mNumConnection; // Number of connections between the objects 00042 BoundingBox box; 00043 }; 00044 00045 #endif