15#ifndef GEOMETRYFEATURE_H_6014714286
16#define GEOMETRYFEATURE_H_6014714286
50 const std::unique_ptr< Details > pimpl;
Represents an association.
Represents an acquisition of the video resources from a particular GeometryFeature....
virtual ~ManagedInterface() noexcept(false)
Releases the video resources previously acquired from the managing geometryFeature.
ManagedInterface(GeometryFeature &gf)
Acquires the video resources from gf.
Represents "components" that are aggregated by Geometry objects. Closer description is given here.
void release()
Denotes that this object is no longer required and may be deleted as soon as it is valid to delete it...
void removeFrom(Geometry &sceneGraphNode)
Removes this geometry feature from the sceneGraphNode.
virtual ~GeometryFeature()
Deletes and logs an error if video resources are leaked.
virtual bool controlsSameVideoResource(const GeometryFeature &other) const =0
Tells whether this instance maintains the same video resources like other.
void addTo(Geometry &sceneGraphNode, unsigned int role)
Puts this geometry feature on the sceneGraphNode.
GeometryFeature()
Instantiates.
unsigned int videoResourceAcquisitionsCount() const
Tells current number of video resource acquisitions.
Defines scene graph leafs. Instances of this class represent visible geometry that can be rendered....
Defines LibCarna::base::noncopyable and NON_COPYABLE.
#define NON_COPYABLE
Marks the class that it is placed in as non-copyable.