summaryrefslogtreecommitdiffstats
path: root/VertexProvider.h
blob: 101098eb520f4c033bc784aeec58d90d8a4edbf9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef VERTEXPROVIDER_H_
#define VERTEXPROVIDER_H_

#include "Vertex.h"


class VertexProvider {
  public:
    virtual ~VertexProvider() {}
    
    virtual const Vertex* getVertex(size_t id) const = 0;
    virtual size_t getVertexCount() const = 0;
    
    virtual void moveVertex(size_t id, float x, float y) {}
    virtual void rotateVertex(size_t id, Vertex m, float a) {}
    
    virtual bool canConnectVertex(size_t id) const {return false;}
    virtual void connectVertex(size_t id) {}
};

#endif /*VERTEXPROVIDER_H_*/