58 lines
1.8 KiB
C++
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
|