MeVisLab Toolbox Reference
ml::CSO Class Reference

The CSO represents a contour segmentation object. More...

#include <CSO.h>

Public Member Functions

 CSO ()
 Standard constructor. The unique ID is initialized with 0.
 
 CSO (CSOList *csoList)
 Constructor takes a pointer to the CSOList this CSO is in; in this method, the unique ID is set.
 
 CSO (const CSO &cso, CSOList *csoList=nullptr, unsigned int csoId=INVALID_CSO_ID)
 Copy constructor; the unique ID is taken from the specified CSOList.
 
virtual ~CSO ()
 Standard destructor.
 
void reverseSeedPointOrder ()
 Reverses the order of all seed points and clears all path points in between.
 
void resortSeedPointsClockwise ()
 
void storeInUndoManager ()
 Stores the geometric information of the CSO in the UndoRedo manager.
 
void storeVisualAttributesInUndoManager ()
 
CSOManagergetManager () const
 
bool isSelected () const
 Returns whether this CSO is selected in its CSOList. If there is no enclosing CSOList, the method returns false.
 
void setAttributesFrom (const CSO *const cso)
 Copies all attributes from the specified CSO to this one.
 
bool saveAttributes (std::ostream &outStream, bool useAscii=false)
 Save attributes to stream and returns whether the saving was successful.
 
void loadAttributes (std::istream &inStream, short version, bool swapBytes, bool useAscii=false)
 Loads attributes from stream.
 
const CSOAttributesgetAttributes () const
 Returns const access to all CSO attributes.
 
CSOAttributesgetWritableAttributes ()
 Returns write access to all CSO attributes (NOTE: be careful as no events are emitted when changing the attributes).
 
Methods for modifying the geometry of this CSO.
void applyTransformationMatrix (const Matrix4 &matrix)
 
void moveSeedPointsAndPathPoints (const Vector3 &offset, int timepoint)
 Moves all seed points and path points by the specified coordinate offset and sets the CSO to the specified timepoint.
 
void moveSeedPointsAndPathPoints (double dx, double dy, double dz, int timepoint)
 Moves all seed points and path points by the specified coordinate offset and sets the CSO to the specified timepoint.
 
void moveSeedPointsAndPathPoints (const Vector3 &offset)
 Moves all seed points and path points by the specified coordinate offset.
 
void moveSeedPointsAndPathPoints (double dx, double dy, double dz)
 Moves all seed points and path points by the specified coordinate offset.
 
void setAbsoluteMovementCommand (double fromX, double fromY, double fromZ, double toX, double toY, double toZ, int fromTimePointIndex, int toTimePointIndex)
 Sets the absolute movement for undo/redo.
 
void moveSingleSeedPoint (CSOSeedPoint *sPoint, double dx, double dy, double dz)
 Moves a certain seed point by the specified coordinate offset.
 
void setAbsoluteSeedPointMovementCommand ()
 Sets the absolute movement of a single seed point for undo/redo.
 
void setSeedPointsAndPathPoints (const CSO *cso)
 Sets the seed points and the path point of the specified CSO.
 
Methods for adding / removing seed points or path point lists.
CSOSeedPointappendSeedAndPathPointNoEvent ()
 
CSOSeedPointappendSeedAndPathPointNoEvent (const Vector3 &position)
 Appends a seed point and a path point list to the end of the seed point list and returns a pointer to it.
 
CSOSeedPointappendSeedAndPathPoint ()
 Appends a seed point and a path point list to the end of the seed point list and returns a pointer to it.
 
CSOSeedPointappendSeedAndPathPoint (const Vector3 &position)
 Appends a seed point and a path point list to the end of the seed point list and returns a pointer to it.
 
void setSeedAndPathPoints (unsigned int numSeedPoints, bool isClosed=true)
 Generates the specified number of seed points and path point lists between those.
 
void setInitialSeedAndPathPointsNoEvent (unsigned int numSeedPoints, bool isClosed=true)
 Like setSeedAndPathPoints, but this method is faster because no events are emitted and no checks are done.
 
CSOPathPointsinsertPathPointsEndStart ()
 Inserts a CSOPathPoint list between the ending and the starting seed points and returns a pointer to it.
 
CSOPathPointsinsertPathPointsEndStartNoEvent ()
 Inserts a CSOPathPoint list between the ending and the starting seed points and returns a pointer to it.
 
CSOSeedPointappendSeedPoint ()
 Appends just a seed point to the internal list and returns a pointer to it.
 
CSOPathPointsappendPathPoints ()
 Appends just a path point list the internal list and returns a pointer to it.
 
void removeSeedPoint (CSOSeedPoint *sPoint)
 Removes the specified seed point from this CSO.
 
void removeAllSeedAndPathPoints ()
 Removes all seed points and path point lists from this CSO.
 
CSOSeedPointinsertSeedPointAt (CSOPathPoints *toBeSplitPath, const Vector3 &toInsertPos)
 Inserts a seed point into the specified toBeSplitPath at the specified position.
 
void setInsertRemoveSeedPointCommand ()
 Triggers the according undo/redo command to be put on the stack.
 
Methods for seed point and path point lists access.
CSOSeedPointgetSeedPointAt (unsigned int index) const
 
CSOSeedPointgetFirstSeedPoint () const
 Returns a pointer to the first seed point of this CSO.
 
CSOSeedPointgetLastSeedPoint () const
 Returns a pointer to the last seed point of this CSO.
 
unsigned int numSeedPoints () const
 Returns the number of seed points.
 
bool getSeedPointIndex (CSOSeedPoint *sPoint, unsigned int &index) const
 Sets the sIndex to the index of the specified seed point and returns whether such a seed point exists.
 
unsigned int numPathPointLists () const
 Returns the number of path point lists.
 
void fillPathPointCoordinatesFlattened (std::vector< Vector3 > &pathPointCoords) const
 Fills up the specified std::vector<Vector3> with all the path point coordinates in order.
 
void fillPathPointCoordinatesFlattened (std::vector< Vector4 > &pathPointCoordsAndValues) const
 Fills up the specified std::vector<Vector4> with all the path point coordinates and values in order.
 
CSOPathPointsgetPathPointsAt (unsigned int index) const
 Returns the list of path points at a specified position.
 
unsigned int getTotalNumPathPoints () const
 Returns the total number of path points in this CSO; this number may differ from the number of path points obtained by a flattened positions vector.
 
unsigned int getTotalNumUniquePathPoints () const
 Returns the total number of unique path points in this CSO; this number equals the number of path points obtained by a flattened positions vector.
 
void swapPoints (CSO &other)
 Swaps the seed and path points of two CSOs. No events are emitted.
 
Methods for handling selected seed points.
void addSelectedSeedPoint (CSOSeedPoint *sPoint)
 
void setSelectedSeedPoint (CSOSeedPoint *sPoint)
 Sets the specified seed point as being selected, and deselects all previously selected seed points.
 
void setSeedPointSelectedAt (unsigned int index)
 Sets the seed point at the specified index selected.
 
bool isSelectedSeedPoint (CSOSeedPoint *sPoint) const
 Returns whether the specified seed point is selected.
 
void clearSelectedSeedPoints ()
 Clears the list of selected seed points.
 
unsigned int getNumSelectedSeedPoints () const
 Returns the number of selected seed points.
 
CSOSeedPointgetSelectedSeedPointAt (unsigned int index) const
 Returns a pointer to a selected seed point at the specified index.
 
Methods for handling grouping.
bool addToGroup (CSOGroup &group, bool useUndoRedo=true)
 
void removeFromGroup (CSOGroup &group, bool useUndoRedo=true)
 Removes this CSO from the specified CSOGroup.
 
bool isInGroup (const CSOGroup *group) const
 Returns whether this CSO is in the specified CSOGroup.
 
bool isInSameGroupsAs (CSO *cso) const
 
bool isInGroup (unsigned int groupId) const
 Returns whether this CSO is in the CSOGroup with the specified ID.
 
unsigned int numGroups () const
 Returns the number of CSOGroups this CSO is in.
 
CSOGroupgetGroupAt (unsigned int index) const
 Returns the CSOGroup at the specified index. If the index is out of bounds, nullptr is returned.
 
unsigned int getGroupIdAt (unsigned int index) const
 Returns a CSOGroup ID at the specified index.
 
void removeFromAllGroups ()
 Removes this CSO from all its CSOGroups.
 
MLCSO-internal Methods for handling grouping.
void _addReferenceToGroup (const CSOGroup &group)
 
void _removeReferenceToGroup (const CSOGroup &group)
 Removes the specified CSOGroup from the internal list.
 
Methods for setting / getting type information.
void setType (const std::string &type)
 
const std::string & getType () const
 Returns the type of the CSO. This is set by the editor or processor that generated this CSO.
 
void setSubType (const std::string &subtype)
 Sets the subtype of the CSO. This is set by the editor or processor that generated this CSO.
 
const std::string & getSubType () const
 Returns the type of the CSO. This is set by the editor or processor that generated this CSO.
 
void setCreatorId (int id)
 Sets the creator ID of the CSO. This is set by the editor or processor that generated this CSO.
 
int getCreatorId () const
 Returns the creator ID of the CSO. This is set by the editor or processor that generated this CSO.
 
Methods for setting / reading out the user data values.
void setUserData (const std::string &name, Variant value)
 
Variant getUserData (const std::string &name) const
 Returns the user data associated with the specified name, or an invalid value if no such entry exists.
 
void getUserDataNames (std::vector< std::string > &names) const
 Fills the specified vector with the keys/name under which user data is stored for this CSO.
 
void removeUserData (const std::string &name)
 Removes a user data entry.
 
Methods for handling geometric aspects of this CSO.
const CSOBoundingBoxgetWorldBoundingBox () const
 
CSOBoundingBox getVoxelBoundingBox (const Matrix4 &worldToVoxelMatrix, size_t hashKey) const
 Returns the bounding box of this contour in voxel coordinates computed by the specified (image) matrix.
 
CSOBoundingBox getVoxelBoundingBoxSeedPoints (const Matrix4 &worldToVoxelMatrix, size_t hashKey) const
 Returns the bounding box of the seed points of this CSO in voxel coordinates computed by the specified (image) matrix.
 
bool isInPlane () const
 Returns the plane status (do all seed points lie in a plane?).
 
bool isInPlane (Vector3 &planeNormal) const
 Returns the plane status and fills the argument vector with the plane normal (only valid if all seed points lie in a plane).
 
const Vector3getPlaneNormal () const
 Returns the plane normal. Only valid, if isInPlane returns 'true'.
 
void computePlaneNormal ()
 Forces to recompute the plane normal (status).
 
void setIsInPlane (bool status)
 Sets the plane normal status for this CSO.
 
void setPlaneNormal (const Vector3 &planeNormal)
 Sets the plane normal that becomes valid by this.
 
void invalidatePlaneNormal ()
 Invalidates the plane normal.
 
double getLength () const
 Returns the length of this CSO (this is sum of the the euclidean distances between all successive path points).
 
double getArea () const
 Returns the area of this CSO (this value is only meaningful if all points lie in a plane).
 
void invalidateArea ()
 Invalidates the internal area flag, so it can be recomputed.
 
bool isSelfIntersecting () const
 Returns whether this CSO is self-intersecting.
 
void setIsClosed (bool isClosed)
 Sets the closed state of this contour.
 
bool isClosed () const
 Returns whether the CSO is closed.
 
bool isPoint () const
 Returns whether the CSO is just a point.
 
bool isEmpty () const
 Returns whether the CSO is empty; an empty CSO has neither seed points nor path points.
 
void setIsFinished (bool isFinished)
 Sets the finished status of this contour. Note that the finished status is set to 'true' if the contour is set to isClosed = true.
 
bool getIsFinished () const
 Returns the finished status of this contour.
 
void setNeedsInterpolation (bool needsInterpolation)
 Sets whether this CSO needs interpolation.
 
bool getNeedsInterpolation () const
 Returns whether this CSO needs interpolation.
 
void determineNeedsInterpolation ()
 Determines by investigating the CSO's seed points whether this CSO needs interpolation and sets this state to the CSO's internal variable.
 
void setNeedInterpolationAllSeedPoints (bool needsInterpolation)
 Sets the need for interpolation to all member seed points.
 
void setNeedInterpolation (CSOSeedPoint *seedPoint)
 Sets the need of being interpolated to the specified seed point and to the CSO's state.
 
void pathChanged ()
 Sets any pre-computed values depending on the exact path to invalid.
 
Maintenance methods.
void setCSOList (CSOList *csoList)
 
CSOListgetCSOList () const
 Returns the internal pointer to the embracing CSOList.
 
unsigned int getId () const
 Returns the unique ID of this CSO.
 
Methods for handling various states.
void setLabel (const std::string &label)
 
const std::string & getLabel () const
 Returns the label of this CSO.
 
void setDescription (std::string description)
 Sets the description of this CSO.
 
const std::string & getDescription () const
 Returns the description of this CSO.
 
void setTimePointIndex (MLint index)
 Sets the time point index of this CSO.
 
int getTimePointIndex () const
 Returns the time point index of this CSO.
 
void setShowState (bool state)
 Sets the 'show' status of this CSO.
 
bool getShowState () const
 Returns the 'show' status of this CSO.
 
void setVoxelizeState (bool state)
 Sets the 'voxelize' state of this CSO.
 
bool getVoxelizeState () const
 Returns the 'voxelize' state of this CSO.
 
void setEditableState (bool state)
 Sets the 'editable' state of this CSO.
 
bool getEditableState () const
 Returns the 'editable' state of this CSO.
 
void setPathPointStyle (CSOPathPointsStyle style)
 Sets the style of the path points.
 
void setPathPointStyle (int style)
 Sets the style of the path points as an int.
 
CSOPathPointsStyle getPathPointStyle () const
 Returns the style of the path points.
 
void setPathPointWidth (float width)
 Sets the width of the path points.
 
float getPathPointWidth () const
 Returns the width of the path points.
 
void setPathPointColor (const Vector3 &color)
 Sets the color of the path points.
 
Vector3 getPathPointColor () const
 Returns the color of the path points.
 
void setPathPointAlpha (float alpha)
 Sets the alpha value of the path points.
 
float getPathPointAlpha () const
 Returns the alpha value of the path points.
 
void setSeedPointStyle (int style)
 Sets the style of the seed points.
 
int getSeedPointStyle () const
 Returns the style of the seed points.
 
void setSeedPointSize (float size)
 Sets the size of the seed points.
 
float getSeedPointSize () const
 Returns the size of the seed points.
 
void setSeedPointColor (const Vector3 &color)
 Sets the color of the seed points.
 
Vector3 getSeedPointColor () const
 Returns the color of the seed points.
 
void setSeedPointAlpha (float alpha)
 Sets the alpha value of the seed points.
 
float getSeedPointAlpha () const
 Returns the alpha value of the seed points.
 
void setVoxelWriteMode (int mode)
 Sets the voxel write mode of this CSO.
 
int getVoxelWriteMode () const
 Returns the voxel write mode of this CSO.
 
void setVoxelWriteValue (float value)
 Sets the voxel write value of this CSO.
 
float getVoxelWriteValue () const
 Returns the voxel write value of this CSO.
 
void setAllValuesTo (float value)
 Sets all position values to the specified value.
 
Private set / get methods for handling internal states (are not overwritten by CSOGroups).
int getPrivateTimePointIndex () const
 
bool getPrivateShowState () const
 Returns the private attribute 'showState'.
 
bool getPrivateVoxelizeState () const
 Returns the private attribute 'voxelizeState'.
 
bool getPrivateEditableState () const
 Returns the private attribute 'editableState'.
 
int getPrivatePathPointStyle () const
 Returns the private attribute 'path point style'.
 
float getPrivatePathPointWidth () const
 Returns the private attribute 'path point width'.
 
Vector3 getPrivatePathPointColor () const
 Returns the private attribute 'path point color'.
 
float getPrivatePathPointAlpha () const
 Returns the private attribute 'path point alpha'.
 
int getPrivateSeedPointStyle () const
 Returns the private attribute 'seed point style'.
 
float getPrivateSeedPointSize () const
 Returns the private attribute 'seed point size'.
 
Vector3 getPrivateSeedPointColor () const
 Returns the private attribute 'seed point color'.
 
float getPrivateSeedPointAlpha () const
 Returns the private attribute 'seed point alpha'.
 
int getPrivateVoxelWriteMode () const
 Returns the private attribute 'voxelWriteMode'.
 
float getPrivateVoxelWriteValue () const
 Returns the private attribute 'voxelWriteValue'.
 
void setPrivateIsFinished (bool isFinished)
 Sets the 'isFinished' flag without any side effects.
 
void setPrivateIsClosed (bool isClosedP)
 Sets the 'isClosed' flag without any side effects.
 
void setPrivateIsInPlane (bool isInPlaneP)
 Sets the 'isInPlane' flag without any side effects.
 
void setPrivateBoundingBox (const CSOBoundingBox &bb)
 Sets the bounding box of this CSO.
 
void setPrivatePlaneNormal (const Vector3 &normal)
 Sets the plane normal of this CSO.
 
void setId (unsigned int newId)
 Sets the unique ID of this CSO.
 

Friends

class CSOList
 

Detailed Description

The CSO represents a contour segmentation object.

It consists of a number of seed points and a number of path point lists whose points connect the seed points. The CSO has also a pointer to its embracing CSOList, and can be in a number of CSOGroups.

Definition at line 43 of file CSO.h.

Constructor & Destructor Documentation

◆ CSO() [1/3]

ml::CSO::CSO ( )

Standard constructor. The unique ID is initialized with 0.

◆ CSO() [2/3]

ml::CSO::CSO ( CSOList csoList)

Constructor takes a pointer to the CSOList this CSO is in; in this method, the unique ID is set.

◆ CSO() [3/3]

ml::CSO::CSO ( const CSO cso,
CSOList csoList = nullptr,
unsigned int  csoId = INVALID_CSO_ID 
)

Copy constructor; the unique ID is taken from the specified CSOList.

If the CSOList is nullptr, the unique ID of the copied CSO is 0. If copied CSO should be in another CSOList, provide a pointer to it.

◆ ~CSO()

virtual ml::CSO::~CSO ( )
virtual

Standard destructor.

Member Function Documentation

◆ _addReferenceToGroup()

void ml::CSO::_addReferenceToGroup ( const CSOGroup group)

Adds a reference to a CSOGroup to this CSO.

◆ _removeReferenceToGroup()

void ml::CSO::_removeReferenceToGroup ( const CSOGroup group)

Removes the specified CSOGroup from the internal list.

◆ addSelectedSeedPoint()

void ml::CSO::addSelectedSeedPoint ( CSOSeedPoint sPoint)

Adds the specified seed point to the list of selected seed points.

◆ addToGroup()

bool ml::CSO::addToGroup ( CSOGroup group,
bool  useUndoRedo = true 
)

Adds this CSO to the specified CSOGroup. Returns whether the operation was successful.

◆ appendPathPoints()

CSOPathPoints * ml::CSO::appendPathPoints ( )

Appends just a path point list the internal list and returns a pointer to it.

◆ appendSeedAndPathPoint() [1/2]

CSOSeedPoint * ml::CSO::appendSeedAndPathPoint ( )

Appends a seed point and a path point list to the end of the seed point list and returns a pointer to it.

◆ appendSeedAndPathPoint() [2/2]

CSOSeedPoint * ml::CSO::appendSeedAndPathPoint ( const Vector3 position)

Appends a seed point and a path point list to the end of the seed point list and returns a pointer to it.

◆ appendSeedAndPathPointNoEvent() [1/2]

CSOSeedPoint * ml::CSO::appendSeedAndPathPointNoEvent ( )

Appends a seed point and a path point list to the end of the seed point list and returns a pointer to it.

◆ appendSeedAndPathPointNoEvent() [2/2]

CSOSeedPoint * ml::CSO::appendSeedAndPathPointNoEvent ( const Vector3 position)

Appends a seed point and a path point list to the end of the seed point list and returns a pointer to it.

◆ appendSeedPoint()

CSOSeedPoint * ml::CSO::appendSeedPoint ( )

Appends just a seed point to the internal list and returns a pointer to it.

◆ applyTransformationMatrix()

void ml::CSO::applyTransformationMatrix ( const Matrix4 matrix)

Applies the specified 4x4 matrix to all seed points and path points.

◆ clearSelectedSeedPoints()

void ml::CSO::clearSelectedSeedPoints ( )

Clears the list of selected seed points.

◆ computePlaneNormal()

void ml::CSO::computePlaneNormal ( )
inline

Forces to recompute the plane normal (status).

Definition at line 282 of file CSO.h.

◆ determineNeedsInterpolation()

void ml::CSO::determineNeedsInterpolation ( )

Determines by investigating the CSO's seed points whether this CSO needs interpolation and sets this state to the CSO's internal variable.

◆ fillPathPointCoordinatesFlattened() [1/2]

void ml::CSO::fillPathPointCoordinatesFlattened ( std::vector< Vector3 > &  pathPointCoords) const

Fills up the specified std::vector<Vector3> with all the path point coordinates in order.

◆ fillPathPointCoordinatesFlattened() [2/2]

void ml::CSO::fillPathPointCoordinatesFlattened ( std::vector< Vector4 > &  pathPointCoordsAndValues) const

Fills up the specified std::vector<Vector4> with all the path point coordinates and values in order.

◆ getArea()

double ml::CSO::getArea ( ) const
inline

Returns the area of this CSO (this value is only meaningful if all points lie in a plane).

Definition at line 293 of file CSO.h.

◆ getAttributes()

const CSOAttributes & ml::CSO::getAttributes ( ) const
inline

Returns const access to all CSO attributes.

Definition at line 479 of file CSO.h.

◆ getCreatorId()

int ml::CSO::getCreatorId ( ) const
inline

Returns the creator ID of the CSO. This is set by the editor or processor that generated this CSO.

Definition at line 246 of file CSO.h.

◆ getCSOList()

CSOList * ml::CSO::getCSOList ( ) const
inline

Returns the internal pointer to the embracing CSOList.

Definition at line 337 of file CSO.h.

◆ getDescription()

const std::string & ml::CSO::getDescription ( ) const
inline

Returns the description of this CSO.

Definition at line 353 of file CSO.h.

◆ getEditableState()

bool ml::CSO::getEditableState ( ) const

Returns the 'editable' state of this CSO.

◆ getFirstSeedPoint()

CSOSeedPoint * ml::CSO::getFirstSeedPoint ( ) const
inline

Returns a pointer to the first seed point of this CSO.

Definition at line 147 of file CSO.h.

◆ getGroupAt()

CSOGroup * ml::CSO::getGroupAt ( unsigned int  index) const

Returns the CSOGroup at the specified index. If the index is out of bounds, nullptr is returned.

◆ getGroupIdAt()

unsigned int ml::CSO::getGroupIdAt ( unsigned int  index) const
inline

Returns a CSOGroup ID at the specified index.

For performance reasons it is not checked whether the index is valid.

Definition at line 217 of file CSO.h.

◆ getId()

unsigned int ml::CSO::getId ( ) const
inline

Returns the unique ID of this CSO.

Definition at line 339 of file CSO.h.

◆ getIsFinished()

bool ml::CSO::getIsFinished ( ) const
inline

Returns the finished status of this contour.

Definition at line 313 of file CSO.h.

◆ getLabel()

const std::string & ml::CSO::getLabel ( ) const
inline

Returns the label of this CSO.

Definition at line 349 of file CSO.h.

◆ getLastSeedPoint()

CSOSeedPoint * ml::CSO::getLastSeedPoint ( ) const
inline

Returns a pointer to the last seed point of this CSO.

Definition at line 149 of file CSO.h.

◆ getLength()

double ml::CSO::getLength ( ) const

Returns the length of this CSO (this is sum of the the euclidean distances between all successive path points).

◆ getManager()

CSOManager * ml::CSO::getManager ( ) const

◆ getNeedsInterpolation()

bool ml::CSO::getNeedsInterpolation ( ) const
inline

Returns whether this CSO needs interpolation.

Definition at line 317 of file CSO.h.

◆ getNumSelectedSeedPoints()

unsigned int ml::CSO::getNumSelectedSeedPoints ( ) const

Returns the number of selected seed points.

◆ getPathPointAlpha()

float ml::CSO::getPathPointAlpha ( ) const

Returns the alpha value of the path points.

◆ getPathPointColor()

Vector3 ml::CSO::getPathPointColor ( ) const

Returns the color of the path points.

◆ getPathPointsAt()

CSOPathPoints * ml::CSO::getPathPointsAt ( unsigned int  index) const
inline

Returns the list of path points at a specified position.

For performance reasons, it is not checked whether the index is valid.

Definition at line 162 of file CSO.h.

◆ getPathPointStyle()

CSOPathPointsStyle ml::CSO::getPathPointStyle ( ) const

Returns the style of the path points.

◆ getPathPointWidth()

float ml::CSO::getPathPointWidth ( ) const

Returns the width of the path points.

◆ getPlaneNormal()

const Vector3 & ml::CSO::getPlaneNormal ( ) const
inline

Returns the plane normal. Only valid, if isInPlane returns 'true'.

Definition at line 280 of file CSO.h.

◆ getPrivateEditableState()

bool ml::CSO::getPrivateEditableState ( ) const
inline

Returns the private attribute 'editableState'.

Definition at line 430 of file CSO.h.

◆ getPrivatePathPointAlpha()

float ml::CSO::getPrivatePathPointAlpha ( ) const
inline

Returns the private attribute 'path point alpha'.

Definition at line 438 of file CSO.h.

◆ getPrivatePathPointColor()

Vector3 ml::CSO::getPrivatePathPointColor ( ) const
inline

Returns the private attribute 'path point color'.

Definition at line 436 of file CSO.h.

◆ getPrivatePathPointStyle()

int ml::CSO::getPrivatePathPointStyle ( ) const
inline

Returns the private attribute 'path point style'.

Definition at line 432 of file CSO.h.

◆ getPrivatePathPointWidth()

float ml::CSO::getPrivatePathPointWidth ( ) const
inline

Returns the private attribute 'path point width'.

Definition at line 434 of file CSO.h.

◆ getPrivateSeedPointAlpha()

float ml::CSO::getPrivateSeedPointAlpha ( ) const
inline

Returns the private attribute 'seed point alpha'.

Definition at line 446 of file CSO.h.

◆ getPrivateSeedPointColor()

Vector3 ml::CSO::getPrivateSeedPointColor ( ) const
inline

Returns the private attribute 'seed point color'.

Definition at line 444 of file CSO.h.

◆ getPrivateSeedPointSize()

float ml::CSO::getPrivateSeedPointSize ( ) const
inline

Returns the private attribute 'seed point size'.

Definition at line 442 of file CSO.h.

◆ getPrivateSeedPointStyle()

int ml::CSO::getPrivateSeedPointStyle ( ) const
inline

Returns the private attribute 'seed point style'.

Definition at line 440 of file CSO.h.

◆ getPrivateShowState()

bool ml::CSO::getPrivateShowState ( ) const
inline

Returns the private attribute 'showState'.

Definition at line 426 of file CSO.h.

◆ getPrivateTimePointIndex()

int ml::CSO::getPrivateTimePointIndex ( ) const
inline

Returns the private attribute 'timePointIndex'.

Definition at line 424 of file CSO.h.

◆ getPrivateVoxelizeState()

bool ml::CSO::getPrivateVoxelizeState ( ) const
inline

Returns the private attribute 'voxelizeState'.

Definition at line 428 of file CSO.h.

◆ getPrivateVoxelWriteMode()

int ml::CSO::getPrivateVoxelWriteMode ( ) const
inline

Returns the private attribute 'voxelWriteMode'.

Definition at line 449 of file CSO.h.

◆ getPrivateVoxelWriteValue()

float ml::CSO::getPrivateVoxelWriteValue ( ) const
inline

Returns the private attribute 'voxelWriteValue'.

Definition at line 451 of file CSO.h.

◆ getSeedPointAlpha()

float ml::CSO::getSeedPointAlpha ( ) const

Returns the alpha value of the seed points.

◆ getSeedPointAt()

CSOSeedPoint * ml::CSO::getSeedPointAt ( unsigned int  index) const

Returns a pointer to the seed point at the specified index.

◆ getSeedPointColor()

Vector3 ml::CSO::getSeedPointColor ( ) const

Returns the color of the seed points.

◆ getSeedPointIndex()

bool ml::CSO::getSeedPointIndex ( CSOSeedPoint sPoint,
unsigned int &  index 
) const

Sets the sIndex to the index of the specified seed point and returns whether such a seed point exists.

◆ getSeedPointSize()

float ml::CSO::getSeedPointSize ( ) const

Returns the size of the seed points.

◆ getSeedPointStyle()

int ml::CSO::getSeedPointStyle ( ) const

Returns the style of the seed points.

◆ getSelectedSeedPointAt()

CSOSeedPoint * ml::CSO::getSelectedSeedPointAt ( unsigned int  index) const

Returns a pointer to a selected seed point at the specified index.

◆ getShowState()

bool ml::CSO::getShowState ( ) const

Returns the 'show' status of this CSO.

◆ getSubType()

const std::string & ml::CSO::getSubType ( ) const
inline

Returns the type of the CSO. This is set by the editor or processor that generated this CSO.

Definition at line 242 of file CSO.h.

◆ getTimePointIndex()

int ml::CSO::getTimePointIndex ( ) const

Returns the time point index of this CSO.

◆ getTotalNumPathPoints()

unsigned int ml::CSO::getTotalNumPathPoints ( ) const

Returns the total number of path points in this CSO; this number may differ from the number of path points obtained by a flattened positions vector.

◆ getTotalNumUniquePathPoints()

unsigned int ml::CSO::getTotalNumUniquePathPoints ( ) const

Returns the total number of unique path points in this CSO; this number equals the number of path points obtained by a flattened positions vector.

◆ getType()

const std::string & ml::CSO::getType ( ) const
inline

Returns the type of the CSO. This is set by the editor or processor that generated this CSO.

Definition at line 238 of file CSO.h.

◆ getUserData()

Variant ml::CSO::getUserData ( const std::string &  name) const
inline

Returns the user data associated with the specified name, or an invalid value if no such entry exists.

Definition at line 256 of file CSO.h.

◆ getUserDataNames()

void ml::CSO::getUserDataNames ( std::vector< std::string > &  names) const
inline

Fills the specified vector with the keys/name under which user data is stored for this CSO.

Definition at line 258 of file CSO.h.

◆ getVoxelBoundingBox()

CSOBoundingBox ml::CSO::getVoxelBoundingBox ( const Matrix4 worldToVoxelMatrix,
size_t  hashKey 
) const

Returns the bounding box of this contour in voxel coordinates computed by the specified (image) matrix.

◆ getVoxelBoundingBoxSeedPoints()

CSOBoundingBox ml::CSO::getVoxelBoundingBoxSeedPoints ( const Matrix4 worldToVoxelMatrix,
size_t  hashKey 
) const

Returns the bounding box of the seed points of this CSO in voxel coordinates computed by the specified (image) matrix.

◆ getVoxelizeState()

bool ml::CSO::getVoxelizeState ( ) const

Returns the 'voxelize' state of this CSO.

◆ getVoxelWriteMode()

int ml::CSO::getVoxelWriteMode ( ) const

Returns the voxel write mode of this CSO.

◆ getVoxelWriteValue()

float ml::CSO::getVoxelWriteValue ( ) const

Returns the voxel write value of this CSO.

◆ getWorldBoundingBox()

const CSOBoundingBox & ml::CSO::getWorldBoundingBox ( ) const

Returns the bounding box of this contour in world coordinates.

◆ getWritableAttributes()

CSOAttributes & ml::CSO::getWritableAttributes ( )
inline

Returns write access to all CSO attributes (NOTE: be careful as no events are emitted when changing the attributes).

Definition at line 482 of file CSO.h.

◆ insertPathPointsEndStart()

CSOPathPoints * ml::CSO::insertPathPointsEndStart ( )

Inserts a CSOPathPoint list between the ending and the starting seed points and returns a pointer to it.

◆ insertPathPointsEndStartNoEvent()

CSOPathPoints * ml::CSO::insertPathPointsEndStartNoEvent ( )

Inserts a CSOPathPoint list between the ending and the starting seed points and returns a pointer to it.

◆ insertSeedPointAt()

CSOSeedPoint * ml::CSO::insertSeedPointAt ( CSOPathPoints toBeSplitPath,
const Vector3 toInsertPos 
)

Inserts a seed point into the specified toBeSplitPath at the specified position.

◆ invalidateArea()

void ml::CSO::invalidateArea ( )
inline

Invalidates the internal area flag, so it can be recomputed.

Definition at line 295 of file CSO.h.

◆ invalidatePlaneNormal()

void ml::CSO::invalidatePlaneNormal ( )
inline

Invalidates the plane normal.

Definition at line 289 of file CSO.h.

◆ isClosed()

bool ml::CSO::isClosed ( ) const
inline

Returns whether the CSO is closed.

Definition at line 305 of file CSO.h.

◆ isEmpty()

bool ml::CSO::isEmpty ( ) const

Returns whether the CSO is empty; an empty CSO has neither seed points nor path points.

◆ isInGroup() [1/2]

bool ml::CSO::isInGroup ( const CSOGroup group) const

Returns whether this CSO is in the specified CSOGroup.

◆ isInGroup() [2/2]

bool ml::CSO::isInGroup ( unsigned int  groupId) const

Returns whether this CSO is in the CSOGroup with the specified ID.

◆ isInPlane() [1/2]

bool ml::CSO::isInPlane ( ) const
inline

Returns the plane status (do all seed points lie in a plane?).

If the method returns 'true', the plane normal is also valid. Note that a CSO forming a straight line is not considered to be 'in plane' as it lies in an infinite number of planes.

Definition at line 275 of file CSO.h.

References isInPlane().

Referenced by isInPlane().

◆ isInPlane() [2/2]

bool ml::CSO::isInPlane ( Vector3 planeNormal) const

Returns the plane status and fills the argument vector with the plane normal (only valid if all seed points lie in a plane).

Note that a CSO forming a straight line is not considered to be 'in plane' as it lies in an infinite number of planes.

◆ isInSameGroupsAs()

bool ml::CSO::isInSameGroupsAs ( CSO cso) const

◆ isPoint()

bool ml::CSO::isPoint ( ) const

Returns whether the CSO is just a point.

◆ isSelected()

bool ml::CSO::isSelected ( ) const

Returns whether this CSO is selected in its CSOList. If there is no enclosing CSOList, the method returns false.

◆ isSelectedSeedPoint()

bool ml::CSO::isSelectedSeedPoint ( CSOSeedPoint sPoint) const

Returns whether the specified seed point is selected.

◆ isSelfIntersecting()

bool ml::CSO::isSelfIntersecting ( ) const

Returns whether this CSO is self-intersecting.

◆ loadAttributes()

void ml::CSO::loadAttributes ( std::istream &  inStream,
short  version,
bool  swapBytes,
bool  useAscii = false 
)

Loads attributes from stream.

◆ moveSeedPointsAndPathPoints() [1/4]

void ml::CSO::moveSeedPointsAndPathPoints ( const Vector3 offset)

Moves all seed points and path points by the specified coordinate offset.

◆ moveSeedPointsAndPathPoints() [2/4]

void ml::CSO::moveSeedPointsAndPathPoints ( const Vector3 offset,
int  timepoint 
)

Moves all seed points and path points by the specified coordinate offset and sets the CSO to the specified timepoint.

◆ moveSeedPointsAndPathPoints() [3/4]

void ml::CSO::moveSeedPointsAndPathPoints ( double  dx,
double  dy,
double  dz 
)

Moves all seed points and path points by the specified coordinate offset.

◆ moveSeedPointsAndPathPoints() [4/4]

void ml::CSO::moveSeedPointsAndPathPoints ( double  dx,
double  dy,
double  dz,
int  timepoint 
)

Moves all seed points and path points by the specified coordinate offset and sets the CSO to the specified timepoint.

◆ moveSingleSeedPoint()

void ml::CSO::moveSingleSeedPoint ( CSOSeedPoint sPoint,
double  dx,
double  dy,
double  dz 
)

Moves a certain seed point by the specified coordinate offset.

◆ numGroups()

unsigned int ml::CSO::numGroups ( ) const
inline

Returns the number of CSOGroups this CSO is in.

Definition at line 212 of file CSO.h.

◆ numPathPointLists()

unsigned int ml::CSO::numPathPointLists ( ) const
inline

Returns the number of path point lists.

Definition at line 155 of file CSO.h.

◆ numSeedPoints()

unsigned int ml::CSO::numSeedPoints ( ) const
inline

Returns the number of seed points.

Definition at line 151 of file CSO.h.

◆ pathChanged()

void ml::CSO::pathChanged ( )

Sets any pre-computed values depending on the exact path to invalid.

◆ removeAllSeedAndPathPoints()

void ml::CSO::removeAllSeedAndPathPoints ( )

Removes all seed points and path point lists from this CSO.

◆ removeFromAllGroups()

void ml::CSO::removeFromAllGroups ( )

Removes this CSO from all its CSOGroups.

◆ removeFromGroup()

void ml::CSO::removeFromGroup ( CSOGroup group,
bool  useUndoRedo = true 
)

Removes this CSO from the specified CSOGroup.

◆ removeSeedPoint()

void ml::CSO::removeSeedPoint ( CSOSeedPoint sPoint)

Removes the specified seed point from this CSO.

◆ removeUserData()

void ml::CSO::removeUserData ( const std::string &  name)
inline

Removes a user data entry.

Definition at line 260 of file CSO.h.

◆ resortSeedPointsClockwise()

void ml::CSO::resortSeedPointsClockwise ( )
Deprecated:
Calls reverseSeedPointOrder.

◆ reverseSeedPointOrder()

void ml::CSO::reverseSeedPointOrder ( )

Reverses the order of all seed points and clears all path points in between.

◆ saveAttributes()

bool ml::CSO::saveAttributes ( std::ostream &  outStream,
bool  useAscii = false 
)

Save attributes to stream and returns whether the saving was successful.

◆ setAbsoluteMovementCommand()

void ml::CSO::setAbsoluteMovementCommand ( double  fromX,
double  fromY,
double  fromZ,
double  toX,
double  toY,
double  toZ,
int  fromTimePointIndex,
int  toTimePointIndex 
)

Sets the absolute movement for undo/redo.

◆ setAbsoluteSeedPointMovementCommand()

void ml::CSO::setAbsoluteSeedPointMovementCommand ( )

Sets the absolute movement of a single seed point for undo/redo.

◆ setAllValuesTo()

void ml::CSO::setAllValuesTo ( float  value)

Sets all position values to the specified value.

◆ setAttributesFrom()

void ml::CSO::setAttributesFrom ( const CSO *const  cso)

Copies all attributes from the specified CSO to this one.

◆ setCreatorId()

void ml::CSO::setCreatorId ( int  id)
inline

Sets the creator ID of the CSO. This is set by the editor or processor that generated this CSO.

Definition at line 244 of file CSO.h.

◆ setCSOList()

void ml::CSO::setCSOList ( CSOList csoList)

Sets the internal pointer to the embracing CSOList. Note that this method does not alter this CSO's unique ID, so it may become invalid (not unique) in the new CSOList.

◆ setDescription()

void ml::CSO::setDescription ( std::string  description)

Sets the description of this CSO.

◆ setEditableState()

void ml::CSO::setEditableState ( bool  state)

Sets the 'editable' state of this CSO.

◆ setId()

void ml::CSO::setId ( unsigned int  newId)

Sets the unique ID of this CSO.

The internal unique ID counter of the CSOList is not incremented. If the manually specified ID is unique, the CSO can still be retrieved by 'getCSOById' from the CSOList.

◆ setInitialSeedAndPathPointsNoEvent()

void ml::CSO::setInitialSeedAndPathPointsNoEvent ( unsigned int  numSeedPoints,
bool  isClosed = true 
)

Like setSeedAndPathPoints, but this method is faster because no events are emitted and no checks are done.

◆ setInsertRemoveSeedPointCommand()

void ml::CSO::setInsertRemoveSeedPointCommand ( )

Triggers the according undo/redo command to be put on the stack.

◆ setIsClosed()

void ml::CSO::setIsClosed ( bool  isClosed)

Sets the closed state of this contour.

Besides setting the closed state, the method also inserts a new CSOPathPoint list between the last and the first seed point, as well as connecting those via pointers. If you just want to set the closed state without any side effects, use the method setPrivateIsClosed().

◆ setIsFinished()

void ml::CSO::setIsFinished ( bool  isFinished)
inline

Sets the finished status of this contour. Note that the finished status is set to 'true' if the contour is set to isClosed = true.

Definition at line 311 of file CSO.h.

◆ setIsInPlane()

void ml::CSO::setIsInPlane ( bool  status)
inline

Sets the plane normal status for this CSO.

Note that a CSO forming a straight line is not considered to be 'in plane' as it lies in an infinite number of planes.

Definition at line 285 of file CSO.h.

◆ setLabel()

void ml::CSO::setLabel ( const std::string &  label)

Sets the label of this CSO.

◆ setNeedInterpolation()

void ml::CSO::setNeedInterpolation ( CSOSeedPoint seedPoint)
inline

Sets the need of being interpolated to the specified seed point and to the CSO's state.

Definition at line 323 of file CSO.h.

References ml::CSOSeedPoint::setNeedsInterpolation().

◆ setNeedInterpolationAllSeedPoints()

void ml::CSO::setNeedInterpolationAllSeedPoints ( bool  needsInterpolation)

Sets the need for interpolation to all member seed points.

◆ setNeedsInterpolation()

void ml::CSO::setNeedsInterpolation ( bool  needsInterpolation)
inline

Sets whether this CSO needs interpolation.

Definition at line 315 of file CSO.h.

◆ setPathPointAlpha()

void ml::CSO::setPathPointAlpha ( float  alpha)

Sets the alpha value of the path points.

◆ setPathPointColor()

void ml::CSO::setPathPointColor ( const Vector3 color)

Sets the color of the path points.

◆ setPathPointStyle() [1/2]

void ml::CSO::setPathPointStyle ( CSOPathPointsStyle  style)

Sets the style of the path points.

◆ setPathPointStyle() [2/2]

void ml::CSO::setPathPointStyle ( int  style)
inline

Sets the style of the path points as an int.

Definition at line 374 of file CSO.h.

References setPathPointStyle().

Referenced by setPathPointStyle().

◆ setPathPointWidth()

void ml::CSO::setPathPointWidth ( float  width)

Sets the width of the path points.

◆ setPlaneNormal()

void ml::CSO::setPlaneNormal ( const Vector3 planeNormal)
inline

Sets the plane normal that becomes valid by this.

Definition at line 287 of file CSO.h.

◆ setPrivateBoundingBox()

void ml::CSO::setPrivateBoundingBox ( const CSOBoundingBox bb)
inline

Sets the bounding box of this CSO.

Definition at line 461 of file CSO.h.

◆ setPrivateIsClosed()

void ml::CSO::setPrivateIsClosed ( bool  isClosedP)
inline

Sets the 'isClosed' flag without any side effects.

Definition at line 457 of file CSO.h.

◆ setPrivateIsFinished()

void ml::CSO::setPrivateIsFinished ( bool  isFinished)
inline

Sets the 'isFinished' flag without any side effects.

Definition at line 455 of file CSO.h.

◆ setPrivateIsInPlane()

void ml::CSO::setPrivateIsInPlane ( bool  isInPlaneP)
inline

Sets the 'isInPlane' flag without any side effects.

Definition at line 459 of file CSO.h.

◆ setPrivatePlaneNormal()

void ml::CSO::setPrivatePlaneNormal ( const Vector3 normal)
inline

Sets the plane normal of this CSO.

Definition at line 463 of file CSO.h.

◆ setSeedAndPathPoints()

void ml::CSO::setSeedAndPathPoints ( unsigned int  numSeedPoints,
bool  isClosed = true 
)

Generates the specified number of seed points and path point lists between those.

The seed points are all set to position 0,0,0 initially. The CSO is closed by default. Existing seed point and path point are cleared.

◆ setSeedPointAlpha()

void ml::CSO::setSeedPointAlpha ( float  alpha)

Sets the alpha value of the seed points.

◆ setSeedPointColor()

void ml::CSO::setSeedPointColor ( const Vector3 color)

Sets the color of the seed points.

◆ setSeedPointsAndPathPoints()

void ml::CSO::setSeedPointsAndPathPoints ( const CSO cso)

Sets the seed points and the path point of the specified CSO.

◆ setSeedPointSelectedAt()

void ml::CSO::setSeedPointSelectedAt ( unsigned int  index)

Sets the seed point at the specified index selected.

◆ setSeedPointSize()

void ml::CSO::setSeedPointSize ( float  size)

Sets the size of the seed points.

◆ setSeedPointStyle()

void ml::CSO::setSeedPointStyle ( int  style)

Sets the style of the seed points.

◆ setSelectedSeedPoint()

void ml::CSO::setSelectedSeedPoint ( CSOSeedPoint sPoint)

Sets the specified seed point as being selected, and deselects all previously selected seed points.

◆ setShowState()

void ml::CSO::setShowState ( bool  state)

Sets the 'show' status of this CSO.

◆ setSubType()

void ml::CSO::setSubType ( const std::string &  subtype)
inline

Sets the subtype of the CSO. This is set by the editor or processor that generated this CSO.

Definition at line 240 of file CSO.h.

◆ setTimePointIndex()

void ml::CSO::setTimePointIndex ( MLint  index)

Sets the time point index of this CSO.

◆ setType()

void ml::CSO::setType ( const std::string &  type)
inline

Sets the type of the CSO. This is set by the editor or processor that generated this CSO.

Definition at line 236 of file CSO.h.

◆ setUserData()

void ml::CSO::setUserData ( const std::string &  name,
Variant  value 
)
inline

Sets or adds a user data value under the specified name.

Definition at line 254 of file CSO.h.

◆ setVoxelizeState()

void ml::CSO::setVoxelizeState ( bool  state)

Sets the 'voxelize' state of this CSO.

◆ setVoxelWriteMode()

void ml::CSO::setVoxelWriteMode ( int  mode)

Sets the voxel write mode of this CSO.

◆ setVoxelWriteValue()

void ml::CSO::setVoxelWriteValue ( float  value)

Sets the voxel write value of this CSO.

◆ storeInUndoManager()

void ml::CSO::storeInUndoManager ( )
inline

Stores the geometric information of the CSO in the UndoRedo manager.

Definition at line 73 of file CSO.h.

◆ storeVisualAttributesInUndoManager()

void ml::CSO::storeVisualAttributesInUndoManager ( )

◆ swapPoints()

void ml::CSO::swapPoints ( CSO other)

Swaps the seed and path points of two CSOs. No events are emitted.

Friends And Related Symbol Documentation

◆ CSOList

friend class CSOList
friend

Definition at line 506 of file CSO.h.


The documentation for this class was generated from the following file: