GlsAnimation Library  1.0.6
Provides classes and functions to support animating GL Studio objects programmatically or with script files
Classes | Typedefs | Functions | Variables
gls_animation.h File Reference

The GL Studio animation classes. More...

#include <string>
#include <vector>
#include "gls_keyframe.h"
#include "weak_reference.h"

Go to the source code of this file.

Classes

class  disti::GlsAnimation
 Base class for all animations. More...
 
class  disti::GlsKeyframeAnimation
 
class  disti::GlsAnimationCollection
 Contains a set of animations that are played in parallel with the SetKey() method. More...
 
class  disti::GlsAnimationReversalAdapter
 
class  disti::GlsAnimationSubsetAdapter
 
struct  disti::Detail::enable_if< B, T >
 Create our own version of <type_traits> meta-function which is not available on all our target platforms. More...
 
struct  disti::Detail::enable_if< true, T >
 Create our own version of <type_traits> function which is not available on all our target platforms. More...
 
struct  disti::Detail::is_same< T, U >
 Create our own version of <type_traits> meta-function which is not available on all our target platforms. More...
 
struct  disti::Detail::is_same< T, T >
 Create our own version of <type_traits> meta-function which is not available on all our target platforms. More...
 
struct  disti::Detail::is_same2< T, U, V >
 For easier reading, test whether T is either the same type as U or the same as V. More...
 
struct  disti::Detail::is_convertible< T, U >
 Replacement for std::is_convertible, adapted from Loki 0.1.7. More...
 
struct  disti::Detail::is_convertible< T, T >
 
struct  disti::Detail::is_convertible< void, T >
 
struct  disti::Detail::is_convertible< T, void >
 
struct  disti::Detail::is_convertible< void, void >
 

Typedefs

typedef GlsAnimationReversalAdapter disti::GlsAnimationReverser
 Alias for backwards compatibility.
 

Functions

GlsAnimation::Ptr disti::LoadAnimationScript (const std::string &filename)
 Loads an animation sequence from a script file. More...
 
GlsAnimation::Ptr disti::LoadAnimationScriptFromString (const std::string &script)
 Loads an animation sequence from a script string. More...
 
template<class Value >
GlsKeyframeInterpolator< Value >::Ptr disti::Detail::CreateSlerp (typename enable_if< is_same2< Value, Vector, GlsQuaternionD >::value >::type *=0)
 
template<class Value >
GlsKeyframeInterpolator< Value >::Ptr disti::Detail::CreateSlerp (typename enable_if<!is_same2< Value, Vector, GlsQuaternionD >::value >::type *=0)
 
template<class Value >
GlsKeyframeInterpolator< Value >::Ptr disti::CreateInterpolator (const std::string &name, typename Detail::enable_if<!Detail::is_same2< Value, glsColor, std::string >::value >::type *=0)
 
template<class Value >
GlsKeyframeInterpolator< Value >::Ptr disti::CreateInterpolator (const std::string &name, typename Detail::enable_if< Detail::is_same< Value, glsColor >::value >::type *=0)
 
template<class Value >
GlsKeyframeInterpolator< Value >::Ptr disti::CreateInterpolator (const std::string &name, typename Detail::enable_if< Detail::is_same< Value, std::string >::value >::type *=0)
 
template<class Value >
GlsKeyframeCurve< Value >::Ptr disti::CreateTweenerCurve (const Value &begin, const Value &end, const GlsAnimation::Key &duration, const std::string &tweenerName)
 
void disti::SetGlsAnimationParentChildRelationship (DisplayObject *parent, DisplayObject *child)
 Establishes a parent-child relationship like that in Adobe After Effects that does not exist in the GL Studio geometry hierarchy and should not be introduced there because that hierarchy was created and may need to be recreated programmatically (e.g., by importing a PSD file). More...
 
void disti::DumpResourceNames (DisplayFrame *const displayFrame, std::ostream &stream)
 

Variables

const std::string disti::g_linearInterpTag = "linear"
 Linear interpolator tag.
 
const std::string disti::g_gatedInterpTag = "gated"
 Gated interpolator tag.
 
const std::string disti::g_slerpTag = "slerp"
 Spherical Linear Interpolation tag (only supported by Vector and Quaternion)
 
const std::string disti::g_quadInTag = "quadraticIn"
 Quadratic In interpolator tag.
 
const std::string disti::g_quadOutTag = "quadraticOut"
 Quadratic Out interpolator tag.
 
const std::string disti::g_quadInOUtTag = "quadraticInAndOut"
 Quadratic In and Out interpolator tag.
 
const std::string disti::g_cubeInTag = "cubicIn"
 Cubic In interpolator tag.
 
const std::string disti::g_cubeOutTag = "cubicOut"
 Cubic Out interpolator tag.
 
const std::string disti::g_cubeInOutTag = "cubicInAndOut"
 Cubic In and Out interpolator tag.
 
const std::string disti::g_quartInTag = "quarticIn"
 Quartic In interpolator tag.
 
const std::string disti::g_quartOutTag = "quarticOut"
 Quartic Out interpolator tag.
 
const std::string disti::g_quartInOutTag = "quarticInAndOut"
 Quartic In and Out interpolator tag.
 
const std::string disti::g_quintInTag = "quinticIn"
 Quintic In interpolator tag.
 
const std::string disti::g_quintOutTag = "quinticOut"
 Quintic Out interpolator tag.
 
const std::string disti::g_quintInOutTag = "quinticInAndOut"
 Quintic In and Out interpolator tag.
 
const std::string disti::g_sinInTag = "sinusoidalIn"
 Sinusoidal In interpolator tag.
 
const std::string disti::g_sinOutTag = "sinusoidalOut"
 Sinusoidal Out interpolator tag.
 
const std::string disti::g_sinInOutTag = "sinusoidalInAndOut"
 Sinusoidal In and Out interpolator tag.
 
const std::string disti::g_expoInTag = "exponentIn"
 Exponent In interpolator tag.
 
const std::string disti::g_expoOutTag = "exponentOut"
 Exponent Out interpolator tag.
 
const std::string disti::g_expoInOutTag = "exponentInAndOut"
 Exponent In and Out interpolator tag.
 
const std::string disti::g_circleInTag = "circularIn"
 Circular In interpolator tag.
 
const std::string disti::g_circleOutTag = "circularOut"
 Circular Out interpolator tag.
 
const std::string disti::g_circleInOutTag = "circularInAndOut"
 Circular In and Out interpolator tag.
 
const std::string disti::g_elasticInTag = "elasticIn"
 Elastic In interpolator tag.
 
const std::string disti::g_elasticOutTag = "elasticOut"
 Elastic Out interpolator tag.
 
const std::string disti::g_elasticInOutTag = "elasticInAndOut"
 Elastic In and Out interpolator tag.
 
const std::string disti::g_bounceInTag = "bounceIn"
 Bounce In interpolator tag.
 
const std::string disti::g_bounceOutTag = "bounceOut"
 Bounce Out interpolator tag.
 
const std::string disti::g_bounceInOutTag = "bounceInAndOut"
 Bounce In and Out interpolator tag.
 
const std::string disti::g_backInTag = "backIn"
 Back In interpolator tag.
 
const std::string disti::g_backOutTag = "backOut"
 Back Out interpolator tag.
 
const std::string disti::g_backInOutTag = "backInAndOut"
 Back In and Out interpolator tag.
 

Detailed Description

The GL Studio animation classes.

Version
1.0.6
Copyright Information

Copyright (c) 2017 by The DiSTI Corporation.
11301 Corporate Blvd; Suite 100
Orlando, Florida 32817
USA

All rights reserved.

This Software contains proprietary trade secrets of DiSTI and may not be reproduced, in whole or part, in any form, or by any means of electronic, mechanical, or otherwise, without the written permission of DiSTI. Said permission may be derived through the purchase of applicable DiSTI product licenses which detail the distribution rights of this content and any Derivative Works based on this or other copyrighted DiSTI Software.

NO WARRANTY. THE SOFTWARE IS PROVIDED "AS-IS," WITHOUT WARRANTY OF ANY KIND, AND ANY USE OF THIS SOFTWARE PRODUCT IS AT YOUR OWN RISK. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, DISTI AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE.

LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL DISTI OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF DISTI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. DISTI'S ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY SHALL NOT EXCEED FIVE DOLLARS (US$5.00).

The aforementioned terms and restrictions are governed by the laws of the State of Florida and the United States of America.