#ifndef _GEOMETRYPARAROTATEFEATURE_H_ #define _GEOMETRYPARAROTATEFEATURE_H_ #include "geometryModelParaBase.h" #include #include namespace Geometry { class GeometrySet; class GEOMETRYAPI GeometryParaRotateFeature : public GeometryModelParaBase { public: GeometryParaRotateFeature(); ~GeometryParaRotateFeature() = default; void setOriginObject(GeometrySet* set); GeometrySet* getOriginObject(); void appendBody(Geometry::GeometrySet* set, int bodyindex); QMultiHash getBodys(); void setBasicPoint(double* p); void getBasicPoint(double* p); void setAngle(double a); double getAngle(); void isSaveOrigin(bool s); bool isSaveOrigin(); void setMethod(int m); int getMethod(); void setEdge(GeometrySet* body, int index); QPair getEdge(); void setVector(double* vec); void getVector(double* v); void isReverse(bool r); bool isReverse(); ///数据写入工程文件 QDomElement& writeToProjectFile(QDomDocument* doc, QDomElement* parent) override; ///从工程文件读入数据 virtual void readDataFromProjectFile(QDomElement* e) override; private: QMultiHash_solidHash{}; GeometrySet* _originSet{}; double _basicPoint[3]; double _angle{ 0.00 }; bool _saveOrigin{ false }; int _method{ 0 }; QPair _edge{}; double _vector[3]; bool _reverse{ false }; }; } #endif