HGamer3D-Ogre-Binding-0.1.8: Library to enable 3D game development for Haskell - Ogre Bindings

Safe HaskellSafe-Infered

HGamer3D.Bindings.Ogre.ClassAnimation

Synopsis

Documentation

deleteSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance which is going to be deleted.

-> IO () 

getNameSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> IO String 

Gets the name of this animation.

getLengthSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> IO Float 

Gets the total length of the animation.

setLengthSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Float

len

-> IO () 

Creates a NodeAnimationTrackNode

Sets the length of the animation. Changing the length of an animation may invalidate existing AnimationState

createNodeTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle - Handle to give the track, used for accessing the track later. Must be unique within this Animation.

-> IO HG3DClass 

createNumericTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle - Handle to give the track, used for accessing the track later. Must be unique within this Animation.

-> IO HG3DClass 

Creates a NumericAnimationTrack

createVertexTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle - Handle to give the track, used for accessing the track later. Must be unique within this Animation, and is used to identify the target. For example when applied to a Mesh, the handle must reference the index of the geometry being modified; 0 for the shared geometry, and 1+ for SubMesh geometry with the same index-1.

-> EnumVertexAnimationType

animType - Either morph or pose animation,

-> IO HG3DClass 

Creates a VertexAnimationTrack

createNodeTrack2Source

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle - Numeric handle to give the track, used for accessing the track later. Must be unique within this Animation.

-> HG3DClass

node - A pointer to the Node object which will be affected by this track

-> IO HG3DClass 

Creates a new AnimationTrackNodeThis method creates a standard AnimationTrackNode

getNumNodeTracksSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> IO Int 

Gets the number of NodeAnimationTrack

getNodeTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle

-> IO HG3DClass 

Gets a node track by it's handle.

hasNodeTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle

-> IO Bool 

Does a track exist with the given handle?

getNumNumericTracksSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> IO Int 

Gets the number of NumericAnimationTrack

getNumericTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle

-> IO HG3DClass 

Gets a numeric track by it's handle.

hasNumericTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle

-> IO Bool 

Does a track exist with the given handle?

getNumVertexTracksSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> IO Int 

Gets the number of VertexAnimationTrack

getVertexTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle

-> IO HG3DClass 

Gets a Vertex track by it's handle.

hasVertexTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle

-> IO Bool 

Does a track exist with the given handle?

destroyNodeTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle

-> IO () 

Destroys the numeric track with the given handle.

Destroys the node track with the given handle.

destroyNumericTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle

-> IO () 

Destroys the Vertex track with the given handle.

destroyVertexTrackSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Int

handle

-> IO () 

Removes and destroys all tracks making up this animation.

destroyAllTracksSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> IO () 

Removes and destroys all tracks making up this animation.

destroyAllNodeTracksSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> IO () 

Removes and destroys all tracks making up this animation.

destroyAllNumericTracksSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> IO () 

Removes and destroys all tracks making up this animation.

destroyAllVertexTracksSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> IO () 

Applies an animation given a specific time point and weight. Where you have associated animation tracks with objects, you can easily apply an animation to those objects by calling this method.

applySource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Float

timePos - The time position in the animation to apply.

-> Float

weight - The influence to give to this track, 1.0 for full influence, less to blend with other animations.

-> Float

scale - The scale to apply to translations and scalings, useful for adapting an animation to a different size target.

-> IO () 

Applies all node tracks given a specific time point and weight to the specified node. It does not consider the actual node tracks are attached to. As such, it resembles the apply method for a given skeleton (see below).

applyToNodeSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> HG3DClass

node

-> Float

timePos - The time position in the animation to apply.

-> Float

weight - The influence to give to this track, 1.0 for full influence, less to blend with other animations.

-> Float

scale - The scale to apply to translations and scalings, useful for adapting an animation to a different size target.

-> IO () 

Applies all node tracks given a specific time point and weight to a given skeleton. Where you have associated animation tracks with Node

apply2Source

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> HG3DClass

skeleton

-> Float

timePos - The time position in the animation to apply.

-> Float

weight - The influence to give to this track, 1.0 for full influence, less to blend with other animations.

-> Float

scale - The scale to apply to translations and scalings, useful for adapting an animation to a different size target.

-> IO () 

Applies all vertex tracks given a specific time point and weight to a given entity.

apply4Source

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> HG3DClass

entity - The Entity to which this animation should be applied

-> Float

timePos - The time position in the animation to apply.

-> Float

weight - The weight at which the animation should be applied (only affects pose animation)

-> Bool

software - Whether to populate the software morph vertex data

-> Bool

hardware - Whether to populate the hardware morph vertex data

-> IO () 

Tells the animation how to interpolate between keyframes. By default, animations normally interpolate linearly between keyframes. This is fast, but when animations include quick changes in direction it can look a little unnatural because directions change instantly at keyframes. An alternative is to tell the animation to interpolate along a spline, which is more expensive in terms of calculation time, but looks smoother because major changes in direction are distributed around the keyframes rather than just at the keyframe. You can also change the default animation behaviour by calling Animation::setDefaultInterpolationMode

setInterpolationModeSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> EnumAnimationInterpolationMode

im

-> IO () 

Gets the current interpolation mode of this animation. See setInterpolationMode for more info.

getInterpolationModeSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> IO EnumAnimationInterpolationMode 

setRotationInterpolationModeSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> EnumAnimationRotationInterpolationMode

im

-> IO () 

Gets the current rotation interpolation mode of this animation. See setRotationInterpolationMode for more info.

Tells the animation how to interpolate rotations. By default, animations interpolate linearly between rotations. This is fast but not necessarily completely accurate. If you want more accurate interpolation, use spherical interpolation, but be aware that it will incur a higher cost. You can also change the default rotation behaviour by calling Animation::setDefaultRotationInterpolationMode

getRotationInterpolationModeSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> IO EnumAnimationRotationInterpolationMode 

optimiseSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> Bool

discardIdentityNodeTracks - If true, discard identity node tracks.

-> IO () 

Clone this animation. The pointer returned from this method is the only one recorded, thus it is up to the caller to arrange for the deletion of this object.

Optimise an animation by removing unnecessary tracks and keyframes. When you export an animation, it is possible that certain tracks have been keyframed but actually don't include anything useful - the keyframes include no transformation. These tracks can be completely eliminated from the animation and thus speed up the animation. In addition, if several keyframes in a row have the same value, then they are just adding overhead and can be removed. Since track-less and identity track has difference behavior for accumulate animation blending if corresponding track presenting at other animation that is non-identity, and in normally this method didn't known about the situation of other animation, it can't deciding whether or not discards identity tracks. So there have a parameter allow you choose what you want, in case you aren't sure how to do that, you should use Skeleton::optimiseAllAnimations

cloneSource

Arguments

:: HG3DClass

classpointer - pointer of Class instance from which this methods is called.

-> String

newName

-> IO HG3DClass 

setDefaultInterpolationModeSource

Gets the default interpolation mode for all animations.

Sets the default animation interpolation mode. Every animation created after this option is set will have the new interpolation mode specified. You can also change the mode per animation by calling the setInterpolationMode method on the instance in question.

setDefaultRotationInterpolationModeSource

Gets the default rotation interpolation mode for all animations.

Sets the default rotation interpolation mode. Every animation created after this option is set will have the new interpolation mode specified. You can also change the mode per animation by calling the setInterpolationMode method on the instance in question.