#pragma once #include "ofMain.h" #include #include "BaseSource.h" using namespace std; namespace ofx { namespace piMapper { class BaseSurface { public: BaseSurface(); ~BaseSurface(); virtual void setup() {}; virtual void draw() {}; virtual void setVertex(int index, ofVec2f p) {}; virtual void setTexCoord(int index, ofVec2f t) {}; virtual void moveBy(ofVec2f v) {}; virtual int getType() {}; virtual bool hitTest(ofVec2f p) {}; virtual ofPolyline getHitArea() {}; virtual ofPolyline getTextureHitArea() {}; virtual vector& getVertices() {}; virtual vector& getTexCoords() {}; void drawTexture(ofVec2f position); void setSource(BaseSource* newSource); BaseSource* getSource(); BaseSource* getDefaultSource(); void setMoved(bool moved); bool getMoved(); protected: ofMesh mesh; ofTexture defaultTexture; BaseSource* source; BaseSource* defaultSource; void createDefaultTexture(); bool _moved; }; } }