63 lines
2.2 KiB
C
63 lines
2.2 KiB
C
|
#ifndef CURVE_INTERPRETER_H
|
||
|
#define CURVE_INTERPRETER_H
|
||
|
|
||
|
#include "ObjectInterpreter.h"
|
||
|
#include <vector>
|
||
|
#include <string>
|
||
|
#include <memory>
|
||
|
#include "CommonType.h"
|
||
|
|
||
|
class DATAMANAGER_DLL_API_EXPORTS CurveInterpreter : public ObjectInterpreter {
|
||
|
public:
|
||
|
CurveInterpreter();
|
||
|
|
||
|
std::vector<std::shared_ptr<IModel>> GenerateTempObj(std::vector<std::string> commandLines);
|
||
|
void ExecuteCommand(std::vector<std::string> &commandLines, Curve_M &curve, std::vector<Point3D_M>& pointList);
|
||
|
|
||
|
void LineDone(std::vector<std::string> &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<std::string> &linePara1b, Curve_M &o, std::vector<Point3D_M>& 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<Point3D_M> &points, const Point3D_M &p);
|
||
|
|
||
|
bool tempCmd;
|
||
|
std::vector<IModel*> tempObj;
|
||
|
std::vector<Point3D_M> pList;
|
||
|
std::string cmd;
|
||
|
};
|
||
|
|
||
|
#endif // CURVE_INTERPRETER_H
|