Browse Source

Add `AddGridColCmd`

master
Krisjanis Rijnieks 9 years ago
parent
commit
40e8bf2d0c
  1. 32
      src/Commands/AddGridColCmd.cpp
  2. 30
      src/Commands/AddGridColCmd.h

32
src/Commands/AddGridColCmd.cpp

@ -0,0 +1,32 @@
#include "AddGridColCmd.h"
namespace ofx {
namespace piMapper {
AddGridColCmd::AddGridColCmd(GridWarpSurface * s, ProjectionEditor * e){
_surface = s;
_editor = e;
}
void AddGridColCmd::exec(){
_vertices = _surface->getVertices();
_texCoords = _surface->getTexCoords();
_surface->setGridCols(_surface->getGridCols() + 1);
_editor->createJoints();
}
void AddGridColCmd::undo(){
ofLogNotice("AddGridColCmd", "undo");
_surface->setGridCols(_surface->getGridCols() - 1);
vector <ofVec2f> v;
for(int i = 0; i < _vertices.size(); ++i){
v.push_back( ofVec2f(_vertices[i].x, _vertices[i].y) );
}
_surface->setVertices(v);
_surface->setTexCoords(_texCoords);
_editor->createJoints();
}
} // namespace piMapper
} // namespace ofx

30
src/Commands/AddGridColCmd.h

@ -0,0 +1,30 @@
#pragma once
#include "SurfaceManager.h"
#include "BaseCmd.h"
#include "GridWarpSurface.h"
#include "ProjectionEditor.h"
class ofxPiMapper;
namespace ofx {
namespace piMapper {
class AddGridColCmd : public BaseUndoCmd {
public:
AddGridColCmd(GridWarpSurface * s, ProjectionEditor * e);
void exec();
void undo();
private:
vector <ofVec3f> _vertices;
vector <ofVec2f> _texCoords;
GridWarpSurface * _surface;
ProjectionEditor * _editor;
};
} // namespace piMapper
} // namespace ofx
Loading…
Cancel
Save