COMPASSi/trunk/code/inc/DataManager/Logic/Logic.DataManagement/Interpreters/EditGeomInterpreter.h

58 lines
1.8 KiB
C++

#ifndef EDITGEOM_INTERPRETER_H
#define EDITGEOM_INTERPRETER_H
#include "ObjectInterpreter.h"
#include <vector>
#include <string>
#include <memory>
#include "DataManager.h"
class DATAMANAGER_DLL_API_EXPORTS CopyInterpreter : public ObjectInterpreter {
public:
CopyInterpreter();
void ExecuteCommand(std::vector<std::string> &commandLines, IModel *&o);
Point3D_M CopyPoint(const Point3D_M &srcPoint, const std::string &newName, double dx, double dy, double dz);
Curve_M CopyCurve(const Curve_M &srcCurve, const std::string &newName, double dx, double dy, double dz);
private:
};
class DATAMANAGER_DLL_API_EXPORTS MirrorGeomInterpreter : public ObjectInterpreter {
public:
MirrorGeomInterpreter();
void ExecuteCommand(std::vector<std::string> &commandLines, IModel *&o,DataManager *pdata);
Point3D_M* MirrorPoint(Point3D_M *srcPoint, std::string &newName, int mirrorDir, double mirrorOrgin);
Curve_M* MirrorCurve(Curve_M *srcCurve, std::string &newName, int mirrorDir, double mirrorOrgin, DataManager *pdata);
Point3D_M PointValueMirror(const Point3D_M &srcPoint, int mirrorDir, double mirrorOrgin);
};
class DATAMANAGER_DLL_API_EXPORTS JoinGeomInterpreter : public ObjectInterpreter {
public:
JoinGeomInterpreter();
void ExecuteCommand(std::vector<std::string> &commandLines, IModel *&o, std::vector<int> &toDel , std::vector<std::string>& names);
};
class DATAMANAGER_DLL_API_EXPORTS TrimInterpreter : public ObjectInterpreter
{
public:
TrimInterpreter();
void ExecuteCommand(std::vector<std::string> &commandLines, IModel *&o);
};
class DATAMANAGER_DLL_API_EXPORTS IntersectInterpreter : public ObjectInterpreter
{
public:
IntersectInterpreter();
void ExecuteCommand(std::vector<std::string> &commandLines, IModel &o);
};
#endif // EDITGEOM_INTERPRETER_H