
| Current Path : /usr/include/gdcm-3.0/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //usr/include/gdcm-3.0/gdcmBoxRegion.h |
/*=========================================================================
Program: GDCM (Grassroots DICOM). A DICOM library
Copyright (c) 2006-2011 Mathieu Malaterre
All rights reserved.
See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#ifndef GDCMBOXREGION_H
#define GDCMBOXREGION_H
#include "gdcmRegion.h"
namespace gdcm
{
class BoxRegionInternals;
/**
* \brief Class for manipulation box region
* \details This is a very simple implementation of the Region class.
* It only support 3D box type region.
* It assumes the 3D Box does not have a tilt
* Origin is as (0,0,0)
*/
//-----------------------------------------------------------------------------
class GDCM_EXPORT BoxRegion : public Region
{
public :
BoxRegion();
~BoxRegion() override;
/// Set domain
void SetDomain(unsigned int xmin, unsigned int xmax,
unsigned int ymin, unsigned int ymax,
unsigned int zmin, unsigned int zmax);
/// Get domain
unsigned int GetXMin() const;
unsigned int GetXMax() const;
unsigned int GetYMin() const;
unsigned int GetYMax() const;
unsigned int GetZMin() const;
unsigned int GetZMax() const;
// Satisfy pure virtual parent class
Region *Clone() const override;
bool Empty() const override;
bool IsValid() const override;
size_t Area() const override;
BoxRegion ComputeBoundingBox() override;
void Print(std::ostream &os = std::cout) const override;
/// Helper class to compute the bounding box of two BoxRegion
static BoxRegion BoundingBox(BoxRegion const & b1, BoxRegion const & b2 );
/// copy/cstor and al.
BoxRegion(const BoxRegion&);
void operator=(const BoxRegion&);
private:
BoxRegionInternals *Internals;
};
} // end namespace gdcm
//-----------------------------------------------------------------------------
#endif //GDCMREGION_H