![]() |
Carna Version 3.3.3
|
Represents "components" that are aggregated by Geometry objects. Closer description is given here. More...
#include <GeometryFeature.h>
Classes | |
class | ManagedInterface |
Represents an acquisition of the video resources from a particular GeometryFeature. This acquisition realizes the RAII idiom. More... | |
Public Member Functions | |
unsigned int | videoResourceAcquisitionsCount () const |
Tells current number of video resource acquisitions. | |
virtual bool | controlsSameVideoResource (const GeometryFeature &other) const =0 |
Tells whether this instance maintains the same video resources like other. | |
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. | |
virtual ManagedInterface * | acquireVideoResource ()=0 |
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. | |
Protected Member Functions | |
GeometryFeature () | |
Instantiates. | |
virtual | ~GeometryFeature () |
Deletes and logs an error if video resources are leaked. | |
Represents "components" that are aggregated by Geometry objects. Closer description is given here.
Definition at line 41 of file GeometryFeature.h.
|
pure virtual |
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.
Implemented in Carna::base::ManagedMeshBase, Carna::base::ManagedTexture3D, and Carna::base::Material.
Puts this geometry feature on the sceneGraphNode.
This is equivalent to Geometry::putFeature.
|
pure virtual |
Tells whether this instance maintains the same video resources like other.
Implemented in Carna::base::ManagedMeshBase, Carna::base::ManagedTexture3D, Carna::base::BufferedVectorFieldTexture< BufferedVectorFieldType >, and Carna::base::Material.
void Carna::base::GeometryFeature::release | ( | ) |
Denotes that this object is no longer required and may be deleted as soon as it is valid to delete it.
It will be deleted as soon as the following conditions become true, which may also be immediately:
Removes this geometry feature from the sceneGraphNode.
This is equivalent to Geometry::removeFeature.
Documentation generated by Doxygen