66 lines
1.3 KiB
C++
66 lines
1.3 KiB
C++
#ifndef GEOCOMMANDMOVEFEATURE_H_
|
|
#define GEOCOMMANDMOVEFEATURE_H_
|
|
|
|
#include "GeoCommandBase.h"
|
|
#include <QList>
|
|
#include <QHash>
|
|
|
|
namespace Geometry
|
|
{
|
|
class GeometrySet;
|
|
}
|
|
|
|
namespace Command
|
|
{
|
|
|
|
class GEOMETRYCOMMANDAPI CommandMoveFeature : public GeoCommandBase
|
|
{
|
|
public:
|
|
CommandMoveFeature(GUI::MainWindow* m, MainWidget::PreWindow* p);
|
|
~CommandMoveFeature() = default;
|
|
|
|
bool execute() override;
|
|
void undo() override;
|
|
void redo() override;
|
|
void releaseResult() override;
|
|
|
|
void setBodys(QMultiHash<Geometry::GeometrySet*, int> bodyhash);
|
|
void setVector(double* vec);
|
|
void setSaveOrigin(bool on);
|
|
void setOptionIndex(int i);
|
|
void setStartPt(double * startpt);
|
|
void setEndPt(double * endpt);
|
|
void setDir(double * dir);
|
|
void setReverse(bool r);
|
|
void setLength(double length);
|
|
private:
|
|
void getVec();
|
|
|
|
|
|
protected:
|
|
|
|
private:
|
|
//待删
|
|
QList<Geometry::GeometrySet*> _bodys{};
|
|
//新加
|
|
QMultiHash<Geometry::GeometrySet*, int> _solidhash{};
|
|
double _vector[3];
|
|
bool _saveOrigin{ false };
|
|
int _optionindex{};
|
|
double _startpt[3]{};
|
|
double _endpt[3]{};
|
|
double _dir[3]{};
|
|
bool _reverse{};
|
|
double _length{};
|
|
QHash<Geometry::GeometrySet*, Geometry::GeometrySet*> _resultOriginHash{};
|
|
|
|
bool _releasenew{ false };
|
|
bool _releaseEdit{ false };
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif |