13 #ifndef mitkClippedSurfaceBoundsCalculator_h
14 #define mitkClippedSurfaceBoundsCalculator_h
Abstract base class describing the geometry of a data object.
void EnforceImageBounds()
Clamp the resulting index coordinates so they do not exceed the image bounds.
mitk::PlaneGeometry::ConstPointer m_PlaneGeometry
The input plane geometry (if set).
ClippedSurfaceBoundsCalculator(const mitk::PlaneGeometry *geometry=nullptr, mitk::Image::Pointer image=nullptr)
Construct from a PlaneGeometry and image.
mitk::Image::Pointer m_Image
The image whose bounds are calculated.
OutputType GetMinMaxSpatialDirectionY()
Get the min/max slice indices visible in the Y direction.
std::pair< int, int > OutputType
Minimum (first) and maximum (second) slice index.
ClippedSurfaceBoundsCalculator(const mitk::BaseGeometry *geometry, mitk::Image::Pointer image)
Construct from a BaseGeometry (e.g. SlicedGeometry3D) and image.
void CalculateIntersectionPoints(const mitk::PlaneGeometry *geometry)
Calculate intersection points of the image bounding box edges with the given plane.
void SetInput(const mitk::BaseGeometry *geometry, mitk::Image *image)
Set a BaseGeometry and image as input.
void SetInput(const mitk::PlaneGeometry *geometry, mitk::Image *image)
Set a PlaneGeometry and image as input.
void SetInput(const PointListType pointlist, mitk::Image *image)
Set a list of world-coordinate points and image as input.
virtual ~ClippedSurfaceBoundsCalculator()
std::vector< mitk::Point3D > m_ObjectPointsInWorldCoordinates
World-coordinate points (if set).
OutputType GetMinMaxSpatialDirectionZ()
Get the min/max slice indices visible in the Z direction.
void InitializeOutput()
Reset the output min/max indices to their initial (invalid) state.
ClippedSurfaceBoundsCalculator(const PointListType pointlist, mitk::Image::Pointer image)
Construct from a list of world-coordinate points and image.
std::vector< mitk::Point3D > PointListType
List of 3D world-coordinate points.
void Update()
Request calculation.
mitk::BaseGeometry::ConstPointer m_Geometry3D
The input 3D geometry (if set).
std::vector< OutputType > m_MinMaxOutput
Min/max slice index results for each axis.
OutputType GetMinMaxSpatialDirectionX()
Get the min/max slice indices visible in the X direction.
void CalculateIntersectionPoints(PointListType pointList)
Calculate bounding slice indices from a list of world-coordinate points.
Image class for storing multi-dimensional medical image data.
Describes the geometry of a plane object.
Find image slices visible on a given plane.