13 #ifndef mitkPointSet_h
14 #define mitkPointSet_h
18 #include <itkDefaultDynamicMeshTraits.h>
76 itkFactorylessNewMacro(Self);
83 static const unsigned int PointDimension = 3;
84 static const unsigned int MaxTopologicalDimension = 3;
120 MaxTopologicalDimension,
125 typedef itk::Mesh<PointDataType, PointDimension, MeshTraits>
MeshType;
137 void Expand(
unsigned int timeSteps)
override;
143 virtual int GetSize(
unsigned int t = 0)
const;
277 void PrintSelf(std::ostream &os, itk::Indent indent)
const override;
320 bool checkGeometry =
true));
342 bool checkGeometry =
true);
Base of all data objects.
Base class of all Operation-classes.
Data structure which stores a set of points.
void UpdateOutputInformation() override
bool RequestedRegionIsOutsideOfTheBufferedRegion() override
Determine whether the RequestedRegion is outside of the BufferedRegion.
bool SwapPointPosition(PointIdentifier id, bool moveUpwards, int t=0)
Swap a point at the given position (id) with the upper point (moveUpwards=true) or with the lower poi...
itk::Mesh< PointDataType, PointDimension, MeshTraits > MeshType
PointType GetPoint(PointIdentifier id, int t=0) const
Get the point with ID id in world coordinates.
bool m_CalculateBoundingBox
flag to indicate the right time to call SetBounds
virtual void SetSelectInfo(int position, bool selected, int t=0)
virtual int SearchSelectedPoint(int t=0) const
searches a selected point and returns the id of that point. If no point is found, then -1 is returned
PointsConstIterator Begin(int t=0) const
PointsConstIterator End(int t=0) const
DataType::PointDataContainer PointDataContainer
PointSetSeries m_PointSetSeries
DataType::PointsContainer::Pointer m_EmptyPointsContainer
void PrintSelf(std::ostream &os, itk::Indent indent) const override
print content of the object to os
DataType::PointsContainer::ConstIterator PointsConstIterator
void Expand(unsigned int timeSteps) override
Expands the TimeGeometry to a number of TimeSteps.
PointSet(const PointSet &other)
DataType::PointDataContainerIterator PointDataIterator
itk::DefaultDynamicMeshTraits< PointDataType, PointDimension, MaxTopologicalDimension, CoordinateType, InterpolationWeightType, CellDataType > MeshTraits
void InitializeEmpty() override
Pure virtual; Must be used in subclasses to get a data object to a valid state. Should at least creat...
virtual void OnPointSetChange()
void SetRequestedRegion(const itk::DataObject *data) override
Set the requested region from this data object to match the requested region of the data object passe...
DataType::PointIdentifier PointIdentifier
mitk::ScalarType InterpolationWeightType
std::vector< unsigned int > SelectedLinesType
cellDataType, that stores all indexes of the lines, that are selected e.g.: points A,...
virtual bool IndexExists(int position, int t=0) const
returns true if a point exists at this position
virtual int GetNumberOfSelected(int t=0) const
returns the number of selected points
std::vector< DataType::Pointer > PointSetSeries
bool IsEmptyTimeStep(unsigned int t) const override
Check whether object contains data (at a specified time), e.g., a set of points may be empty.
virtual void ClearSelection()
Deselect all points in all time steps.
PointsIterator RemovePointAtEnd(int t=0)
Remove max id point at timestep t and return iterator to precedent point.
DataType::PointDataContainerIterator PointDataConstIterator
virtual int GetSize(unsigned int t=0) const
returns the current size of the point-list
PointsIterator End(int t=0)
void ClearData() override
reset to non-initialized state, release memory
bool RemovePointIfExists(PointIdentifier id, int t=0)
Remove point with given id at timestep t, if existent.
void SetRequestedRegionToLargestPossibleRegion() override
Set the RequestedRegion to the LargestPossibleRegion.
DataType::PointsContainerIterator PointsIterator
bool VerifyRequestedRegion() override
Verify that the RequestedRegion is within the LargestPossibleRegion.
void SetPoint(PointIdentifier id, PointType point, PointSpecificationType spec, int t=0)
Set the given point in world coordinate system with the given PointSpecificationType.
PointIdentifier InsertPoint(PointType point, int t=0)
Insert the given point in world coordinate system with incremented max id at time step t.
bool SwapPointContents(PointIdentifier id1, PointIdentifier id2, int t=0)
swaps point coordinates and point data of the points with identifiers id1 and id2
int SearchPoint(Point3D point, ScalarType distance, int t=0) const
searches a point in the list == point +/- distance
virtual unsigned int GetPointSetSeriesSize() const
virtual PointSpecificationType GetSpecificationTypeInfo(int position, int t) const
to get the type of the point at the position and the moment
void SetPoint(PointIdentifier id, PointType point, int t=0)
Set the given point in world coordinate system into the itkPointSet.
void InsertPoint(PointIdentifier id, PointType point, PointSpecificationType spec, int t)
Set the given point in world coordinate system with given PointSpecificationType.
PointsIterator GetMaxId(int t=0)
Get an iterator to the max ID element if existent. Return End() otherwise.
mitk::ScalarType CoordinateType
virtual DataType::Pointer GetPointSet(int t=0) const
returns the pointset
DataType::PointsContainer PointsContainer
void InsertPoint(PointIdentifier id, PointType point, int t=0)
Set the given point in world coordinate system into the itkPointSet.
bool GetPointIfExists(PointIdentifier id, PointType *point, int t=0) const
Get the point with ID id in world coordinates.
mitkClassMacro(PointSet, BaseData)
PointsIterator Begin(int t=0)
void ExecuteOperation(Operation *operation) override
executes the given Operation
SelectedLinesType::iterator SelectedLinesIter
virtual bool GetSelectInfo(int position, int t=0) const
to get the state selected/unselected of the point on the position
Find image slices visible on a given plane.
MITKCORE_EXPORT const ScalarType eps
PointSpecificationType
enumeration of the type a point can be
MITKNEWMODULE_EXPORT bool Equal(mitk::ExampleDataStructure *leftHandSide, mitk::ExampleDataStructure *rightHandSide, mitk::ScalarType eps, bool verbose)
Returns true if the example data structures are considered equal.
itkEventMacroDeclaration(BoundingShapeInteractionEvent, itk::AnyEvent)
SelectedLinesType selectedLines
struct for data of a point
mitk::PointSpecificationType pointSpec
bool operator==(const PointDataType &other) const