infovis
D:/VC++/Info. Vis/infovis/infovis/MappingRenderer.h
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
 All Classes Functions