Trax3 3.1.0
trax track library
Loading...
Searching...
No Matches
trax::TrackCollectionDecorator Class Reference

A decorator for TrackCollection. More...

#include <C:/Trend/Development/Trax3/Code/trax/collections/TrackCollection.h>

Inheritance diagram for trax::TrackCollectionDecorator:

Public Types

typedef TrackCollection ComponentType
 Type of the decoree.
Public Types inherited from trax::CollectionDecorator< ObjectIDDecorator< Decorator< TrackCollection > > >
typedef ObjectIDDecorator< Decorator< TrackCollection > >::InterfaceType InterfaceType
typedef ObjectIDDecorator< Decorator< TrackCollection > >::collection_type collection_type
typedef ObjectIDDecorator< Decorator< TrackCollection > >::value_type value_type
Public Types inherited from trax::ObjectIDDecorator< Decorator< TrackCollection > >
typedef Decorator< TrackCollection >::InterfaceType InterfaceType
 Type of the interface the decorator is decorating.
Public Types inherited from trax::Decorator< TrackCollection >
typedef TrackCollection InterfaceType
 Type of the interface the decorator is decorating.
Public Types inherited from trax::Collection< TrackCollection, TrackBuilder >
using iterator
using const_iterator
using collection_type
using value_type

Public Member Functions

 TrackCollectionDecorator (std::shared_ptr< TrackCollection > pTrackCollection)
 Constructs the decorator.
void SetFrame (const spat::Frame< Length, One > &frame) noexcept override
 Sets the frame of references for this TrackCollection relative to the Module.
const spat::Frame< Length, One > & GetFrame () const noexcept override
 Gets the frame of references for this TrackCollection relative to the Module.
Public Member Functions inherited from trax::CollectionDecorator< ObjectIDDecorator< Decorator< TrackCollection > > >
 CollectionDecorator (std::shared_ptr< InterfaceType > pComponent)
 Decorator constructor.
const char * TypeName () const noexcept override
IDType Add (std::shared_ptr< value_type > pItem) override
IDType AddRelaxed (std::shared_ptr< value_type > pItem) override
bool Remove (value_type *pItem, bool zeroIDs=false) override
int Take (collection_type &ct) override
void Clear () override
int Count () const override
collection_type::iterator begin () override
collection_type::const_iterator cbegin () const override
collection_type::iterator end () override
collection_type::const_iterator cend () const override
std::shared_ptr< value_type > GetFirst () const override
std::shared_ptr< value_type > GetNext (const std::shared_ptr< value_type > &pItem) const override
std::shared_ptr< value_type > GetLast () const override
std::shared_ptr< value_type > GetPrevious (const std::shared_ptr< value_type > &pItem) const override
std::shared_ptr< value_type > Get (IDType id) const override
void PushActive (IDType id) override
void PopActive () override
std::shared_ptr< value_type > GetActive () const override
bool IsMember (const value_type &item) const override
void ShiftIDs (int offset) override
IDType MaxID () const override
IDType MinID () const override
Public Member Functions inherited from trax::ObjectIDDecorator< Decorator< TrackCollection > >
 ObjectIDDecorator (std::shared_ptr< InterfaceType > pComponent)
 Decorator constructor.
const std::string & Reference (const std::string &name) const override
const std::vector< char const * > & ReferenceNames (const std::string &namePart) const override
IDType ID () const noexcept override
 ObjectIDDecorator member function forwarding.
Public Member Functions inherited from trax::Decorator< TrackCollection >
Decorator & operator= (const Decorator &)=delete
InterfaceTypeComponent () const noexcept
 Decorator member function forwarding.
Public Member Functions inherited from trax::Collection< TrackCollection, TrackBuilder >
virtual bool IsValid () const noexcept=0
 Checks whether the elements in this collection are valid.
virtual IDType Add (std::shared_ptr< TrackBuilder > pValue_Type)=0
 Adds an element to the container and returns its index in the container.
virtual IDType AddRelaxed (std::shared_ptr< TrackBuilder > pTraxType)=0
 Adds an element to the container and returns its index in the container. Does not throw.
virtual bool Remove (TrackBuilder *pValue_Type, bool zeroIDs=false)=0
 Removes an element from this container.
virtual int Take (TrackCollection &collection_Type)=0
 Moves all the items from another container to this container.
virtual std::shared_ptr< TrackBuilderGetNext (const std::shared_ptr< TrackBuilder > &pValue_Type) const=0
virtual std::shared_ptr< TrackBuilderGetPrevious (const std::shared_ptr< TrackBuilder > &pValue_Type) const=0
 Collection (const Collection &)=delete
Collection & operator= (const Collection &)=delete
virtual bool IsMember (const value_type &item) const=0
Public Member Functions inherited from trax::Identified< TrackCollection >
 Identified (const Identified &)=delete
Identified & operator= (const Identified &)=delete

Additional Inherited Members

Static Public Member Functions inherited from trax::TrackCollection
static dclspc std::unique_ptr< TrackCollectionMake () noexcept
 Makes a standard TrackCollection object.
Protected Member Functions inherited from trax::Decorator< TrackCollection >
void SetDecorator (InterfaceType *pDecorator) noexcept override
Protected Attributes inherited from trax::Decorator< TrackCollection >
std::shared_ptr< InterfaceTypem_pComponent
 Pointer to decorated object.
Protected Attributes inherited from trax::Collection< TrackCollection, TrackBuilder >
friend Decorator< Collection_Type >

Detailed Description

A decorator for TrackCollection.

With trax decorators can get used to augment trax objects with additional behaviour and services. Derive your own class from the decorator and overwrite its methods. Create your decorator with the trax object and supply it to the library instead of the original object.

Constructor & Destructor Documentation

◆ TrackCollectionDecorator()

trax::TrackCollectionDecorator::TrackCollectionDecorator ( std::shared_ptr< TrackCollection > pTrackCollection)
inline

Constructs the decorator.

Parameters
pTrackCollectionPointer to object to decorate.

Member Function Documentation

◆ GetFrame()

const spat::Frame< Length, One > & trax::TrackCollectionDecorator::GetFrame ( ) const
inlineoverridevirtualnoexcept

Gets the frame of references for this TrackCollection relative to the Module.

Implements trax::TrackCollection.

◆ SetFrame()

void trax::TrackCollectionDecorator::SetFrame ( const spat::Frame< Length, One > & frame)
inlineoverridevirtualnoexcept

Sets the frame of references for this TrackCollection relative to the Module.

The tracks added to this collection will give Module relative coordinates on transition, so this frame is included in the calculations.

Implements trax::TrackCollection.


The documentation for this class was generated from the following file: