template<UnsignedInt dimensions, class Derived, class T>
Magnum::SceneGraph::AbstractGroupedFeature class

Base for grouped features.

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<dimensions, T>
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.