![]() |
LibCarna Version 3.4.0
|
Implements MeshBase class for particular VertexType and IndexType. More...
#include <ManagedMesh.hpp>
Inheritance diagram for LibCarna::base::ManagedMesh< VertexType, IndexType >:
Collaboration diagram for LibCarna::base::ManagedMesh< VertexType, IndexType >:Public Types | |
| typedef VertexType | Vertex |
| Holds the element type of the vertex buffer. | |
| typedef IndexType | Index |
| Holds the element type of the index buffer. | |
Public Types inherited from LibCarna::base::ManagedMeshBase | |
| typedef ManagedMeshInterface | ManagedInterface |
| Defines the type to be used for interfacing the video resource. | |
Static Public Member Functions | |
| static ManagedMesh< VertexType, IndexType > & | create (unsigned int primitiveType, const VertexType *vertices, const std::size_t vertexCount, const IndexType *indices, const std::size_t indexCount) |
| Instantiates. Call release when you do not need the object any longer. | |
Protected Member Functions | |
| virtual VertexBufferBase * | loadVertexBuffer () override |
| Creates OpenGL vertex buffer object and fills it with data. | |
| virtual IndexBufferBase * | loadIndexBuffer () override |
| Creates OpenGL index buffer object and fills it with data. | |
Protected Member Functions inherited from LibCarna::base::ManagedMeshBase | |
| ManagedMeshBase (unsigned int primitiveType, const VertexAttributes &va) | |
| Instantiates. | |
| virtual | ~ManagedMeshBase () |
| Deletes. | |
| void | acquireMesh () |
| Acquires mesh within current OpenGL context. | |
| void | releaseMesh () |
| Releases mesh within current OpenGL context. | |
| const MeshBase & | mesh () const |
| References mesh within current OpenGL context. | |
Protected Member Functions inherited from LibCarna::base::GeometryFeature | |
| GeometryFeature () | |
| Instantiates. | |
| virtual | ~GeometryFeature () |
| Deletes and logs an error if video resources are leaked. | |
Additional Inherited Members | |
Public Member Functions inherited from LibCarna::base::ManagedMeshBase | |
| virtual bool | controlsSameVideoResource (const GeometryFeature &) const override |
| Tells whether this instance maintains the same video resources like other. | |
| virtual ManagedMeshInterface * | acquireVideoResource () override |
Acquires the video resources from this GeometryFeature by returning new instance of a class derived from ManagedInterface, that realizes the RAII idiom. Refer to its documentation for details. May return nullptr if this GeometryFeature does not provide any video resources. | |
Public Member Functions inherited from LibCarna::base::GeometryFeature | |
| unsigned int | videoResourceAcquisitionsCount () const |
| Tells current number of video resource acquisitions. | |
| void | release () |
| Denotes that this object is no longer required and may be deleted as soon as it is valid to delete it. | |
| void | addTo (Geometry &sceneGraphNode, unsigned int role) |
| Puts this geometry feature on the sceneGraphNode. | |
| void | removeFrom (Geometry &sceneGraphNode) |
| Removes this geometry feature from the sceneGraphNode. | |
Public Attributes inherited from LibCarna::base::ManagedMeshBase | |
| const unsigned int | primitiveType |
Holds the primitive type, like GL_TRIANGLES, that should be used when rendering this mesh. | |
| const VertexAttributes | vertexAttributes |
| Holds the vertex format of the vertices contained by the vertex buffer. | |
Implements MeshBase class for particular VertexType and IndexType.
| VertexType | specifies the vertex buffer format. |
| VertexType | specifies the index buffer format. |
Definition at line 149 of file ManagedMesh.hpp.
Holds the element type of the index buffer.
Definition at line 170 of file ManagedMesh.hpp.
| typedef VertexType LibCarna::base::ManagedMesh< VertexType, IndexType >::Vertex |
Holds the element type of the vertex buffer.
Definition at line 169 of file ManagedMesh.hpp.
|
static |
Instantiates. Call release when you do not need the object any longer.
Definition at line 218 of file ManagedMesh.hpp.
|
overrideprotectedvirtual |
Creates OpenGL index buffer object and fills it with data.
Implements LibCarna::base::ManagedMeshBase.
Definition at line 209 of file ManagedMesh.hpp.
|
overrideprotectedvirtual |
Creates OpenGL vertex buffer object and fills it with data.
Implements LibCarna::base::ManagedMeshBase.
Definition at line 200 of file ManagedMesh.hpp.
Written by Leonid Kostrykin © 2021–2025. Based on Carna (© 2010-2016).
Documentation generated by Doxygen