GDCM 3.0.24
gdcmRegion.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: GDCM (Grassroots DICOM). A DICOM library
4
5 Copyright (c) 2006-2011 Mathieu Malaterre
6 All rights reserved.
7 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notice for more information.
12
13=========================================================================*/
14#ifndef GDCMREGION_H
15#define GDCMREGION_H
16
17#include "gdcmTypes.h"
18#include <vector>
19#include <iostream>
20
21namespace gdcm
22{
23class BoxRegion;
27//-----------------------------------------------------------------------------
29{
30public :
32 virtual ~Region();
33
35 virtual void Print(std::ostream &os = std::cout) const;
36
38 virtual bool Empty() const = 0;
39
41 virtual bool IsValid() const = 0;
42
44 virtual size_t Area() const = 0;
45
46 // implementation detail of heterogeneous container in C++
47 virtual Region *Clone() const = 0;
48
51private:
52};
53//-----------------------------------------------------------------------------
54inline std::ostream& operator<<(std::ostream &os, const Region&r)
55{
56 r.Print( os );
57 return os;
58}
59
60} // end namespace gdcm
61//-----------------------------------------------------------------------------
62#endif //GDCMREGION_H
Class for manipulation box region.
Definition gdcmBoxRegion.h:31
Class for manipulation region.
Definition gdcmRegion.h:29
virtual void Print(std::ostream &os=std::cout) const
Print.
virtual size_t Area() const =0
compute the area
virtual Region * Clone() const =0
virtual BoxRegion ComputeBoundingBox()=0
Return the Axis-Aligned minimum bounding box for all regions.
virtual bool IsValid() const =0
return whether this is valid domain
virtual ~Region()
virtual bool Empty() const =0
return whether this domain is empty:
#define GDCM_EXPORT
Definition gdcmWin32.h:34
Definition gdcmASN1.h:21
std::ostream & operator<<(std::ostream &os, const Directory &d)
Definition gdcmDirectory.h:88