HGamer3D-Ogre-Binding-0.1.9: Windows Game Engine for the Haskell Programmer - Ogre Bindings

Safe HaskellNone

HGamer3D.Bindings.Ogre.ClassNode

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 

Returns the name of the node.

getParentSource

Arguments

:: HG3DClass

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

-> IO HG3DClass 

Gets this node's parent (NULL if this is the root).

getOrientationSource

Arguments

:: HG3DClass

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

-> IO Quaternion 

Returns a quaternion representing the nodes orientation.

setOrientationSource

Arguments

:: HG3DClass

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

-> Quaternion

q

-> IO () 

Sets the orientation of this node via quaternion parameters. Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. Note that rotations are oriented around the node's origin.

Sets the orientation of this node via a quaternion. Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. Note that rotations are oriented around the node's origin.

setOrientation2Source

Arguments

:: HG3DClass

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

-> Float

w

-> Float

x

-> Float

y

-> Float

z

-> IO () 

Resets the nodes orientation (local axes as world axes, no rotation). Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. Note that rotations are oriented around the node's origin.

resetOrientationSource

Arguments

:: HG3DClass

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

-> IO () 

Sets the position of the node relative to it's parent.

setPositionSource

Arguments

:: HG3DClass

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

-> Vec3

pos

-> IO () 

Sets the position of the node relative to it's parent.

setPosition2Source

Arguments

:: HG3DClass

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

-> Float

x

-> Float

y

-> Float

z

-> IO () 

Gets the position of the node relative to it's parent.

getPositionSource

Arguments

:: HG3DClass

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

-> IO Vec3 

setScaleSource

Arguments

:: HG3DClass

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

-> Vec3

scale

-> IO () 

Sets the scaling factor applied to this node. Scaling factors, unlike other transforms, are not always inherited by child nodes. Whether or not scalings affect the size of the child nodes depends on the setInheritScale option of the child. In some cases you want a scaling factor of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative size based on the parent's size), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own size). The default is to inherit as with other transforms. Note that like rotations, scalings are oriented around the node's origin.

Sets the scaling factor applied to this node. Scaling factors, unlike other transforms, are not always inherited by child nodes. Whether or not scalings affect the size of the child nodes depends on the setInheritScale option of the child. In some cases you want a scaling factor of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative size based on the parent's size), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own size). The default is to inherit as with other transforms. Note that like rotations, scalings are oriented around the node's origin.

setScale2Source

Arguments

:: HG3DClass

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

-> Float

x

-> Float

y

-> Float

z

-> IO () 

Gets the scaling factor of this node.

getScaleSource

Arguments

:: HG3DClass

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

-> IO Vec3 

setInheritOrientationSource

Arguments

:: HG3DClass

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

-> Bool

inherit - If true, this node's orientation will be affected by its parent's orientation. If false, it will not be affected.

-> IO () 

Returns true if this node is affected by orientation applied to the parent node. Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms. See setInheritOrientation for more info.

Tells the node whether it should inherit orientation from it's parent node. Orientations, unlike other transforms, are not always inherited by child nodes. Whether or not orientations affect the orientation of the child nodes depends on the setInheritOrientation option of the child. In some cases you want a orientating of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative orientation based on the parent's orientation), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own orientation). The default is to inherit as with other transforms.

getInheritOrientationSource

Arguments

:: HG3DClass

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

-> IO Bool 

Tells the node whether it should inherit scaling factors from it's parent node. Scaling factors, unlike other transforms, are not always inherited by child nodes. Whether or not scalings affect the size of the child nodes depends on the setInheritScale option of the child. In some cases you want a scaling factor of a parent node to apply to a child node (e.g. where the child node is a part of the same object, so you want it to be the same relative size based on the parent's size), but not in other cases (e.g. where the child node is just for positioning another object, you want it to maintain it's own size). The default is to inherit as with other transforms.

setInheritScaleSource

Arguments

:: HG3DClass

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

-> Bool

inherit - If true, this node's scale will be affected by its parent's scale. If false, it will not be affected.

-> IO () 

Returns true if this node is affected by scaling factors applied to the parent node. See setInheritScale for more info.

getInheritScaleSource

Arguments

:: HG3DClass

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

-> IO Bool 

Scales the node, combining it's current scale with the passed in scaling factor. This method applies an extra scaling factor to the node's existing scale, (unlike setScale which overwrites it) combining it's current scale with the new one. E.g. calling this method twice with Vector3(2,2,2) would have the same effect as setScale(Vector3(4,4,4)) if the existing scale was 1. Note that like rotations, scalings are oriented around the node's origin.

scaleSource

Arguments

:: HG3DClass

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

-> Vec3

scale

-> IO () 

Scales the node, combining it's current scale with the passed in scaling factor. This method applies an extra scaling factor to the node's existing scale, (unlike setScale which overwrites it) combining it's current scale with the new one. E.g. calling this method twice with Vector3(2,2,2) would have the same effect as setScale(Vector3(4,4,4)) if the existing scale was 1. Note that like rotations, scalings are oriented around the node's origin.

scale2Source

Arguments

:: HG3DClass

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

-> Float

x

-> Float

y

-> Float

z

-> IO () 

Moves the node along the Cartesian axes. This method moves the node by the supplied vector along the world Cartesian axes, i.e. along world x,y,z

translateSource

Arguments

:: HG3DClass

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

-> Vec3

d - Vector with x,y,z values representing the translation.

-> EnumNodeTransformSpace

relativeTo - The space which this transform is relative to.

-> IO () 

Moves the node along the Cartesian axes. This method moves the node by the supplied vector along the world Cartesian axes, i.e. along world x,y,z

translate2Source

Arguments

:: HG3DClass

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

-> Float

x

-> Float

y

-> Float

z - Real x, y and z values representing the translation.

-> EnumNodeTransformSpace

relativeTo - The space which this transform is relative to.

-> IO () 

Rotate the node around the Z-axis.

rollSource

Arguments

:: HG3DClass

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

-> Radians

angle

-> EnumNodeTransformSpace

relativeTo

-> IO () 

Rotate the node around the X-axis.

pitchSource

Arguments

:: HG3DClass

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

-> Radians

angle

-> EnumNodeTransformSpace

relativeTo

-> IO () 

Rotate the node around the Y-axis.

yawSource

Arguments

:: HG3DClass

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

-> Radians

angle

-> EnumNodeTransformSpace

relativeTo

-> IO () 

Rotate the node around an arbitrary axis.

rotateSource

Arguments

:: HG3DClass

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

-> Vec3

axis

-> Radians

angle

-> EnumNodeTransformSpace

relativeTo

-> IO () 

Rotate the node around an aritrary axis using a Quarternion.

rotate2Source

Arguments

:: HG3DClass

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

-> Quaternion

q

-> EnumNodeTransformSpace

relativeTo

-> IO () 

Creates an unnamed new Node as a child of this node.

createChildSource

Arguments

:: HG3DClass

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

-> Vec3

translate - Initial translation offset of child relative to parent

-> Quaternion

rotate - Initial rotation relative to parent

-> IO HG3DClass 

Creates a new named Node as a child of this node. This creates a child node with a given name, which allows you to look the node up from the parent which holds this collection of nodes.

createChild2Source

Arguments

:: HG3DClass

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

-> String

name

-> Vec3

translate - Initial translation offset of child relative to parent

-> Quaternion

rotate - Initial rotation relative to parent

-> IO HG3DClass 

Adds a (precreated) child scene node to this node. If it is attached to another node, it must be detached first.

addChildSource

Arguments

:: HG3DClass

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

-> HG3DClass

child - The Node which is to become a child node of this one

-> IO () 

Reports the number of child nodes under this one.

numChildrenSource

Arguments

:: HG3DClass

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

-> IO Int 

getChildSource

Arguments

:: HG3DClass

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

-> Int

index

-> IO HG3DClass 

Gets a pointer to a named child node.

Gets a pointer to a child node. There is an alternate getChild method which returns a named child.

getChild2Source

Arguments

:: HG3DClass

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

-> String

name

-> IO HG3DClass 

removeChildSource

Arguments

:: HG3DClass

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

-> Int

index

-> IO HG3DClass 

Drops the specified child from this node. Does not delete the node, just detaches it from this parent, potentially to be reattached elsewhere. There is also an alternate version which drops a named child from this node.

Drops the specified child from this node. Does not delete the node, just detaches it from this parent, potentially to be reattached elsewhere. There is also an alternate version which drops a named child from this node.

removeChild2Source

Arguments

:: HG3DClass

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

-> HG3DClass

child

-> IO HG3DClass 

Drops the named child from this node. Does not delete the node, just detaches it from this parent, potentially to be reattached elsewhere.

removeChild3Source

Arguments

:: HG3DClass

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

-> String

name

-> IO HG3DClass 

Removes all child Nodes attached to this node. Does not delete the nodes, just detaches them from this parent, potentially to be reattached elsewhere.

removeAllChildrenSource

Arguments

:: HG3DClass

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

-> IO () 

Sets the current transform of this node to be the 'initial state' ie that position orientation scale to be used as a basis for delta values used in keyframe animation. You never need to call this method unless you plan to animate this node. If you do plan to animate it, call this method once you've loaded the node with it's base state, ie the state on which all keyframes are based. If you never call this method, the initial state is the identity transform, ie do nothing.

setInitialStateSource

Arguments

:: HG3DClass

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

-> IO () 

Resets the position orientation scale of this node to it's initial state, see setInitialState for more info.

resetToInitialStateSource

Arguments

:: HG3DClass

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

-> IO () 

Gets the initial position of this node, see setInitialState for more info. Also resets the cumulative animation weight used for blending.

getInitialPositionSource

Arguments

:: HG3DClass

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

-> IO Vec3 

Gets the local position, relative to this node, of the given world-space position

convertWorldToLocalPositionSource

Arguments

:: HG3DClass

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

-> Vec3

worldPos

-> IO Vec3 

convertLocalToWorldPositionSource

Arguments

:: HG3DClass

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

-> Vec3

localPos

-> IO Vec3 

Gets the world position of a point in the node local space useful for simple transforms that don't require a child node.

convertWorldToLocalOrientationSource

Arguments

:: HG3DClass

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

-> Quaternion

worldOrientation

-> IO Quaternion 

Gets the local orientation, relative to this node, of the given world-space orientation

convertLocalToWorldOrientationSource

Arguments

:: HG3DClass

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

-> Quaternion

localOrientation

-> IO Quaternion 

Gets the world orientation of an orientation in the node local space useful for simple transforms that don't require a child node.

getInitialOrientationSource

Arguments

:: HG3DClass

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

-> IO Quaternion 

Gets the initial orientation of this node, see setInitialState for more info.

getInitialScaleSource

Arguments

:: HG3DClass

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

-> IO Vec3 

Gets the initial position of this node, see setInitialState for more info.

getSquaredViewDepthSource

Arguments

:: HG3DClass

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

-> HG3DClass

cam

-> IO Float 

Helper function, get the squared view depth.

needUpdateSource

Arguments

:: HG3DClass

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

-> Bool

forceParentUpdate - Even if the node thinks it has already told it's parent, tell it anyway

-> IO () 

Called by children to notify their parent that they need an update.

To be called in the event of transform changes to this node that require it's recalculation. This not only tags the node state as being dirty, it also requests it's parent to know about it's dirtiness so it will get an update next time.

requestUpdateSource

Arguments

:: HG3DClass

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

-> HG3DClass

child

-> Bool

forceParentUpdate - Even if the node thinks it has already told it's parent, tell it anyway

-> IO () 

Called by children to notify their parent that they no longer need an update.

cancelUpdateSource

Arguments

:: HG3DClass

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

-> HG3DClass

child

-> IO () 

Queue a needUpdate call to a node safely. You can't call needUpdate()Node::Listener

queueNeedUpdateSource

Arguments

:: HG3DClass

n

-> IO () 

Process queued needUpdate calls.