Safe Haskell | Safe-Infered |
---|
- delete :: HG3DClass -> IO ()
- createBone :: HG3DClass -> IO HG3DClass
- createBone2 :: HG3DClass -> Int -> IO HG3DClass
- createBone3 :: HG3DClass -> String -> IO HG3DClass
- createBone4 :: HG3DClass -> String -> Int -> IO HG3DClass
- getNumBones :: HG3DClass -> IO Int
- getRootBone :: HG3DClass -> IO HG3DClass
- getBone :: HG3DClass -> Int -> IO HG3DClass
- getBone2 :: HG3DClass -> String -> IO HG3DClass
- hasBone :: HG3DClass -> String -> IO Bool
- setBindingPose :: HG3DClass -> IO ()
- reset :: HG3DClass -> Bool -> IO ()
- createAnimation :: HG3DClass -> String -> Float -> IO HG3DClass
- hasAnimation :: HG3DClass -> String -> IO Bool
- removeAnimation :: HG3DClass -> String -> IO ()
- setAnimationState :: HG3DClass -> HG3DClass -> IO ()
- getNumAnimations :: HG3DClass -> IO Int
- getAnimation2 :: HG3DClass -> Int -> IO HG3DClass
- getBlendMode :: HG3DClass -> IO EnumSkeletonAnimationBlendMode
- setBlendMode :: HG3DClass -> EnumSkeletonAnimationBlendMode -> IO ()
- optimiseAllAnimations :: HG3DClass -> Bool -> IO ()
- addLinkedSkeletonAnimationSource :: HG3DClass -> String -> Float -> IO ()
- removeAllLinkedSkeletonAnimationSources :: HG3DClass -> IO ()
- getManualBonesDirty :: HG3DClass -> IO Bool
- hasManualBones :: HG3DClass -> IO Bool
- delete'_ :: HG3DClassPtr -> IO ()
- createBone'_ :: HG3DClassPtr -> HG3DClassPtr -> IO ()
- createBone2'_ :: HG3DClassPtr -> CUShort -> HG3DClassPtr -> IO ()
- createBone3'_ :: HG3DClassPtr -> Ptr CChar -> HG3DClassPtr -> IO ()
- createBone4'_ :: HG3DClassPtr -> Ptr CChar -> CUShort -> HG3DClassPtr -> IO ()
- getNumBones'_ :: HG3DClassPtr -> Ptr CUShort -> IO ()
- getRootBone'_ :: HG3DClassPtr -> HG3DClassPtr -> IO ()
- getBone'_ :: HG3DClassPtr -> CUShort -> HG3DClassPtr -> IO ()
- getBone2'_ :: HG3DClassPtr -> Ptr CChar -> HG3DClassPtr -> IO ()
- hasBone'_ :: HG3DClassPtr -> Ptr CChar -> Ptr CInt -> IO ()
- setBindingPose'_ :: HG3DClassPtr -> IO ()
- reset'_ :: HG3DClassPtr -> CInt -> IO ()
- createAnimation'_ :: HG3DClassPtr -> Ptr CChar -> CFloat -> HG3DClassPtr -> IO ()
- hasAnimation'_ :: HG3DClassPtr -> Ptr CChar -> Ptr CInt -> IO ()
- removeAnimation'_ :: HG3DClassPtr -> Ptr CChar -> IO ()
- setAnimationState'_ :: HG3DClassPtr -> HG3DClassPtr -> IO ()
- getNumAnimations'_ :: HG3DClassPtr -> Ptr CUShort -> IO ()
- getAnimation2'_ :: HG3DClassPtr -> CUShort -> HG3DClassPtr -> IO ()
- getBlendMode'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- setBlendMode'_ :: HG3DClassPtr -> CInt -> IO ()
- optimiseAllAnimations'_ :: HG3DClassPtr -> CInt -> IO ()
- addLinkedSkeletonAnimationSource'_ :: HG3DClassPtr -> Ptr CChar -> CFloat -> IO ()
- removeAllLinkedSkeletonAnimationSources'_ :: HG3DClassPtr -> IO ()
- getManualBonesDirty'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- hasManualBones'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
Documentation
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> IO HG3DClass |
Creates a brand new BoneSkeletonThis method creates an unattached new BoneBoneBone::createChildNote that this method automatically generates a handle for the bone, which you can retrieve using Bone::getHandleBone
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Int | handle - The handle to give to this new bone - must be unique within this skeleton. You should also ensure that all bone handles are eventually contiguous (this is to simplify their compilation into an indexed array of transformation matrices). For this reason it is advised that you use the simpler createBone method which automatically assigns a sequential handle starting from 0. |
-> IO HG3DClass |
Creates a brand new BoneSkeletonThis method creates an unattached new BoneBoneBone::createChild
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name - The name to give to this new bone - must be unique within this skeleton. Note that the way OGRE looks up bones is via a numeric handle, so if you name a Bone this way it will be given an automatic sequential handle. The name is just for your convenience, although it is recommended that you only use the handle to retrieve the bone in performance-critical code. |
-> IO HG3DClass |
Creates a brand new BoneSkeletonThis method creates an unattached new BoneBoneBone::createChild
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name - The name to give to this new bone - must be unique within this skeleton. |
-> Int | handle - The handle to give to this new bone - must be unique within this skeleton. |
-> IO HG3DClass |
Creates a brand new BoneSkeletonThis method creates an unattached new BoneBoneBone::createChild
Returns the number of bones in this skeleton.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> IO HG3DClass |
Gets the root bone of the skeleton: deprecated in favour of getRootBoneIterator. The system derives the root bone the first time you ask for it. The root bone is the only bone in the skeleton which has no parent. The system locates it by taking the first bone in the list and going up the bone tree until there are no more parents, and saves this top bone as the root. If you are building the skeleton manually using createBone then you must ensure there is only one bone which is not a child of another bone, otherwise your skeleton will not work properly. If you use createBone only once, and then use Bone::createChild
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Int | handle |
-> IO HG3DClass |
Gets a bone by it's handle.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name |
-> IO HG3DClass |
Gets a bone by it's name.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name |
-> IO Bool |
Returns whether this skeleton contains the named bone.
Resets the position and orientation of all bones in this skeleton to their original binding position. A skeleton is bound to a mesh in a binding pose. Bone
Sets the current position / orientation to be the 'binding pose' i.e. the layout in which bones were originally bound to a mesh.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Bool | resetManualBones - If set to true, causes the state of manual bones to be reset too, which is normally not done to allow the manual state to persist even when keyframe animation is applied. |
-> IO () |
Creates a new Animation
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name |
-> IO Bool |
Returns whether this skeleton contains the named animation.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name |
-> IO () |
Changes the state of the skeleton to reflect the application of the passed in collection of animations. Animating a skeleton involves both interpolating between keyframes of a specific animation, and blending between the animations themselves. Calling this method sets the state of the skeleton so that it reflects the combination of all the passed in animations, at the time index specified for each, using the weights specified. Note that the weights between animations do not have to sum to 1.0, because some animations may affect only subsets of the skeleton. If the weights exceed 1.0 for the same area of the skeleton, the movement will just be exaggerated.
Removes an Animation
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> HG3DClass | animSet |
-> IO () |
Gets the number of animations on this skeleton.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Int | index |
-> IO HG3DClass |
Gets a single animation by index. Will NOT pick up animations in linked skeletons (addLinkedSkeletonAnimationSource
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> IO EnumSkeletonAnimationBlendMode |
Gets the animation blending mode which this skeleton will use.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> EnumSkeletonAnimationBlendMode | state |
-> IO () |
Optimise all of this skeleton's animations. Animation::optimise
Sets the animation blending mode this skeleton will use.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Bool | preservingIdentityNodeTracks - If true, don't destroy identity node tracks. |
-> IO () |
Allows you to use the animations from another SkeletonIf you have skeletons of identical structure (that means identically named bones with identical handles, and with the same hierarchy), but slightly different proportions or binding poses, you can re-use animations from one in the other. Because animations are actually stored as changes to bones from their bind positions, it's possible to use the same animation data for different skeletons, provided the skeletal structure matches and the deltas
stored in the keyframes apply equally well to the other skeletons bind position (so they must be roughly similar, but don't have to be identical). You can use the scale
option to adjust the translation and scale keyframes where there are large differences in size between the skeletons. This method takes a skeleton name, rather than a more specific animation name, for two reasons; firstly it allows some validation of compatibility of skeletal structure, and secondly skeletons are the unit of loading. Linking a skeleton to another in this way means that the linkee will be prevented from being destroyed until the linker is destroyed.
addLinkedSkeletonAnimationSourceSource
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | skelName - Name of the skeleton to link animations from. This skeleton will be loaded immediately if this skeleton is already loaded, otherwise it will be loaded when this skeleton is. |
-> Float | scale - A scale factor to apply to translation and scaling elements of the keyframes in the other skeleton when applying the animations to this one. Compensates for skeleton size differences. |
-> IO () |
Remove all links to other skeletons for the purposes of sharing animation.
removeAllLinkedSkeletonAnimationSourcesSource
Have manual bones been modified since the skeleton was last updated?
Are there any manually controlled bones?
delete'_ :: HG3DClassPtr -> IO ()Source
createBone'_ :: HG3DClassPtr -> HG3DClassPtr -> IO ()Source
createBone2'_ :: HG3DClassPtr -> CUShort -> HG3DClassPtr -> IO ()Source
createBone3'_ :: HG3DClassPtr -> Ptr CChar -> HG3DClassPtr -> IO ()Source
createBone4'_ :: HG3DClassPtr -> Ptr CChar -> CUShort -> HG3DClassPtr -> IO ()Source
getNumBones'_ :: HG3DClassPtr -> Ptr CUShort -> IO ()Source
getRootBone'_ :: HG3DClassPtr -> HG3DClassPtr -> IO ()Source
getBone'_ :: HG3DClassPtr -> CUShort -> HG3DClassPtr -> IO ()Source
getBone2'_ :: HG3DClassPtr -> Ptr CChar -> HG3DClassPtr -> IO ()Source
createAnimation'_ :: HG3DClassPtr -> Ptr CChar -> CFloat -> HG3DClassPtr -> IO ()Source
hasAnimation'_ :: HG3DClassPtr -> Ptr CChar -> Ptr CInt -> IO ()Source
removeAnimation'_ :: HG3DClassPtr -> Ptr CChar -> IO ()Source
getNumAnimations'_ :: HG3DClassPtr -> Ptr CUShort -> IO ()Source
getAnimation2'_ :: HG3DClassPtr -> CUShort -> HG3DClassPtr -> IO ()Source
getBlendMode'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source
setBlendMode'_ :: HG3DClassPtr -> CInt -> IO ()Source
optimiseAllAnimations'_ :: HG3DClassPtr -> CInt -> IO ()Source
addLinkedSkeletonAnimationSource'_ :: HG3DClassPtr -> Ptr CChar -> CFloat -> IO ()Source
getManualBonesDirty'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source
hasManualBones'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source