#include <sprk.h>

Inheritance diagram for HPS::Animation:
HPS::Sprocket HPS::Object

Public Member Functions

Channel AddCameraPositionChannel (char const *in_name, PointSampler const &in_sampler)
 
Channel AddCameraTargetChannel (char const *in_name, PointSampler const &in_sampler)
 
Channel AddCameraUpChannel (char const *in_name, VectorSampler const &in_sampler)
 
Channel AddColorChannel (char const *in_name, KeyPath const &in_target, RGBColorSampler const &in_sampler)
 
Channel AddOpacityChannel (char const *in_name, KeyPath const &in_target, FloatSampler const &in_sampler)
 
Channel AddRotationChannel (char const *in_name, KeyPath const &in_target, QuaternionSampler const &in_sampler)
 
Channel AddScaleChannel (char const *in_name, KeyPath const &in_target, VectorSampler const &in_sampler)
 
Channel AddTranslationChannel (char const *in_name, KeyPath const &in_target, VectorSampler const &in_sampler)
 
Animation (Animation const &in_that)
 
void Assign (Animation const &in_that)
 
void Delete ()
 
bool Equals (Animation const &in_that) const
 
ChannelArray const & GetChannels () const
 
UTF8 const & GetName () const
 
HPS::Type ObjectType () const
 
bool operator!= (Animation const &in_that) const
 
Animationoperator= (Animation const &in_that)
 
Animationoperator= (Animation &&in_that)
 
bool operator== (Animation const &in_that) const
 
void RemoveChannel (Channel &in_channel)
 
- Public Member Functions inherited from HPS::Sprocket
Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::Animation
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

The Animation class is used to animate objects in the scene through the creation of one or more Channels. An Animation is owned by a Model, and as such needs to be created through the Model::CreateAnimation function. Animation objects are only valid for playback if they contain one or more Channel objects.

Member Function Documentation

◆ AddCameraPositionChannel()

Channel HPS::Animation::AddCameraPositionChannel ( char const *  in_name,
PointSampler const &  in_sampler 
)

Creates a Channel suitable for animating the camera's position and adds it to this Animation.

Parameters
in_nameA name used to identify this Channel.
in_samplerA sampler containing Point keyframes, describing the changes to be applied to in_target over time.
Returns
The Channel that was just added to this Animation.

◆ AddCameraTargetChannel()

Channel HPS::Animation::AddCameraTargetChannel ( char const *  in_name,
PointSampler const &  in_sampler 
)

Creates a Channel suitable for animating the camera's target and adds it to this Animation.

Parameters
in_nameA name used to identify this Channel.
in_samplerA sampler containing Point keyframes, describing the changes to be applied to in_target over time.
Returns
The Channel that was just added to this Animation.

◆ AddCameraUpChannel()

Channel HPS::Animation::AddCameraUpChannel ( char const *  in_name,
VectorSampler const &  in_sampler 
)

Creates a Channel suitable for animating the camera's up vector and adds it to this Animation.

Parameters
in_nameA name used to identify this Channel.
in_samplerA sampler containing Vector keyframes, describing the changes to be applied to in_target over time.
Returns
The Channel that was just added to this Animation.

◆ AddColorChannel()

Channel HPS::Animation::AddColorChannel ( char const *  in_name,
KeyPath const &  in_target,
RGBColorSampler const &  in_sampler 
)

Creates a Channel suitable for animating the target's color and adds it to this Animation.

Parameters
in_nameA name used to identify this Channel.
in_targetThe segment on which the changes described by this Channel will be applied during the Animation playback.
in_samplerA sampler containing RGBColor keyframes, describing the changes to be applied to in_target over time.
Returns
The Channel that was just added to this Animation.

◆ AddOpacityChannel()

Channel HPS::Animation::AddOpacityChannel ( char const *  in_name,
KeyPath const &  in_target,
FloatSampler const &  in_sampler 
)

Creates a Channel suitable for animating the target's opacity and adds it to this Animation.

Parameters
in_nameA name used to identify this Channel.
in_targetThe segment on which the changes described by this Channel will be applied during the Animation playback.
in_samplerA sampler containing float keyframes, describing the changes to be applied to in_target over time.
Returns
The Channel that was just added to this Animation.

◆ AddRotationChannel()

Channel HPS::Animation::AddRotationChannel ( char const *  in_name,
KeyPath const &  in_target,
QuaternionSampler const &  in_sampler 
)

Creates a Channel suitable for animating the target's rotation and adds it to this Animation.

Parameters
in_nameA name used to identify this Channel.
in_targetThe segment on which the changes described by this Channel will be applied during the Animation playback.
in_samplerA sampler containing Point keyframes, describing the changes to be applied to in_target over time.
Returns
The Channel that was just added to this Animation.

◆ AddScaleChannel()

Channel HPS::Animation::AddScaleChannel ( char const *  in_name,
KeyPath const &  in_target,
VectorSampler const &  in_sampler 
)

Creates a Channel suitable for animating the target's scale and adds it to this Animation.

Parameters
in_nameA name used to identify this Channel.
in_targetThe segment on which the changes described by this Channel will be applied during the Animation playback.
in_samplerA sampler containing Vector keyframes, describing the changes to be applied to in_target over time.
Returns
The Channel that was just added to this Animation.

◆ AddTranslationChannel()

Channel HPS::Animation::AddTranslationChannel ( char const *  in_name,
KeyPath const &  in_target,
VectorSampler const &  in_sampler 
)

Creates a Channel suitable for animating the target's position and adds it to this Animation.

Parameters
in_nameA name used to identify this Channel.
in_targetThe segment on which the changes described by this Channel will be applied during the Animation playback.
in_samplerA sampler containing Point keyframes, describing the changes to be applied to in_target over time.
Returns
The Channel that was just added to this Animation.

◆ Assign()

void HPS::Animation::Assign ( Animation const &  in_that)

Share the underlying smart-pointer of the Animation source.

Parameters
in_thatThe Animation source of the assignment.
Returns
A reference to this Animation.

◆ Delete()

void HPS::Animation::Delete ( )

Deletes this Animation.

◆ Equals()

bool HPS::Animation::Equals ( Animation const &  in_that) const

Check if the source Animation points to the same underlying impl as this Animation.

Parameters
in_thatThe source Animation to compare to this Animation.
Returns
true if the objects reference the same impl, false otherwise.

◆ ObjectType()

HPS::Type HPS::Animation::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns
The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from HPS::Object.

◆ operator!=()

bool HPS::Animation::operator!= ( Animation const &  in_that) const

Check if the source Animation points to a different impl than this Animation.

Parameters
in_thatThe source Animation to compare to this Animation.
Returns
true if the objects reference different impls, false otherwise.

◆ operator==()

bool HPS::Animation::operator== ( Animation const &  in_that) const

Check if the source Animation points to the same underlying impl as this Animation.

Parameters
in_thatThe source Animation to compare to this Animation.
Returns
true if the objects reference the same impl, false otherwise.

◆ RemoveChannel()

void HPS::Animation::RemoveChannel ( Channel in_channel)

Removes a Channel from this Animation and deletes it.

Parameters
in_channelThe channel to remove from this Animation.

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