You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.2 KiB
C++
83 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include "ActionItem.h"
|
|
|
|
/**
|
|
* 线和网格曲线z值反转的撤消和恢复
|
|
*/
|
|
class CActionReverseZItem :
|
|
public CActionItem
|
|
{
|
|
public:
|
|
CActionReverseZItem();
|
|
|
|
/**
|
|
* 构造函数
|
|
*
|
|
* \param ppDoc
|
|
* \param actionType
|
|
* \param elements 要反转z值的元素
|
|
*/
|
|
CActionReverseZItem(CSigmaDoc* ppDoc, UINT actionType, const CPositionList &elements);
|
|
|
|
std::string GetActionName() const override
|
|
{
|
|
return typeid(*this).name();
|
|
}
|
|
|
|
void Undo() override;
|
|
void Redo() override;
|
|
void Do() override;
|
|
|
|
void accept(CActionVisitor& visitor) override;
|
|
|
|
friend class BlobSerializer;
|
|
private:
|
|
void Reverse();
|
|
|
|
/**
|
|
* 反转网格 z 值
|
|
*
|
|
* \param pMesh
|
|
*/
|
|
void ReverseMesh(CMesh* pMesh);
|
|
|
|
/**
|
|
* 更新网格,把更新单独拎出来是因为得等其它数据都反转完了,它们才能正常工作
|
|
*
|
|
* \param pMesh
|
|
*/
|
|
void UpdateMesh(CMesh* pMesh);
|
|
|
|
/**
|
|
* 反转颜色标尺
|
|
*
|
|
* \param pMesh
|
|
*/
|
|
void ReverseColorRuler(CMesh* pMesh);
|
|
|
|
/**
|
|
* 反转颜色模板
|
|
*
|
|
* \param pMesh
|
|
*/
|
|
void ReverseColorBase(CMesh* pMesh);
|
|
|
|
/**
|
|
* 反转网格节点 z 值
|
|
*
|
|
* \param pMesh
|
|
*/
|
|
void ReverseDfg(CMesh* pMesh);
|
|
|
|
/**
|
|
* 反转曲线 z 值
|
|
*
|
|
* \param pCurve
|
|
*/
|
|
void ReverseCurve(CCurveEx *pCurve);
|
|
|
|
CPositionList m_elements;
|
|
};
|
|
|