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

Safe HaskellSafe-Infered

HGamer3D.Bindings.Ogre.ClassMesh

Synopsis

Documentation

deleteSource

Arguments

:: HG3DClass

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

-> IO () 

unnameSubMeshSource

Arguments

:: HG3DClass

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

-> String

name

-> IO () 

Gets the number of sub meshes which comprise this mesh.

Removes a name from a SubMesh

getNumSubMeshesSource

Arguments

:: HG3DClass

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

-> IO Int 

destroySubMeshSource

Arguments

:: HG3DClass

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

-> Int

index

-> IO () 

Destroy a SubMesh with the given name. This will invalidate the contents of any existing EntityEntity

Destroy a SubMesh with the given index. This will invalidate the contents of any existing EntityEntity

destroySubMesh2Source

Arguments

:: HG3DClass

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

-> String

name

-> IO () 

Makes a copy of this mesh object and gives it a new name. This is useful if you want to tweak an existing mesh without affecting the original one. The newly cloned mesh is registered with the MeshManager

cloneSource

Arguments

:: HG3DClass

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

-> String

newName - The name to give the clone

-> String

newGroup - Optional name of the new group to assign the clone to; if you leave this blank, the clone will be assigned to the same group as this Mesh.

-> IO SharedPtr 

getBoundingSphereRadiusSource

Arguments

:: HG3DClass

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

-> IO Float 

Gets the radius of the bounding sphere surrounding this mesh.

setSkeletonNameSource

Arguments

:: HG3DClass

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

-> String

skelName - The name of the .skeleton file to use, or an empty string to use no skeleton

-> IO () 

Returns true if this MeshSkeleton

Sets the name of the skeleton this MeshMeshes can optionally be assigned a skeleton which can be used to animate the mesh through bone assignments. The default is for the MeshMesh

hasSkeletonSource

Arguments

:: HG3DClass

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

-> IO Bool 

hasVertexAnimationSource

Arguments

:: HG3DClass

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

-> IO Bool 

Returns whether or not this mesh has some kind of vertex animation.

getSkeletonSource

Arguments

:: HG3DClass

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

-> IO SharedPtr

return value - Weak reference to the skeleton - copy this if you want to hold a strong pointer.

Gets a pointer to any linked Skeleton

getSkeletonNameSource

Arguments

:: HG3DClass

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

-> IO String 

Gets the name of any linked Skeleton

clearBoneAssignmentsSource

Arguments

:: HG3DClass

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

-> IO () 

Adds a new manual level-of-detail entry to this MeshAs an alternative to generating lower level of detail versions of a mesh, you can use your own manually modelled meshes as lower level versions. This lets you have complete control over the LOD, and in addition lets you scale down other aspects of the model which cannot be done using the generated method; for example, you could use less detailed materials and / or use less bones in the skeleton if this is an animated mesh. Therefore for complex models you are likely to be better off modelling your LODs yourself and using this method, whilst for models with fairly simple materials and no animation you can just use the generateLodLevels method.

Removes all bone assignments for this mesh. This method is for modifying weights to the shared geometry of the Mesh

createManualLodLevelSource

Arguments

:: HG3DClass

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

-> Float

value - The value from which this Lod will apply.

-> String

meshName - The name of the mesh which will be the lower level detail version.

-> String

groupName

-> IO () 

Returns true if this mesh is using manual LOD. A mesh can either use automatically generated LOD, or it can use alternative meshes as provided by an artist. A mesh can only use either all manual LODs or all generated LODs, not a mixture of both.

isLodManualSource

Arguments

:: HG3DClass

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

-> IO Bool 

removeLodLevelsSource

Arguments

:: HG3DClass

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

-> IO () 

Gets whether or not this meshes vertex buffers are shadowed.

Removes all LOD data from this Mesh

isVertexBufferShadowedSource

Arguments

:: HG3DClass

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

-> IO Bool 

isIndexBufferShadowedSource

Arguments

:: HG3DClass

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

-> IO Bool 

Gets whether or not this meshes index buffers are shadowed.

buildEdgeListSource

Arguments

:: HG3DClass

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

-> IO () 

Destroys and frees the edge lists this mesh has built.

Builds an edge list for this mesh, which can be used for generating a shadow volume among other things.

freeEdgeListSource

Arguments

:: HG3DClass

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

-> IO () 

This method prepares the mesh for generating a renderable shadow volume. Preparing a mesh to generate a shadow volume involves firstly ensuring that the vertex buffer containing the positions for the mesh is a standalone vertex buffer, with no other components in it. This method will therefore break apart any existing vertex buffers this mesh holds if position is sharing a vertex buffer. Secondly, it will double the size of this vertex buffer so that there are 2 copies of the position data for the mesh. The first half is used for the original, and the second half is used for the extruded version of the mesh. The vertex count of the main VertexData used to render the mesh will remain the same though, so as not to add any overhead to regular rendering of the object. Both copies of the position are required in one buffer because shadow volumes stretch from the original mesh to the extruded version. Because shadow volumes are rendered in turn, no additional index buffer space is allocated by this method, a shared index buffer allocated by the shadow rendering algorithm is used for addressing this extended vertex buffer.

prepareForShadowVolumeSource

Arguments

:: HG3DClass

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

-> IO () 

Returns whether this mesh has already had it's geometry prepared for use in rendering shadow volumes.

isPreparedForShadowVolumesSource

Arguments

:: HG3DClass

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

-> IO Bool 

isEdgeListBuiltSource

Arguments

:: HG3DClass

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

-> IO Bool 

Returns whether this mesh has an attached edge list.

setAutoBuildEdgeListsSource

Arguments

:: HG3DClass

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

-> Bool

autobuild

-> IO () 

Sets whether or not this Mesh

Sets whether or not this MeshThis allows you to create meshes which do not have edge lists calculated, because you never want to use them. This value defaults to true for mesh formats which did not include edge data, and false for newer formats, where edge lists are expected to have been generated in advance.

getAutoBuildEdgeListsSource

Arguments

:: HG3DClass

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

-> IO Bool 

getSharedVertexDataAnimationTypeSource

Arguments

:: HG3DClass

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

-> IO EnumVertexAnimationType 

Gets the type of vertex animation the shared vertex data of this mesh supports.

createAnimationSource

Arguments

:: HG3DClass

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

-> String

name - The name of this animation

-> Float

length - The length of the animation in seconds

-> IO HG3DClass 

Creates a new Animation

getAnimationSource

Arguments

:: HG3DClass

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

-> String

name - The name of the animation

-> IO HG3DClass 

Returns the named vertex Animation

hasAnimationSource

Arguments

:: HG3DClass

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

-> String

name

-> IO Bool 

Returns whether this mesh contains the named vertex animation.

removeAnimationSource

Arguments

:: HG3DClass

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

-> String

name

-> IO () 

Gets the number of morph animations in this mesh.

Removes vertex Animation

getNumAnimationsSource

Arguments

:: HG3DClass

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

-> IO Int 

getAnimation2Source

Arguments

:: HG3DClass

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

-> Int

index

-> IO HG3DClass 

Gets a single morph animation by index.

removeAllAnimationsSource

Arguments

:: HG3DClass

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

-> IO () 

Iterates through all submeshes and requests them to apply their texture aliases to the material they use. The submesh will only apply texture aliases to the material if matching texture alias names are found in the material. If a match is found, the submesh will automatically clone the original material and then apply its texture to the new material. This method is normally called by the protected method loadImpl when a mesh if first loaded.

Removes all morph Animations from this mesh.

updateMaterialForAllSubMeshesSource

Arguments

:: HG3DClass

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

-> IO () 

Get the number of poses.

getPoseCountSource

Arguments

:: HG3DClass

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

-> IO Int 

removePose2Source

Arguments

:: HG3DClass

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

-> String

name

-> IO () 

Destroy all poses

Destroy a pose by name. This will invalidate any animation tracks referring to this pose or those after it.

removeAllPosesSource

Arguments

:: HG3DClass

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

-> IO ()