#ifndef EDITGEOM_INTERPRETER_H #define EDITGEOM_INTERPRETER_H #include "ObjectInterpreter.h" #include #include #include #include "DataManager.h" class DATAMANAGER_DLL_API_EXPORTS CopyInterpreter : public ObjectInterpreter { public: CopyInterpreter(); void ExecuteCommand(std::vector &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 &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 &commandLines, IModel *&o, std::vector &toDel , std::vector& names); }; class DATAMANAGER_DLL_API_EXPORTS TrimInterpreter : public ObjectInterpreter { public: TrimInterpreter(); void ExecuteCommand(std::vector &commandLines, IModel *&o); }; class DATAMANAGER_DLL_API_EXPORTS IntersectInterpreter : public ObjectInterpreter { public: IntersectInterpreter(); void ExecuteCommand(std::vector &commandLines, IModel &o); }; #endif // EDITGEOM_INTERPRETER_H