Carna  Version 3.3.2
ManagedTexture3DInterface.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 MANAGEDTEXTURE3DINTERFACE_H_6014714286
13 #define MANAGEDTEXTURE3DINTERFACE_H_6014714286
14 
15 #include <Carna/Carna.h>
17 #include <Carna/base/noncopyable.h>
18 #include <Carna/base/math.h>
19 
24 namespace Carna
25 {
26 
27 namespace base
28 {
29 
30 
31 
32 // ----------------------------------------------------------------------------------
33 // ManagedTexture3DInterface
34 // ----------------------------------------------------------------------------------
35 
43 {
44 
46 
47 public:
48 
49  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
50 
54  explicit ManagedTexture3DInterface( ManagedTexture3D& managed );
55 
59  virtual ~ManagedTexture3DInterface();
60 
65 
68  const Texture< 3 >& get() const;
69 
70 }; // ManagedTexture3DInterface
71 
72 
73 
74 } // namespace Carna :: base
75 
76 } // namespace Carna
77 
78 #endif // MANAGEDTEXTURE3DINTERFACE_H_6014714286
Defines Carna::base::math namespace and CARNA_FOR_VECTOR3UI.
Interfaces the Texture<3> that a ManagedTexture3D represents.
Defines Carna::base::GeometryFeature.
Represents 3D OpenGL texture object whose lifetime is managed by instances of this class...
ManagedTexture3D & managed
References the ManagedTexture3D object this interface belongs to.
Represents an acquisition of the video resources from a particular GeometryFeature. This acquisition realizes the RAII idiom.
#define NON_COPYABLE
Features class it is placed in as non-copyable.
Definition: noncopyable.h:109