IMS2  Pre-Alpha
An Orbiter add-on to allow on-runtime construction of spacecraft from predefined modules
IMS_Animation_Sequential Class Reference

A sequential animation has a clear begining and end and can move in both directions between them. More...

Inheritance diagram for IMS_Animation_Sequential:
IMS_Animation_Base

Public Member Functions

 IMS_Animation_Sequential (ANIMATIONDATA *_data)
 
virtual AnimationEvent_BasePropagateAnimation (double simdt)
 propagates the animation and returns an AnimationFinishedEvent if the animation stoped. More...
 
- Public Member Functions inherited from IMS_Animation_Base
 IMS_Animation_Base (ANIMATIONDATA *_data)
 
virtual void AddAnimationToVessel (IMS2 *_vessel, int _meshindex, MATRIX3 moduleorientation, VECTOR3 modulelocalpos)
 Adds the animation to the vessel using the orbiter API. More...
 
virtual void RemoveAnimationFromVessel ()
 Removes the animation from the vessel. More...
 
virtual void InitStateFromScenario (vector< string > &line)
 Initialises the animation state from a scenario line. More...
 
virtual AnimationEvent_BaseStartAnimation (StartAnimationEvent *startevent)
 Starts the animation. More...
 
virtual void ModifyAnimation (ModifyAnimationEvent *modifyevent)
 Modifies an animation, usually its speed and direction. More...
 
virtual void StopAnimation ()
 Stops the animation. More...
 
bool IsRunning ()
 
virtual string GetScenarioLine ()
 
virtual void DisableAnimation ()
 Disables updating of the animation state in orbiter. More...
 
virtual void EnableAnimation ()
 Enables updating of the animation state in orbiter. More...
 
double GetState ()
 
void GetDependencies (vector< ANIMATIONDEPENDENCY > &OUT_dependencies)
 Fills the passed reference with the dependencies of this animation.
 

Additional Inherited Members

- Protected Member Functions inherited from IMS_Animation_Base
MGROUP_ROTATE * createRotationComponent (ANIMCOMPONENTDATA *comp, VECTOR3 modulelocalpos, MATRIX3 moduleorientation)
 Creates a rotation animation component that can be added to the animation on the vessel. More...
 
MGROUP_TRANSLATE * createTranslationComponent (ANIMCOMPONENTDATA *comp, VECTOR3 modulelocalpos, MATRIX3 moduleorientation)
 Creates a translation animation component that can be added to the animation on the vessel. More...
 
MGROUP_SCALE * createScaleComponent (ANIMCOMPONENTDATA *comp, VECTOR3 modulelocalpos, MATRIX3 moduleorientation)
 Creates a scale animation component that can be added to the animation on the vessel. More...
 
- Protected Attributes inherited from IMS_Animation_Base
IMS2 * vessel
 The vessel this animation is currently a part of.
 
ANIMATIONDATAdata
 Pointer to the data defining this animation.
 
double speed = 0.0
 The current speed/direction of the animation.
 
int orbiterid
 The orbiter-generated identifier for this animation.
 
double state = 0.0
 The current state of the animation (>= 0.0 <= 1.0)
 
int meshindex = 0
 The orbiter generated index of the mesh this animation acts on.
 
double maxspeed = 1e12
 The maximum speed the animation can have. Effects not yet implemented.
 
vector< UINT * > animationgroups
 List meshgroup indices this animation acts on.
 
vector< ANIMATIONCOMPONENT_HANDLE > animationcomponents
 List of orbiter-internal components this animation consists of.
 
bool enabled = false
 An animation is disabled when the vessel visual doesn't exist. state still gets propagated, but the animation state on the vessel doesn't get updated.
 

Detailed Description

A sequential animation has a clear begining and end and can move in both directions between them.

Constructor & Destructor Documentation

IMS_Animation_Sequential::IMS_Animation_Sequential ( ANIMATIONDATA _data)
Parameters
_dataPointer to the data defining this animation

Member Function Documentation

AnimationEvent_Base * IMS_Animation_Sequential::PropagateAnimation ( double  simdt)
virtual

propagates the animation and returns an AnimationFinishedEvent if the animation stoped.

propagation behavior has to be implemented by child classes.

Parameters
simdtThe time elapsed since the last frame

Implements IMS_Animation_Base.


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