#ifndef CURVE_INTERPRETER_H #define CURVE_INTERPRETER_H #include "ObjectInterpreter.h" #include #include #include #include "CommonType.h" class DATAMANAGER_DLL_API_EXPORTS CurveInterpreter : public ObjectInterpreter { public: CurveInterpreter(); std::vector> GenerateTempObj(std::vector commandLines); void ExecuteCommand(std::vector &commandLines, Curve_M &curve, std::vector& pointList); void LineDone(std::vector &commandLines); bool IsPositiveDouble(const std::string &str); double GetCircleRadius(double B, double f); double GetCircleH(double R, double w, double f); double GetCircleAngle(double R, double w, double h); double GetParabolaH(double B, double f, double w); void SetKnotAXYZII(Curve_M &o, int index, double X, double Y, double Z); void SetKnotAXYZ(Curve_M &o, int index, double X, double Y, double Z); void SetKnotValue(const std::vector &linePara1b, Curve_M &o, std::vector& pointList, double offset, const std::string &dir, int type); void SetProjIKnotAXYZII(Curve_M &curve, int index, double X, double Y, double Z); void SetProjIIKnotAXYZII(Curve_M &curve, int index, double X, double Y, double Z); void SetProjIKnotAXYZ(Curve_M &curve, int index, double X, double Y, double Z); void SetProjIIKnotAXYZ(Curve_M &curve, int index, double X, double Y, double Z); void SetKnotAXYZII(Curve_M &curve, int index, const std::string &dir, double ang); void SetProjIKnotAXYZII(Curve_M &curve, int index, const std::string &dir, double ang); void SetProjIIKnotAXYZII(Curve_M &curve, int index, const std::string &dir, double ang); void SetKnotAXYZ(Curve_M &curve, int m, const std::string &dir, double ang); void SetProjIKnotAXYZ(Curve_M &curve, int m, const std::string &dir, double ang); void SetProjIIKnotAXYZ(Curve_M &curve, int m, const std::string &dir, double ang); void addPointIfNotExists(std::vector &points, const Point3D_M &p); bool tempCmd; std::vector tempObj; std::vector pList; std::string cmd; }; #endif // CURVE_INTERPRETER_H