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::Track< InterpolatorType > Class Template Reference
+ Inheritance diagram for Mezzanine::Track< InterpolatorType >:
+ Collaboration diagram for Mezzanine::Track< 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
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

 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...
 
virtual void push_back (const InterpolatableType &AddedValue)
 Add another data point to the end 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 > 
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::Track< InterpolatorType >

Definition at line 170 of file track.h.

Member Function Documentation

template<typename InterpolatorType >
virtual InterpolatableType Mezzanine::Track< InterpolatorType >::GetInterpolated ( Real  Percentage) const
inlinevirtual

Get a value between the beginning and the end.

in derived classes this will perform some simple(hopefully fast) calculation to get interpolated value between the beginning and the end fo the track. Depending on algorithm this may or may not respect the nodes.

Parameters
PercentageA value from 0 to 1 indicating when between the beginning and end the point should be.
Returns
An InterpolatableType

Implements Mezzanine::TrackBase< InterpolatorType >.

Definition at line 198 of file track.h.


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