12#ifndef GEOMETRYFEATURE_H_6014714286
13#define GEOMETRYFEATURE_H_6014714286
47 const std::unique_ptr< Details > pimpl;
Represents an association.
Represents an acquisition of the video resources from a particular GeometryFeature....
virtual ~ManagedInterface()
Releases the video resources previously acquired from the managing geometryFeature.
GeometryFeature & geometryFeature
References the GeometryFeature that manages the video resources that this object interfaces.
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...
unsigned int videoResourceAcquisitionsCount() const
Tells current number of video resource acquisitions.
virtual ManagedInterface * acquireVideoResource()=0
Acquires the video resources from this GeometryFeature by returning new instance of a class derived f...
virtual bool controlsSameVideoResource(const GeometryFeature &other) const =0
Tells whether this instance maintains the same video resources like other.
void removeFrom(Geometry &sceneGraphNode)
Removes this geometry feature from the sceneGraphNode.
void addTo(Geometry &sceneGraphNode, unsigned int role)
Puts this geometry feature on the sceneGraphNode.
virtual ~GeometryFeature()
Deletes and logs an error if video resources are leaked.
GeometryFeature()
Instantiates.
Defines scene graph leafs. Instances of this class represent visible geometry that can be rendered....
#define NON_COPYABLE
Features class it is placed in as non-copyable.