IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
VolumeGeometry.h
1 // VolumeGeometry.h:
3 // -----------------
4 //
15 
16 #ifndef __IPSDKIMAGE_VOLUMEGEOMETRY_H__
17 #define __IPSDKIMAGE_VOLUMEGEOMETRY_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::image::VolumeGeometry::_volumeGeometryType' : class 'ipsdk::image::eVolumeGeometryType' needs to have dll-interface to be used by clients of class 'ipsdk::image::VolumeGeometry'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
26 #include <IPSDKSerialization/Engine/BaseSerializationObject.h>
27 
28 namespace ipsdk {
29 namespace image {
30 
33 
35 {
36  // declare dynamic serializable class
38 
39 public:
43  ~VolumeGeometry();
45 
46 // methods
47 public:
49  bool isInit() const;
50 
52  void init2d();
53 
56  void init3d(ipUInt64 sizeZ);
57 
60  const eVolumeGeometryType& getVolumeGeometryType() const;
61 
64  bool is2d() const;
65 
68  bool is3d() const;
69 
72  ipUInt64 getSizeZ() const;
73 
77  void setVolumeGeometryType(const eVolumeGeometryType& vType);
78 
80  void clear();
81 
82 // attributes
83 protected:
86 
89 
91  bool _bInit;
92 };
93 
94 
97 
98 inline bool
100 {
101  return _bInit;
102 }
103 
106 
107 } // end of namespace image
108 } // end of namespace ipsdk
109 
110 #pragma warning (pop)
111 
112 #endif // __IPSDKIMAGE_VOLUMEGEOMETRY_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:73
Predefined types for geometry component management.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
eVolumeGeometryType _volumeGeometryType
volume geometry type associated to object
Definition: VolumeGeometry.h:85
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
Definition of import/export macro for library.
bool _bInit
object initialization flag
Definition: VolumeGeometry.h:91
#define IPSDKIMAGE_API
Import/Export macro for library IPSDKImage.
Definition: IPSDKImageExports.h:27
eVolumeGeometryType
Volume geometry type.
Definition: GeometryComponentTypes.h:32
Class encapsulating volume geometryThis class allows to define geometry volume size and type (2d or 3...
Definition: VolumeGeometry.h:34
bool isInit() const
retrieve object initialisation flag
Definition: VolumeGeometry.h:99
IPSDKIMAGEPROCESSING_API processor::RulePtr is2d(const ImageAttributeConstWeakPtr &pAttribute)
functions allowing to check image volume type
ipUInt64 _sizeZ
z size associated to object
Definition: VolumeGeometry.h:88
Base class for serializable class.
Definition: BaseSerializationObject.h:33
IPSDKIMAGEPROCESSING_API processor::RulePtr is3d(const ImageAttributeConstWeakPtr &pAttribute)
functions allowing to check image volume type