Browse Source

Add `AddGridRowCmd`

master
Krisjanis Rijnieks 9 years ago
parent
commit
e5329d31b6
  1. 32
      src/Commands/AddGridRowCmd.cpp
  2. 30
      src/Commands/AddGridRowCmd.h

32
src/Commands/AddGridRowCmd.cpp

@ -0,0 +1,32 @@
#include "AddGridRowCmd.h"
namespace ofx {
namespace piMapper {
AddGridRowCmd::AddGridRowCmd(GridWarpSurface * s, ProjectionEditor * e){
_surface = s;
_editor = e;
}
void AddGridRowCmd::exec(){
_vertices = _surface->getVertices();
_texCoords = _surface->getTexCoords();
_surface->setGridRows(_surface->getGridRows() + 1);
_editor->createJoints();
}
void AddGridRowCmd::undo(){
ofLogNotice("AddGridRowCmd", "undo");
_surface->setGridRows(_surface->getGridRows() - 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/AddGridRowCmd.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 AddGridRowCmd : public BaseUndoCmd {
public:
AddGridRowCmd(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