Carna  Version 3.0.1
ManagedMeshInterface.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 MANAGEDMESHINTERFACE_H_6014714286
13 #define MANAGEDMESHINTERFACE_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 // ManagedMeshInterface
34 // ----------------------------------------------------------------------------------
35 
43 {
44 
46 
47 public:
48 
52  explicit ManagedMeshInterface( ManagedMeshBase& managed );
53 
57  virtual ~ManagedMeshInterface();
58 
63 
66  const MeshBase& get() const;
67 
68 }; // ManagedMeshInterface
69 
70 
71 
72 } // namespace Carna :: base
73 
74 } // namespace Carna
75 
76 #endif // MANAGEDMESHINTERFACE_H_6014714286
Defines Carna::base::math namespace and CARNA_FOR_VECTOR3UI.
Defines Carna::base::GeometryFeature.
Represents an acquisition of the video resources from a particular GeometryFeature. This acquisition realizes the RAII idiom.
Represents MeshBase object whose lifetime is managed by instances of this class. This is a format-ind...
Definition: ManagedMesh.h:56
Interfaces the MeshBase that a ManagedMeshBase represents.
Format-independent abstract Mesh base class. Each mesh consists of a VertexBuffer, an IndexBuffer and a vertex array. This class realizes the RAII-idiom w.r.t. the vertex array.
Definition: Mesh.h:63
ManagedMeshBase & managed
References the ManagedMeshBase object this interface belongs to.
#define NON_COPYABLE
Features class it is placed in as non-copyable.
Definition: noncopyable.h:109