22#include <mlUndoStep.h>
76 std::string
description()
const override {
return "Remove Contour"; }
81 unsigned int _lastCurrentCSOId;
83 std::vector<unsigned int> _csoGroupIds;
102 std::string
description()
const override {
return "Add Contour"; }
106 unsigned int _removeCSOId;
125 std::string
description()
const override {
return "Remove Contour Group"; }
130 unsigned int _lastCurrentGroupId;
131 unsigned int _groupId;
132 std::vector<unsigned int> _groupCSOIds;
150 std::string
description()
const override {
return "Add Contour Group"; }
154 unsigned int _csoGroupId;
173 std::string
description()
const override {
return "Remove Contour From Group"; }
178 unsigned int _groupId;
198 std::string
description()
const override {
return "Add Contour To Group"; }
203 unsigned int _groupId;
222 std::string
description()
const override {
return "Remove Contours"; }
226 CSOListPtr _addCSOList;
245 std::string
description()
const override {
return "Move Contour"; }
252 int _fromTimePointIndex;
253 int _toTimePointIndex;
272 std::string
description()
const override {
return "Move Contour Point"; }
278 unsigned int _numSeedPoints;
279 unsigned int _numPathPoints;
282 std::vector<Vector4>* _pathPointPositionValues;
301 std::string
description()
const override {
return "Add Contour Point"; }
307 std::string _subType;
309 CSO _originalGeometry;
330 std::string
description()
const override {
return "Remove Contours"; }
334 struct CSOUndoRedoData
336 CSOUndoRedoData() : cso(nullptr), csoId(0) {}
337 CSOUndoRedoData(CSO* _cso,
unsigned int _csoId,
const std::vector<unsigned int>& _csoGroupIds)
338 : cso(_cso), csoId(_csoId), csoGroupIds(_csoGroupIds) {}
341 std::vector<unsigned int> csoGroupIds;
344 unsigned int _lastCurrentCSOId;
345 std::vector<CSOUndoRedoData> _csoUndoRedoData;
364 std::string
description()
const override {
return "Add Contours"; }
368 std::vector<unsigned int> _removeCSOIds;
387 std::string
description()
const override {
return "Change Contours"; }
391 struct CSOUndoRedoData
393 CSOUndoRedoData() : _seedPositions(nullptr), _pathPointPositionValues(nullptr) {}
394 CSOUndoRedoData(
unsigned int csoId,
const std::string& type,
int markerMode,
bool csoIsClosed,
unsigned int numSeedPoints,
unsigned int numPathPoints, Vector3* seedPositions, std::vector<Vector4>* pathPointPositionValues)
395 : _csoId(csoId), _type(type), _seedPointStyle(markerMode), _csoIsClosed(csoIsClosed), _numSeedPoints(numSeedPoints), _numPathPoints(numPathPoints), _seedPositions(seedPositions), _pathPointPositionValues(pathPointPositionValues) {}
401 unsigned int _numSeedPoints;
402 unsigned int _numPathPoints;
404 std::vector<Vector4>* _pathPointPositionValues;
407 std::vector<CSOUndoRedoData> _csoUndoRedoData;
426 std::string
description()
const override {
return "Modify Visual Attributes"; }
433 float _pathPointAlpha;
435 float _pathPointWidth;
438 float _seedPointAlpha;
440 float _seedPointSize;
#define MLCSO_EXPORT
Defines export symbols for classes, so they can be used in other DLLs.
Class for undo/redo of adding a CSOGroup to the CSOList.
CSOCmdAddCSOGroup(const CSOListPtr &csoList, CSOGroup *group)
Constructor.
int execute() override
Method is executed on undo/redo.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
~CSOCmdAddCSOGroup() override
Destructor.
Class for undo/redo of adding multiple CSOs to the CSOList.
int execute() override
Method is executed on undo/redo.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
~CSOCmdAddCSOList() override
Destructor.
CSOCmdAddCSOList(const CSOListPtr &csoList)
Constructor.
Class for undo/redo of of adding a set of CSOs to the CSOList.
int execute() override
Method is executed on undo/redo.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
CSOCmdAddCSOSet(const CSOListPtr &csoList, const std::vector< CSO * > &csos)
Constructor.
~CSOCmdAddCSOSet() override
Destructor.
Class for undo/redo of adding a new CSO to the CSOList.
int execute() override
Method is executed on undo/redo.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
CSOCmdAddCSO(const CSOListPtr &csoList, CSO *cso)
Constructor.
~CSOCmdAddCSO() override
Destructor.
Class for undo/redo of adding a CSO to a CSOGroup.
CSOCmdAddCSOtoGroup(const CSOListPtr &csoList, CSO *cso, CSOGroup *group)
Constructor.
~CSOCmdAddCSOtoGroup() override
Destructor.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
int execute() override
Method is executed on undo/redo.
Class for undo/redo of modifying attributes of a CSO.
int execute() override
Method is executed on undo/redo.
~CSOCmdCSOModifyVisualAttributes() override
Destructor.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
CSOCmdCSOModifyVisualAttributes(const CSOListPtr &csoList, CSO *cso)
Constructor.
Class for undo/redo of the insertion/removal of a single seed point.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
int execute() override
Method is executed on undo/redo.
CSOCmdInsertRemoveSeedPoint(const CSOListPtr &csoList, CSO *cso)
Constructor.
~CSOCmdInsertRemoveSeedPoint() override
Destructor.
Class for undo/redo of modifying a set of CSOs.
~CSOCmdModifySet() override
Destructor.
int execute() override
Method is executed on undo/redo.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
CSOCmdModifySet(const CSOListPtr &csoList, const std::vector< CSO * > &csos)
Constructor.
Class for undo/redo of the moving of a contour.
~CSOCmdMoveContour() override
Destructor.
CSOCmdMoveContour(const CSOListPtr &csoList, CSO *cso, Vector3 fromPos, Vector3 toPos, int fromTPI, int toTPI)
Constructor.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
int execute() override
Method is executed on undo/redo.
Class for undo/redo of the moving of a single seed point.
CSOCmdMoveSeedPoint(const CSOListPtr &csoList, CSO *cso)
Constructor.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
int execute() override
Method is executed on undo/redo.
~CSOCmdMoveSeedPoint() override
Destructor.
Class for undo/redo of removing a CSOGroup from the CSOList.
CSOCmdRemoveCSOGroup(const CSOListPtr &csoList, CSOGroup *group)
Constructor.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
int execute() override
Method is executed on undo/redo.
~CSOCmdRemoveCSOGroup() override
Destructor.
Class for undo/redo of removing a set of CSOs from the CSOList.
int execute() override
Method is executed on undo/redo.
CSOCmdRemoveCSOSet(const CSOListPtr &csoList, const std::vector< CSO * > &csos)
Constructor.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
~CSOCmdRemoveCSOSet() override
Destructor.
Class for undo/redo of removing a CSO from the CSOList.
int execute() override
Method is executed on undo/redo.
~CSOCmdRemoveCSO() override
Destructor.
CSOCmdRemoveCSO(const CSOListPtr &csoList, CSO *cso)
Constructor.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
Class for undo/redo of removing a CSO from a CSOGroup.
CSOCmdRemoveCSOfromGroup(const CSOListPtr &csoList, CSO *cso, CSOGroup *group)
Constructor.
~CSOCmdRemoveCSOfromGroup() override
Destructor.
std::string description() const override
Undo descriptions are the inverse of the performed operation.
int execute() override
Method is executed on undo/redo.
Base class for a CSOCommand for the undo/redo mechanism.
bool checkRedoBehavior() const override
Returns whether the undo/redo behavior should be checked; returns 'false' to disable the check.
~CSOCommand() override
Destructor.
virtual int execute()=0
Execute method that must be overridden by each derived class.
CSOList * _csoList
Pointer to the csoList.
CSOCommand(const CSOListPtr &csoList)
Constructor.
void undo() override
Calls execute.
std::string commandName
The command as a string (for debugging purposes).
A CSOGroup comprises a number of CSOs, which themselves can be in a number of different CSOGroups.
A CSOList comprises a number of CSOs and CSOGroups and is the central object for contour segmentation...
The CSO represents a contour segmentation object.
Tvec3< MLdouble > Vector3
A vector with three components of type double.