Carna  Version 3.3.2
HUVolume.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2010 - 2015 Leonid Kostrykin
3  *
4  * Chair of Medical Engineering (mediTEC)
5  * RWTH Aachen University
6  * Pauwelsstr. 20
7  * 52074 Aachen
8  * Germany
9  *
10  */
11 
12 #ifndef HUVOLUME_H_6014714286
13 #define HUVOLUME_H_6014714286
14 
24 #include <Carna/base/noncopyable.h>
25 #include <Carna/base/HUV.h>
26 
27 namespace Carna
28 {
29 
30 namespace base
31 {
32 
33 
34 
35 // ----------------------------------------------------------------------------------
36 // HUVolume
37 // ----------------------------------------------------------------------------------
38 
46 class CARNA_LIB HUVolume : public math::VectorField< HUV >
47 {
48 
50 
51 public:
52 
56  HUVolume();
57 
61  explicit HUVolume( const math::Vector3ui& size );
62 
67 
71  virtual HUV operator()( unsigned int x
72  , unsigned int y
73  , unsigned int z ) const override = 0;
74 
77  virtual HUV operator()( const math::Vector3ui& at ) const override = 0;
78 
79 }; // HUVolume
80 
81 
82 
83 } // namespace Carna :: base
84 
85 } // namespace Carna
86 
87 #endif // HUVOLUME_H_6014714286
Defines Carna::base::HUV.
Eigen::Matrix< unsigned int, 3, 1 > Vector3ui
Defines vector.
Definition: math.h:199
math::Vector3ui size
Holds the resolution.
Definition: HUVolume.h:66
Abstract definition of an vector field where is ValueType.
Definition: VectorField.h:49
Defines interface to volumetric data.
Definition: HUVolume.h:46
Defines Carna::base::math::VectorField.
Represents values in .
Definition: HUV.h:34
#define NON_COPYABLE
Features class it is placed in as non-copyable.
Definition: noncopyable.h:109