MezzanineEngine 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Types | List of all members
Mezzanine::TrackLooped< InterpolatorType > Class Template Reference

A track that keeps an extra data point in the track to make sure it loops. More...

#include <track.h>

+ Inheritance diagram for Mezzanine::TrackLooped< InterpolatorType >:
+ Collaboration diagram for Mezzanine::TrackLooped< InterpolatorType >:

Public Types

typedef std::vector
< InterpolatableType
DataContainerType
 The type of the Container storing the interpolatable data. This is a single point to change all the tracks.
 
typedef
InterpolatorType::InterpolatableType 
InterpolatableType
 The type this class and the interpolator it uses works with.
 
typedef SmoothTrackIterator
< InterpolatableType
SmoothIteratorType
 An iterator than can take an arbitrary amount of steps by interpolation.
 
- Public Types inherited from Mezzanine::Track< InterpolatorType >
typedef std::vector
< InterpolatableType
DataContainerType
 The type of the Container storing the interpolatable data. This is a single point to change all the tracks.
 
typedef
InterpolatorType::InterpolatableType 
InterpolatableType
 The type this class and the interpolator it uses works with.
 
typedef
ParentType::SmoothIteratorType 
SmoothIteratorType
 An iterator than can take an arbitrary amount of steps by interpolation.
 
- Public Types inherited from Mezzanine::TrackBase< InterpolatorType >
typedef InterpolatorType::Storage DataContainerType
 The type of the internal container storing the interpolatable data. This is a single point to change all the tracks. More...
 
typedef
InterpolatorType::InterpolatableType 
InterpolatableType
 The type this class and the interpolator it uses works with.
 
typedef SmoothTrackIterator
< InterpolatorType > 
SmoothIteratorType
 An iterator than can take an arbitrary amount of steps by interpolation.
 

Public Member Functions

 TrackLooped (typename DataContainerType::iterator Begin, typename DataContainerType::iterator End)
 
 TrackLooped (const DataContainerType &DataSet)
 
virtual void push_back (const InterpolatableType &AddedValue)
 Add another data point to the end of the track. More...
 
- Public Member Functions inherited from Mezzanine::Track< InterpolatorType >
 Track (typename DataContainerType::iterator Begin, typename DataContainerType::iterator End)
 
 Track (const DataContainerType &DataSet)
 
virtual InterpolatableType GetInterpolated (Real Percentage) const
 Get a value between the beginning and the end. More...
 
- Public Member Functions inherited from Mezzanine::TrackBase< InterpolatorType >
 TrackBase (typename DataContainerType::iterator Begin, typename DataContainerType::iterator End)
 
 TrackBase (const DataContainerType &DataSet)
 
virtual void Add (const InterpolatableType &AddedValue)
 Add another data point to the end of the track. More...
 
virtual SmoothIteratorType begin (Integer Steps=100) const
 Get an Smooth iterator to the beginning of the track. More...
 
virtual SmoothIteratorType Begin (Integer Steps=100) const
 Get an Smooth iterator to the beginning of the track. More...
 
void clear ()
 Remove all the points from the track.
 
void Clear ()
 Remove all the points from the track. More...
 
virtual SmoothIteratorType end (Integer Steps=0) const
 Get an Smooth iterator to the end (not one past) of the track. More...
 
virtual SmoothIteratorType End (Integer Steps=0) const
 Get an Smooth iterator to the end (not one past) of the track. More...
 
size_t size () const
 Get the amount of stored DataPoints. More...
 
size_t Size () const
 Get the amount of stored DataPoints. More...
 

Protected Types

typedef TrackBase
< InterpolatorType > 
BaseType
 The base most class of this type.
 
typedef Track< InterpolatorType > ParentType
 The immediate parent type of this class.
 
- Protected Types inherited from Mezzanine::Track< InterpolatorType >
typedef TrackBase
< InterpolatorType > 
ParentType
 

Additional Inherited Members

- Protected Attributes inherited from Mezzanine::TrackBase< InterpolatorType >
DataContainerType DataPoints
 The underlying container of Discrete datapoints.
 

Detailed Description

template<typename InterpolatorType>
class Mezzanine::TrackLooped< InterpolatorType >

A track that keeps an extra data point in the track to make sure it loops.

when Add or push_back is called and there are 2 or more points the track, this seamlessly adds a copy of the first data point to the end of the track. When Iterating with a Smooth iterator this creates the impression of a loop.

Definition at line 214 of file track.h.

Member Function Documentation

template<typename InterpolatorType >
virtual void Mezzanine::TrackLooped< InterpolatorType >::push_back ( const InterpolatableType AddedValue)
inlinevirtual

Add another data point to the end of the track.

Parameters
AddedValueThe data point to add to theend of the track.
Note
Name for compatibility with std templates.

Reimplemented from Mezzanine::TrackBase< InterpolatorType >.

Definition at line 245 of file track.h.


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