Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::ContourModel Class Reference

ContourModel is a structure of linked vertices defining a contour in 3D space. The vertices are stored in a mitk::ContourElement is stored for each timestep. The contour line segments are implicitly defined by the given linked vertices. By default two control points are are linked by a straight line.It is possible to add vertices at front and end of the contour and to iterate in both directions. More...

#include <mitkContourModel.h>

Inheritance diagram for mitk::ContourModel:
Collaboration diagram for mitk::ContourModel:

Public Types

enum  LineSegmentInterpolation { LINEAR, B_SPLINE }
 Possible interpolation of the line segments between control points. More...
 
typedef mitk::ContourElement::VertexType VertexType
 
typedef mitk::ContourElement::VertexListType VertexListType
 
typedef mitk::ContourElement::VertexIterator VertexIterator
 
typedef mitk::ContourElement::ConstVertexIterator ConstVertexIterator
 
typedef std::vector< mitk::ContourElement::Pointer > ContourModelSeries
 
- Public Types inherited from mitk::BaseData
typedef BaseData Self
 
typedef itk::DataObject Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 

Public Member Functions

 mitkClassMacro (ContourModel, BaseData)
 
Pointer Clone () const
 
VertexTypeGetSelectedVertex ()
 Get the current selected vertex. More...
 
void Deselect ()
 Deselect vertex. More...
 
void SetSelectedVertexAsControlPoint (bool isControlPoint=true)
 Set selected vertex as control point. More...
 
void SetLineSegmentInterpolation (LineSegmentInterpolation interpolation)
 Set the interpolation of the line segments between control points. More...
 
LineSegmentInterpolation GetLineSegmentInterpolation ()
 Get the interpolation of the line segments between control points. More...
 
void AddVertex (mitk::Point3D &vertex, int timestep=0)
 Add a vertex to the contour at given timestep. The vertex is added at the end of contour. More...
 
void AddVertex (VertexType &vertex, int timestep=0)
 Add a vertex to the contour at given timestep. The vertex is added at the end of contour. More...
 
void AddVertex (const VertexType *vertex, int timestep=0)
 Add a vertex to the contour at given timestep. The vertex is added at the end of contour. More...
 
void AddVertex (mitk::Point3D &vertex, bool isControlPoint, int timestep=0)
 Add a vertex to the contour. More...
 
void AddVertexAtFront (mitk::Point3D &vertex, int timestep=0)
 Add a vertex to the contour at given timestep AT THE FRONT of the contour. The vertex is added at the FRONT of contour. More...
 
void AddVertexAtFront (VertexType &vertex, int timestep=0)
 Add a vertex to the contour at given timestep AT THE FRONT of the contour. The vertex is added at the FRONT of contour. More...
 
void AddVertexAtFront (mitk::Point3D &vertex, bool isControlPoint, int timestep=0)
 Add a vertex to the contour at given timestep AT THE FRONT of the contour. More...
 
void InsertVertexAtIndex (mitk::Point3D &vertex, int index, bool isControlPoint=false, int timestep=0)
 Insert a vertex at given index. More...
 
bool SetVertexAt (int pointId, const mitk::Point3D &point, unsigned int timestep=0)
 Set a coordinates for point at given index. More...
 
bool SetVertexAt (int pointId, const VertexType *vertex, unsigned int timestep=0)
 Set a coordinates for point at given index. More...
 
bool IsClosed (int timestep=0) const
 Return if the contour is closed or not. More...
 
void Concatenate (mitk::ContourModel *other, int timestep=0, bool check=false)
 Concatenate two contours. The starting control point of the other will be added at the end of the contour. timestep - the timestep at which the vertex will be add ( default 0) check - check for intersections ( default false) More...
 
VertexIterator Begin (int timestep=0) const
 Returns a const VertexIterator at the start element of the contour. More...
 
VertexIterator IteratorBegin (int timestep=0) const
 Returns a const VertexIterator at the start element of the contour. More...
 
VertexIterator End (int timestep=0) const
 Returns a const VertexIterator at the end element of the contour. More...
 
VertexIterator IteratorEnd (int timestep=0) const
 Returns a const VertexIterator at the end element of the contour. More...
 
virtual void Close (int timestep=0)
 Close the contour. The last control point will be linked with the first point. More...
 
virtual void Open (int timestep=0)
 Set isClosed to false contour. The link between the last control point the first point will be removed. More...
 
virtual void SetClosed (bool isClosed, int timestep=0)
 Set closed property to given boolean. More...
 
int GetNumberOfVertices (int timestep=0) const
 Returns the number of vertices at a given timestep. More...
 
virtual bool IsEmpty (int timestep) const
 Returns whether the contour model is empty at a given timestep. timestep - default = 0. More...
 
virtual bool IsEmpty () const override
 Returns whether the contour model is empty. More...
 
virtual const VertexTypeGetVertexAt (int index, int timestep=0) const
 Returns the vertex at the index position within the container. More...
 
int GetIndex (const VertexType *vertex, int timestep=0)
 Remove a vertex at given timestep within the container. More...
 
virtual bool IsEmptyTimeStep (unsigned int t) const override
 Check if there isn't something at this timestep. More...
 
virtual bool IsNearContour (mitk::Point3D &point, float eps, int timestep)
 Check if mouse cursor is near the contour. More...
 
bool SelectVertexAt (int index, int timestep=0)
 Mark a vertex at an index in the container as selected. More...
 
bool SetControlVertexAt (int index, int timestep=0)
 Mark a vertex at an index in the container as control point. More...
 
bool SelectVertexAt (mitk::Point3D &point, float eps, int timestep=0)
 Mark a vertex at a given position in 3D space. More...
 
bool SetControlVertexAt (mitk::Point3D &point, float eps, int timestep=0)
 
bool RemoveVertexAt (int index, int timestep=0)
 Remove a vertex at given index within the container. More...
 
bool RemoveVertex (const VertexType *vertex, int timestep=0)
 Remove a vertex at given timestep within the container. More...
 
bool RemoveVertexAt (mitk::Point3D &point, float eps, int timestep=0)
 Remove a vertex at a query position in 3D space. More...
 
void ShiftSelectedVertex (mitk::Vector3D &translate)
 Shift the currently selected vertex by a translation vector. More...
 
void ShiftContour (mitk::Vector3D &translate, int timestep=0)
 Shift the whole contour by a translation vector at given timestep. More...
 
virtual void Clear (int timestep)
 Clear the storage container at given timestep. More...
 
virtual void Initialize () override
 Initialize all data objects. More...
 
void Initialize (mitk::ContourModel &other)
 Initialize object with specs of other contour. Note: No data will be copied. More...
 
virtual void SetRequestedRegionToLargestPossibleRegion () override
 Inherit from base data - no region support available for contourModel objects. More...
 
virtual bool RequestedRegionIsOutsideOfTheBufferedRegion () override
 Inherit from base data - no region support available for contourModel objects. More...
 
virtual bool VerifyRequestedRegion () override
 Inherit from base data - no region support available for contourModel objects. More...
 
virtual const mitk::BaseGeometryGetUpdatedGeometry (int t=0)
 Get the updated geometry with recomputed bounds. More...
 
virtual mitk::BaseGeometryGetGeometry (int t=0) const
 Get the BaseGeometry for timestep t. More...
 
virtual void SetRequestedRegion (const itk::DataObject *data) override
 Inherit from base data - no region support available for contourModel objects. More...
 
virtual void Expand (unsigned int timeSteps) override
 Expand the timebounds of the TimeGeometry to given number of timesteps. More...
 
virtual void UpdateOutputInformation () override
 Update the OutputInformation of a ContourModel object. More...
 
virtual void Clear () override
 Clear the storage container. More...
 
void ExecuteOperation (Operation *operation) override
 overwrite if the Data can be called by an Interactor (StateMachine). More...
 
virtual void RedistributeControlVertices (int period, int timestep)
 Redistributes ontrol vertices with a given period (as number of vertices) More...
 
- Public Member Functions inherited from mitk::BaseData
virtual std::vector< std::string > GetClassHierarchy () const
 
virtual const char * GetClassName () const
 
const mitk::TimeGeometryGetTimeGeometry () const
 Return the TimeGeometry of the data as const pointer. More...
 
const mitk::TimeGeometryGetTimeSlicedGeometry () const
 Return the TimeGeometry of the data as const pointer. More...
 
mitk::TimeGeometryGetTimeGeometry ()
 Return the TimeGeometry of the data as pointer. More...
 
const mitk::TimeGeometryGetUpdatedTimeGeometry ()
 Return the TimeGeometry of the data. More...
 
const mitk::TimeGeometryGetUpdatedTimeSliceGeometry ()
 Return the TimeGeometry of the data. More...
 
const mitk::BaseGeometryGetUpdatedGeometry (int t=0)
 Return the BaseGeometry of the data at time t. More...
 
mitk::BaseGeometryGetGeometry (int t=0) const
 Return the geometry, which is a TimeGeometry, of the data as non-const pointer. More...
 
void UpdateOutputInformation () override
 Update the information for this BaseData (the geometry in particular) so that it can be used as an output of a BaseProcess. More...
 
void CopyInformation (const itk::DataObject *data) override
 Copy information from the specified data set. More...
 
virtual bool IsInitialized () const
 Check whether the data has been initialized, i.e., at least the Geometry and other header data has been set. More...
 
void ExecuteOperation (Operation *operation) override
 overwrite if the Data can be called by an Interactor (StateMachine). More...
 
virtual void SetGeometry (BaseGeometry *aGeometry3D)
 Set the BaseGeometry of the data, which will be referenced (not copied!). Assumes the data object has only 1 time step ( is a 3D object ) and creates a new TimeGeometry which saves the given BaseGeometry. If an TimeGeometry has already been set for the object, it will be replaced after calling this function. More...
 
virtual void SetTimeGeometry (TimeGeometry *geometry)
 Set the TimeGeometry of the data, which will be referenced (not copied!). More...
 
virtual void SetClonedGeometry (const BaseGeometry *aGeometry3D)
 Set a clone of the provided TimeGeometry as TimeGeometry of the data. Assumes the data object has only 1 time step ( is a 3D object ) and creates a new TimeGeometry. If an TimeGeometry has already been set for the object, it will be replaced after calling this function. More...
 
virtual void SetClonedTimeGeometry (const TimeGeometry *geometry)
 Set a clone of the provided TimeGeometry as TimeGeometry of the data. More...
 
virtual void SetClonedGeometry (const BaseGeometry *aGeometry3D, unsigned int time)
 Set a clone of the provided geometry as BaseGeometry of a given time step. More...
 
mitk::PropertyList::Pointer GetPropertyList () const
 Get the data's property list. More...
 
void SetPropertyList (PropertyList *propertyList)
 Set the data's property list. More...
 
mitk::BaseProperty::Pointer GetProperty (const char *propertyKey) const
 Get the property (instance of BaseProperty) with key propertyKey from the PropertyList, and set it to this, respectively;. More...
 
void SetProperty (const char *propertyKey, BaseProperty *property)
 
virtual void SetOrigin (const Point3D &origin)
 Convenience method for setting the origin of the BaseGeometry instances of all time steps. More...
 
itk::SmartPointer< mitk::BaseDataSourceGetSource () const
 Get the process object that generated this data object. More...
 
unsigned int GetTimeSteps () const
 Get the number of time steps from the TimeGeometry As the base data has not a data vector given by itself, the number of time steps is defined over the time sliced geometry. In sub classes, a better implementation could be over the length of the data vector. More...
 
virtual unsigned long GetMTime () const override
 Get the modified time of the last change of the contents this data object or its geometry. More...
 
virtual void Graft (const DataObject *) override
 
- Public Member Functions inherited from mitk::OperationActor
 itkTypeMacroNoParent (OperationActor) virtual ~OperationActor()
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from mitk::BaseData
static const char * GetStaticNameOfClass ()
 

Protected Member Functions

 mitkCloneMacro (Self)
 
 ContourModel ()
 
 ContourModel (const mitk::ContourModel &other)
 
virtual ~ContourModel ()
 
virtual void ClearData () override
 reset to non-initialized state, release memory More...
 
virtual void InitializeEmpty () override
 Pure virtual; Must be used in subclasses to get a data object to a valid state. Should at least create one empty object and call Superclass::InitializeTimeGeometry() to ensure an existing valid geometry. More...
 
void ShiftVertex (VertexType *vertex, mitk::Vector3D &vector)
 
- Protected Member Functions inherited from mitk::BaseData
 BaseData ()
 
 BaseData (const BaseData &other)
 
 ~BaseData ()
 
virtual void InitializeTimeGeometry (unsigned int timeSteps=1)
 Initialize the TimeGeometry for a number of time steps. The TimeGeometry is initialized empty and evenly timed. In many cases it will be necessary to overwrite this in sub-classes. More...
 
virtual void InitializeTimeSlicedGeometry (unsigned int timeSteps=1)
 Initialize the TimeGeometry for a number of time steps. The TimeGeometry is initialized empty and evenly timed. In many cases it will be necessary to overwrite this in sub-classes. More...
 
virtual void PrintSelf (std::ostream &os, itk::Indent indent) const override
 

Protected Attributes

ContourModelSeries m_ContourSeries
 
VertexTypem_SelectedVertex
 
LineSegmentInterpolation m_lineInterpolation
 
bool m_UpdateBoundingBox
 
- Protected Attributes inherited from mitk::BaseData
bool m_LastRequestedRegionWasOutsideOfTheBufferedRegion
 
unsigned int m_SourceOutputIndexDuplicate
 
bool m_Initialized
 

Detailed Description

ContourModel is a structure of linked vertices defining a contour in 3D space. The vertices are stored in a mitk::ContourElement is stored for each timestep. The contour line segments are implicitly defined by the given linked vertices. By default two control points are are linked by a straight line.It is possible to add vertices at front and end of the contour and to iterate in both directions.

Points are specified containing coordinates and additional (data) information, see mitk::ContourElement. For accessing a specific vertex either an index or a position in 3D Space can be used. The vertices are best accessed by using a VertexIterator. Interaction with the contour is thus available without any mitk interactor class using the api of ContourModel. It is possible to shift single vertices also as shifting the whole contour.

A contour can be either open like a single curved line segment or closed. A closed contour can for example represent a jordan curve.

Display Options

The default mappers for this data structure are mitk::ContourModelGLMapper2D and mitk::ContourModelMapper3D. See these classes for display options which can can be set via properties.

Definition at line 51 of file mitkContourModel.h.

Member Typedef Documentation

typedef std::vector<mitk::ContourElement::Pointer> mitk::ContourModel::ContourModelSeries

Definition at line 63 of file mitkContourModel.h.

Member Enumeration Documentation

Possible interpolation of the line segments between control points.

Enumerator
LINEAR 
B_SPLINE 

Definition at line 67 of file mitkContourModel.h.

Constructor & Destructor Documentation

mitk::ContourModel::ContourModel ( )
protected

Definition at line 19 of file mitkContourModel.cpp.

References InitializeEmpty().

mitk::ContourModel::ContourModel ( const mitk::ContourModel other)
protected

Definition at line 25 of file mitkContourModel.cpp.

References m_SelectedVertex.

mitk::ContourModel::~ContourModel ( )
protectedvirtual

Definition at line 31 of file mitkContourModel.cpp.

Member Function Documentation

void mitk::ContourModel::AddVertex ( mitk::Point3D vertex,
int  timestep = 0 
)

Add a vertex to the contour at given timestep. The vertex is added at the end of contour.

Parameters
vertex- coordinate representation of a control point
timestep- the timestep at which the vertex will be add ( default 0)

Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.

Definition at line 37 of file mitkContourModel.cpp.

Referenced by mitk::ContourTool::OnMouseMoved(), mitk::CorrectorTool2D::OnMouseMoved(), mitk::ContourTool::OnMousePressed(), mitk::CorrectorTool2D::OnMousePressed(), and mitk::ContourModelLiveWireInteractor::SplitContourFromSelectedVertex().

void mitk::ContourModel::AddVertex ( VertexType vertex,
int  timestep = 0 
)

Add a vertex to the contour at given timestep. The vertex is added at the end of contour.

Parameters
vertex- coordinate representation of a control point
timestep- the timestep at which the vertex will be add ( default 0)

Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.

Definition at line 56 of file mitkContourModel.cpp.

void mitk::ContourModel::AddVertex ( const VertexType vertex,
int  timestep = 0 
)

Add a vertex to the contour at given timestep. The vertex is added at the end of contour.

Parameters
vertex- coordinate representation of a control point
timestep- the timestep at which the vertex will be add ( default 0)

Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeSlicedGeometry will not be expanded.

Definition at line 67 of file mitkContourModel.cpp.

void mitk::ContourModel::AddVertex ( mitk::Point3D vertex,
bool  isControlPoint,
int  timestep = 0 
)

Add a vertex to the contour.

Parameters
vertex- coordinate representation of a control point
timestep- the timestep at which the vertex will be add ( default 0)
isControlPoint- specifies the vertex to be handled in a special way (e.g. control points will be rendered).

Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.

Definition at line 45 of file mitkContourModel.cpp.

void mitk::ContourModel::AddVertexAtFront ( mitk::Point3D vertex,
int  timestep = 0 
)

Add a vertex to the contour at given timestep AT THE FRONT of the contour. The vertex is added at the FRONT of contour.

Parameters
vertex- coordinate representation of a control point
timestep- the timestep at which the vertex will be add ( default 0)

Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.

Definition at line 75 of file mitkContourModel.cpp.

void mitk::ContourModel::AddVertexAtFront ( VertexType vertex,
int  timestep = 0 
)

Add a vertex to the contour at given timestep AT THE FRONT of the contour. The vertex is added at the FRONT of contour.

Parameters
vertex- coordinate representation of a control point
timestep- the timestep at which the vertex will be add ( default 0)

Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.

Definition at line 94 of file mitkContourModel.cpp.

void mitk::ContourModel::AddVertexAtFront ( mitk::Point3D vertex,
bool  isControlPoint,
int  timestep = 0 
)

Add a vertex to the contour at given timestep AT THE FRONT of the contour.

Parameters
vertex- coordinate representation of a control point
timestep- the timestep at which the vertex will be add ( default 0)
isControlPoint- specifies the vertex to be handled in a special way (e.g. control points will be rendered).

Adding a vertex to a timestep which exceeds the timebounds of the contour will not be added, the TimeGeometry will not be expanded.

Definition at line 83 of file mitkContourModel.cpp.

mitk::ContourModel::VertexIterator mitk::ContourModel::Begin ( int  timestep = 0) const

Returns a const VertexIterator at the start element of the contour.

Exceptions
mitk::Exceptionif the timestep is invalid.

Definition at line 256 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelUtils::BackProjectContourFrom2DSlice(), mitk::ContourModelSetMapper3D::GenerateDataForRenderer(), mitk::CorrectorTool2D::OnMouseReleased(), and mitk::ContourModelUtils::ProjectContourTo2DSlice().

void mitk::ContourModel::Clear ( int  timestep)
virtual

Clear the storage container at given timestep.

All control points are removed at timestep.

Definition at line 430 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelLiveWireInteractor::OnFinishEditing().

void mitk::ContourModel::Clear ( )
overridevirtual

Clear the storage container.

The object is set to initial state. All control points are removed and the number of timesteps are set to 1.

Reimplemented from mitk::BaseData.

Definition at line 492 of file mitkContourModel.cpp.

void mitk::ContourModel::ClearData ( )
overrideprotectedvirtual

reset to non-initialized state, release memory

Reimplemented from mitk::BaseData.

Definition at line 512 of file mitkContourModel.cpp.

Pointer mitk::ContourModel::Clone ( ) const
void mitk::ContourModel::Close ( int  timestep = 0)
virtual

Close the contour. The last control point will be linked with the first point.

Definition at line 195 of file mitkContourModel.cpp.

void mitk::ContourModel::Concatenate ( mitk::ContourModel other,
int  timestep = 0,
bool  check = false 
)

Concatenate two contours. The starting control point of the other will be added at the end of the contour. timestep - the timestep at which the vertex will be add ( default 0) check - check for intersections ( default false)

Definition at line 242 of file mitkContourModel.cpp.

References m_ContourSeries.

void mitk::ContourModel::Deselect ( )
inline
mitk::ContourModel::VertexIterator mitk::ContourModel::End ( int  timestep = 0) const

Returns a const VertexIterator at the end element of the contour.

Exceptions
mitk::Exceptionif the timestep is invalid.

Definition at line 274 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelUtils::BackProjectContourFrom2DSlice(), mitk::ContourModelSetMapper3D::GenerateDataForRenderer(), mitk::CorrectorTool2D::OnMouseReleased(), and mitk::ContourModelUtils::ProjectContourTo2DSlice().

void mitk::ContourModel::ExecuteOperation ( mitk::Operation operation)
overridevirtual

overwrite if the Data can be called by an Interactor (StateMachine).

Implements mitk::OperationActor.

Definition at line 636 of file mitkContourModel.cpp.

void mitk::ContourModel::Expand ( unsigned int  timeSteps)
overridevirtual

Expand the timebounds of the TimeGeometry to given number of timesteps.

Reimplemented from mitk::BaseData.

Definition at line 442 of file mitkContourModel.cpp.

References mitk::ContourElement::New().

Referenced by mitk::ContourTool::OnMousePressed(), and mitk::CorrectorTool2D::OnMousePressed().

mitk::BaseGeometry * mitk::ContourModel::GetGeometry ( int  t = 0) const
virtual

Get the BaseGeometry for timestep t.

Definition at line 482 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelInteractor::OnCheckPointClick().

int mitk::ContourModel::GetIndex ( const VertexType vertex,
int  timestep = 0 
)

Remove a vertex at given timestep within the container.

Returns
index of vertex. -1 if not found.

Definition at line 186 of file mitkContourModel.cpp.

LineSegmentInterpolation mitk::ContourModel::GetLineSegmentInterpolation ( )
inline

Get the interpolation of the line segments between control points.

Definition at line 102 of file mitkContourModel.h.

int mitk::ContourModel::GetNumberOfVertices ( int  timestep = 0) const
const mitk::BaseGeometry * mitk::ContourModel::GetUpdatedGeometry ( int  t = 0)
virtual

Get the updated geometry with recomputed bounds.

Definition at line 477 of file mitkContourModel.cpp.

const mitk::ContourModel::VertexType * mitk::ContourModel::GetVertexAt ( int  index,
int  timestep = 0 
) const
virtual
void mitk::ContourModel::Initialize ( )
overridevirtual

Initialize all data objects.

Definition at line 521 of file mitkContourModel.cpp.

Referenced by mitk::ContourTool::OnMousePressed(), and mitk::CorrectorTool2D::OnMousePressed().

void mitk::ContourModel::Initialize ( mitk::ContourModel other)

Initialize object with specs of other contour. Note: No data will be copied.

Definition at line 528 of file mitkContourModel.cpp.

References mitk::BaseData::GetTimeGeometry(), IsClosed(), m_lineInterpolation, and mitk::ContourElement::New().

void mitk::ContourModel::InitializeEmpty ( )
overrideprotectedvirtual

Pure virtual; Must be used in subclasses to get a data object to a valid state. Should at least create one empty object and call Superclass::InitializeTimeGeometry() to ensure an existing valid geometry.

Reimplemented from mitk::BaseData.

Definition at line 545 of file mitkContourModel.cpp.

References LINEAR, and mitk::ContourElement::New().

Referenced by ContourModel().

void mitk::ContourModel::InsertVertexAtIndex ( mitk::Point3D vertex,
int  index,
bool  isControlPoint = false,
int  timestep = 0 
)

Insert a vertex at given index.

Definition at line 140 of file mitkContourModel.cpp.

bool mitk::ContourModel::IsEmpty ( int  timestep) const
virtual

Returns whether the contour model is empty at a given timestep. timestep - default = 0.

Definition at line 154 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelLiveWireInteractor::OnDeletePoint().

bool mitk::ContourModel::IsEmpty ( ) const
overridevirtual

Returns whether the contour model is empty.

Reimplemented from mitk::BaseData.

Definition at line 163 of file mitkContourModel.cpp.

bool mitk::ContourModel::IsEmptyTimeStep ( unsigned int  t) const
overridevirtual

Check if there isn't something at this timestep.

Reimplemented from mitk::BaseData.

Definition at line 228 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelGLMapper2DBase::InternalDrawContour(), and mitk::ContourModelSetGLMapper2D::InternalDrawContour().

bool mitk::ContourModel::IsNearContour ( mitk::Point3D point,
float  eps,
int  timestep 
)
virtual

Check if mouse cursor is near the contour.

Definition at line 233 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelInteractor::IsHovering(), and mitk::ContourModelLiveWireInteractor::IsHovering().

mitk::ContourModel::mitkClassMacro ( ContourModel  ,
BaseData   
)
mitk::ContourModel::mitkCloneMacro ( Self  )
protected
void mitk::ContourModel::Open ( int  timestep = 0)
virtual

Set isClosed to false contour. The link between the last control point the first point will be removed.

Definition at line 206 of file mitkContourModel.cpp.

void mitk::ContourModel::RedistributeControlVertices ( int  period,
int  timestep 
)
virtual

Redistributes ontrol vertices with a given period (as number of vertices)

Parameters
period- the number of vertices between control points.
timestep- at this timestep all lines will be rebuilt.

Definition at line 501 of file mitkContourModel.cpp.

bool mitk::ContourModel::RemoveVertex ( const VertexType vertex,
int  timestep = 0 
)

Remove a vertex at given timestep within the container.

Returns
true = the vertex was successfuly removed.

Definition at line 347 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelInteractor::OnDeletePoint().

bool mitk::ContourModel::RemoveVertexAt ( int  index,
int  timestep = 0 
)

Remove a vertex at given index within the container.

Returns
true = the vertex was successfuly removed; false = wrong index.

Definition at line 362 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelLiveWireInteractor::OnDeletePoint().

bool mitk::ContourModel::RemoveVertexAt ( mitk::Point3D point,
float  eps,
int  timestep = 0 
)

Remove a vertex at a query position in 3D space.

The vertex to be removed will be search by nearest neighbour search. Note that possibly no vertex at this position and eps is stored inside the contour.

Returns
true = the vertex was successfuly removed; false = no vertex found.

Definition at line 377 of file mitkContourModel.cpp.

bool mitk::ContourModel::RequestedRegionIsOutsideOfTheBufferedRegion ( )
overridevirtual

Inherit from base data - no region support available for contourModel objects.

Implements mitk::BaseData.

Definition at line 465 of file mitkContourModel.cpp.

bool mitk::ContourModel::SelectVertexAt ( int  index,
int  timestep = 0 
)

Mark a vertex at an index in the container as selected.

Definition at line 310 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelInteractor::OnCheckPointClick(), and mitk::ContourModelLiveWireInteractor::OnCheckPointClick().

bool mitk::ContourModel::SelectVertexAt ( mitk::Point3D point,
float  eps,
int  timestep = 0 
)

Mark a vertex at a given position in 3D space.

Parameters
point- query point in 3D space
eps- radius for nearest neighbour search (error bound).
timestep- search at this timestep
Returns
true = vertex found; false = no vertex found

Definition at line 301 of file mitkContourModel.cpp.

void mitk::ContourModel::SetClosed ( bool  isClosed,
int  timestep = 0 
)
virtual

Set closed property to given boolean.

false - The link between the last control point the first point will be removed. true - The last control point will be linked with the first point.

Definition at line 217 of file mitkContourModel.cpp.

Referenced by mitk::CorrectorTool2D::CorrectorTool2D(), mitk::ContourTool::OnMousePressed(), and mitk::CorrectorTool2D::OnMousePressed().

bool mitk::ContourModel::SetControlVertexAt ( int  index,
int  timestep = 0 
)

Mark a vertex at an index in the container as control point.

Definition at line 333 of file mitkContourModel.cpp.

References mitk::ContourElement::ContourModelVertex::IsControlPoint.

bool mitk::ContourModel::SetControlVertexAt ( mitk::Point3D point,
float  eps,
int  timestep = 0 
)
void mitk::ContourModel::SetLineSegmentInterpolation ( LineSegmentInterpolation  interpolation)
inline

Set the interpolation of the line segments between control points.

Definition at line 94 of file mitkContourModel.h.

void mitk::ContourModel::SetRequestedRegion ( const itk::DataObject *  data)
overridevirtual

Inherit from base data - no region support available for contourModel objects.

Implements mitk::BaseData.

Definition at line 487 of file mitkContourModel.cpp.

void mitk::ContourModel::SetRequestedRegionToLargestPossibleRegion ( )
overridevirtual

Inherit from base data - no region support available for contourModel objects.

Implements mitk::BaseData.

Definition at line 460 of file mitkContourModel.cpp.

void mitk::ContourModel::SetSelectedVertexAsControlPoint ( bool  isControlPoint = true)
inline

Set selected vertex as control point.

Definition at line 83 of file mitkContourModel.h.

Referenced by mitk::ContourModelInteractor::OnCheckPointClick(), and mitk::ContourModelLiveWireInteractor::OnCheckPointClick().

bool mitk::ContourModel::SetVertexAt ( int  pointId,
const mitk::Point3D point,
unsigned int  timestep = 0 
)

Set a coordinates for point at given index.

Definition at line 105 of file mitkContourModel.cpp.

bool mitk::ContourModel::SetVertexAt ( int  pointId,
const VertexType vertex,
unsigned int  timestep = 0 
)

Set a coordinates for point at given index.

Definition at line 121 of file mitkContourModel.cpp.

void mitk::ContourModel::ShiftContour ( mitk::Vector3D translate,
int  timestep = 0 
)

Shift the whole contour by a translation vector at given timestep.

Parameters
translate- the translation vector.
timestep- at this timestep the contour will be shifted.

Definition at line 402 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelInteractor::OnMoveContour().

void mitk::ContourModel::ShiftSelectedVertex ( mitk::Vector3D translate)

Shift the currently selected vertex by a translation vector.

Parameters
translate- the translation vector.

Definition at line 392 of file mitkContourModel.cpp.

Referenced by mitk::ContourModelInteractor::OnMovePoint().

void mitk::ContourModel::ShiftVertex ( VertexType vertex,
mitk::Vector3D vector 
)
protected
void mitk::ContourModel::UpdateOutputInformation ( )
overridevirtual
bool mitk::ContourModel::VerifyRequestedRegion ( )
overridevirtual

Inherit from base data - no region support available for contourModel objects.

Implements mitk::BaseData.

Definition at line 471 of file mitkContourModel.cpp.

Member Data Documentation

ContourModelSeries mitk::ContourModel::m_ContourSeries
protected

Definition at line 434 of file mitkContourModel.h.

Referenced by Concatenate().

LineSegmentInterpolation mitk::ContourModel::m_lineInterpolation
protected

Definition at line 440 of file mitkContourModel.h.

Referenced by Initialize().

VertexType* mitk::ContourModel::m_SelectedVertex
protected

Definition at line 437 of file mitkContourModel.h.

Referenced by ContourModel().

bool mitk::ContourModel::m_UpdateBoundingBox
protected

Definition at line 443 of file mitkContourModel.h.


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