template<UnsignedInt dimensions, class Derived, class T>
AbstractGroupedFeature class
Base for grouped features.
Contents
Used together with FeatureGroup.
Subclassing
Usage is via subclassing the feature using CRTP and typedef'ing FeatureGroup to accept only given type, e.g.:
class Drawable: public SceneGraph::AbstractGroupedFeature3D<Drawable> { // ... }; typedef SceneGraph::FeatureGroup3D<Drawable> DrawableGroup;
Explicit template specializations
The following specializations are explicitly compiled into SceneGraph library. For other specializations (e.g. using Double type) you have to use FeatureGroup.hpp implementation file to avoid linker errors. See also Template headers and implementation files for more information.
Base classes
-
template<UnsignedInt dimensions, class T>class AbstractFeature
- Base for object features.
Constructors, destructors, conversion operators
- AbstractGroupedFeature(AbstractObject<dimensions, T>& object, FeatureGroup<dimensions, Derived, T>* group = nullptr) explicit
- Constructor.
- ~AbstractGroupedFeature()
- Destructor.
Public functions
- auto group() -> FeatureGroup<dimensions, Derived, T>*
- Group this feature belongs to.
- auto group() const -> const FeatureGroup<dimensions, Derived, T>*
Function documentation
template<UnsignedInt dimensions, class Derived, class T>
Magnum:: SceneGraph:: AbstractGroupedFeature<dimensions, Derived, T>:: AbstractGroupedFeature(AbstractObject<dimensions, T>& object,
FeatureGroup<dimensions, Derived, T>* group = nullptr) explicit
Constructor.
Parameters | |
---|---|
object | Object this feature belongs to |
group | Group this feature belongs to |
Adds the feature to the object and to group, if specified.
template<UnsignedInt dimensions, class Derived, class T>
Magnum:: SceneGraph:: AbstractGroupedFeature<dimensions, Derived, T>:: ~AbstractGroupedFeature()
Destructor.
Removes the feature from object and from group, if it belongs to any.
template<UnsignedInt dimensions, class Derived, class T>
const FeatureGroup<dimensions, Derived, T>* Magnum:: SceneGraph:: AbstractGroupedFeature<dimensions, Derived, T>:: group() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.