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.