-- GENERATED by C->Haskell Compiler, version 0.16.3 Crystal Seed, 24 Jan 2009 (Haskell) -- Edit the ORIGNAL .chs file instead! {-# LINE 1 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-}{-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE TypeSynonymInstances #-} -- This source file is part of HGamer3D -- (A project to enable 3D game development in Haskell) -- For the latest info, see http://www.althainz.de/HGamer3D.html -- -- (c) 2011, 2012 Peter Althainz -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -- -- ClassSceneNode.chs -- module HGamer3D.Bindings.Ogre.ClassSceneNode where import Foreign import Foreign.Ptr import Foreign.C import HGamer3D.Data.HG3DClass import HGamer3D.Data.Vector import HGamer3D.Data.Colour import HGamer3D.Data.Angle import HGamer3D.Bindings.Ogre.Utils {-# LINE 40 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} import HGamer3D.Bindings.Ogre.ClassPtr {-# LINE 41 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} import HGamer3D.Bindings.Ogre.StructHG3DClass {-# LINE 42 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} import HGamer3D.Bindings.Ogre.StructVec3 {-# LINE 43 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} import HGamer3D.Bindings.Ogre.StructQuaternion {-# LINE 44 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | delete :: HG3DClass -- ^ classpointer - pointer of Class instance which is going to be deleted. -> IO () -- ^ delete a1 = withHG3DClass a1 $ \a1' -> delete'_ a1' >>= \res -> return () {-# LINE 49 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Adds an instance of a scene object to this node. Scene objects can include EntityCameraLightMovableObject attachObject :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> HG3DClass -- ^ obj -> IO () -- ^ attachObject a1 a2 = withHG3DClass a1 $ \a1' -> withHG3DClass a2 $ \a2' -> attachObject'_ a1' a2' >>= \res -> return () {-# LINE 54 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Reports the number of objects attached to this node. numAttachedObjects :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (Int) -- ^ numAttachedObjects a1 = withHG3DClass a1 $ \a1' -> alloca $ \a2' -> numAttachedObjects'_ a1' a2' >>= \res -> peekIntConv a2'>>= \a2'' -> return (a2'') {-# LINE 59 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Retrieves a pointer to an attached object. Retrieves by index, see alternate version to retrieve by name. The index of an object may change as other objects are added / removed. getAttachedObject :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Int -- ^ index -> IO (HG3DClass) -- ^ getAttachedObject a1 a2 = withHG3DClass a1 $ \a1' -> let {a2' = fromIntegral a2} in alloca $ \a3' -> getAttachedObject'_ a1' a2' a3' >>= \res -> peek a3'>>= \a3'' -> return (a3'') {-# LINE 65 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Retrieves a pointer to an attached object. Retrieves by object name, see alternate version to retrieve by index. getAttachedObject2 :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> String -- ^ name -> IO (HG3DClass) -- ^ getAttachedObject2 a1 a2 = withHG3DClass a1 $ \a1' -> withCString a2 $ \a2' -> alloca $ \a3' -> getAttachedObject2'_ a1' a2' a3' >>= \res -> peek a3'>>= \a3'' -> return (a3'') {-# LINE 71 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Detaches the indexed object from this scene node. Detaches by index, see the alternate version to detach by name. Object indexes may change as other objects are added / removed. detachObject :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Int -- ^ index -> IO (HG3DClass) -- ^ detachObject a1 a2 = withHG3DClass a1 $ \a1' -> let {a2' = fromIntegral a2} in alloca $ \a3' -> detachObject'_ a1' a2' a3' >>= \res -> peek a3'>>= \a3'' -> return (a3'') {-# LINE 77 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Detaches an object by pointer. detachObject2 :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> HG3DClass -- ^ obj -> IO () -- ^ detachObject2 a1 a2 = withHG3DClass a1 $ \a1' -> withHG3DClass a2 $ \a2' -> detachObject2'_ a1' a2' >>= \res -> return () {-# LINE 82 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Detaches the named object from this node and returns a pointer to it. detachObject3 :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> String -- ^ name -> IO (HG3DClass) -- ^ detachObject3 a1 a2 = withHG3DClass a1 $ \a1' -> withCString a2 $ \a2' -> alloca $ \a3' -> detachObject3'_ a1' a2' a3' >>= \res -> peek a3'>>= \a3'' -> return (a3'') {-# LINE 88 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Detaches all objects attached to this node. detachAllObjects :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO () -- ^ detachAllObjects a1 = withHG3DClass a1 $ \a1' -> detachAllObjects'_ a1' >>= \res -> return () {-# LINE 92 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Determines whether this node is in the scene graph, i.e. whether it's ultimate ancestor is the root scene node. isInSceneGraph :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (Bool) -- ^ isInSceneGraph a1 = withHG3DClass a1 $ \a1' -> alloca $ \a2' -> isInSceneGraph'_ a1' a2' >>= \res -> peekBoolUtil a2'>>= \a2'' -> return (a2'') {-# LINE 97 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Gets the creator of this scene node. This method returns the SceneManager getCreator :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (HG3DClass) -- ^ getCreator a1 = withHG3DClass a1 $ \a1' -> alloca $ \a2' -> getCreator'_ a1' a2' >>= \res -> peek a2'>>= \a2'' -> return (a2'') {-# LINE 102 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | This method removes and destroys the named child and all of its children. Unlike removeChild, which removes a single named child from this node but does not destroy it, this method destroys the child and all of it's children. Use this if you wish to recursively destroy a node as well as detaching it from it's parent. Note that any objects attached to the nodes will be detached but will not themselves be destroyed. removeAndDestroyChild :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> String -- ^ name -> IO () -- ^ removeAndDestroyChild a1 a2 = withHG3DClass a1 $ \a1' -> withCString a2 $ \a2' -> removeAndDestroyChild'_ a1' a2' >>= \res -> return () {-# LINE 107 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | This method removes and destroys the child and all of its children. Unlike removeChild, which removes a single named child from this node but does not destroy it, this method destroys the child and all of it's children. Use this if you wish to recursively destroy a node as well as detaching it from it's parent. Note that any objects attached to the nodes will be detached but will not themselves be destroyed. removeAndDestroyChild2 :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Int -- ^ index -> IO () -- ^ removeAndDestroyChild2 a1 a2 = withHG3DClass a1 $ \a1' -> let {a2' = fromIntegral a2} in removeAndDestroyChild2'_ a1' a2' >>= \res -> return () {-# LINE 112 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Removes and destroys all children of this node. Use this to destroy all child nodes of this node and remove them from the scene graph. Note that all objects attached to this node will be detached but will not be destroyed. removeAndDestroyAllChildren :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO () -- ^ removeAndDestroyAllChildren a1 = withHG3DClass a1 $ \a1' -> removeAndDestroyAllChildren'_ a1' >>= \res -> return () {-# LINE 116 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Allows the showing of the node's bounding box. Use this to show or hide the bounding box of the node. showBoundingBox :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Bool -- ^ bShow -> IO () -- ^ showBoundingBox a1 a2 = withHG3DClass a1 $ \a1' -> let {a2' = fromBool a2} in showBoundingBox'_ a1' a2' >>= \res -> return () {-# LINE 121 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Allows the overriding of the node's bounding box over the SceneManagerUse this to override the bounding box setting of the node. hideBoundingBox :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Bool -- ^ bHide -> IO () -- ^ hideBoundingBox a1 a2 = withHG3DClass a1 $ \a1' -> let {a2' = fromBool a2} in hideBoundingBox'_ a1' a2' >>= \res -> return () {-# LINE 126 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | This allows scene managers to determine if the node's bounding box should be added to the rendering queue. Scene Managers that implement their own _findVisibleObjects will have to check this flag and then use _addBoundingBoxToQueue to add the bounding box wireframe. getShowBoundingBox :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (Bool) -- ^ getShowBoundingBox a1 = withHG3DClass a1 $ \a1' -> alloca $ \a2' -> getShowBoundingBox'_ a1' a2' >>= \res -> peekBoolUtil a2'>>= \a2'' -> return (a2'') {-# LINE 131 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Creates an unnamed new SceneNode createChildSceneNode :: 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) -- ^ createChildSceneNode a1 a2 a3 = withHG3DClass a1 $ \a1' -> withVec3 a2 $ \a2' -> withQuaternion a3 $ \a3' -> alloca $ \a4' -> createChildSceneNode'_ a1' a2' a3' a4' >>= \res -> peek a4'>>= \a4'' -> return (a4'') {-# LINE 138 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Creates a new named SceneNodeThis 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. createChildSceneNode2 :: 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) -- ^ createChildSceneNode2 a1 a2 a3 a4 = withHG3DClass a1 $ \a1' -> withCString a2 $ \a2' -> withVec3 a3 $ \a3' -> withQuaternion a4 $ \a4' -> alloca $ \a5' -> createChildSceneNode2'_ a1' a2' a3' a4' a5' >>= \res -> peek a5'>>= \a5'' -> return (a5'') {-# LINE 146 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Tells the node whether to yaw around it's own local Y axis or a fixed axis of choice. This method allows you to change the yaw behaviour of the node - by default, it yaws around it's own local Y axis when told to yaw with TS_LOCAL, this makes it yaw around a fixed axis. You only really need this when you're using auto tracking (see setAutoTracking, because when you're manually rotating a node you can specify the TransformSpace in which you wish to work anyway. setFixedYawAxis :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Bool -- ^ useFixed - If true, the axis passed in the second parameter will always be the yaw axis no matter what the node orientation. If false, the node returns to it's default behaviour. -> Vec3 -- ^ fixedAxis - The axis to use if the first parameter is true. -> IO () -- ^ setFixedYawAxis a1 a2 a3 = withHG3DClass a1 $ \a1' -> let {a2' = fromBool a2} in withVec3 a3 $ \a3' -> setFixedYawAxis'_ a1' a2' a3' >>= \res -> return () {-# LINE 152 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Enables / disables automatic tracking of another SceneNodeIf you enable auto-tracking, this SceneNodeSceneNodeSceneNodeSceneNode setAutoTracking :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Bool -- ^ enabled - If true, tracking will be enabled and the next parameter cannot be null. If false tracking will be disabled and the current orientation will be maintained. -> HG3DClass -- ^ target - Pointer to the SceneNode to track. Make sure you don't delete this SceneNode before turning off tracking (e.g. SceneManager::clearScene will delete it so be careful of this). Can be null if and only if the enabled param is false. -> Vec3 -- ^ localDirectionVector - The local vector considered to be the usual 'direction' of the node; normally the local -Z but can be another direction. -> Vec3 -- ^ offset - If supplied, this is the target point in local space of the target node instead of the origin of the target node. Good for fine tuning the look at point. -> IO () -- ^ setAutoTracking a1 a2 a3 a4 a5 = withHG3DClass a1 $ \a1' -> let {a2' = fromBool a2} in withHG3DClass a3 $ \a3' -> withVec3 a4 $ \a4' -> withVec3 a5 $ \a5' -> setAutoTracking'_ a1' a2' a3' a4' a5' >>= \res -> return () {-# LINE 160 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Get the auto tracking target for this node, if any. getAutoTrackTarget :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (HG3DClass) -- ^ getAutoTrackTarget a1 = withHG3DClass a1 $ \a1' -> alloca $ \a2' -> getAutoTrackTarget'_ a1' a2' >>= \res -> peek a2'>>= \a2'' -> return (a2'') {-# LINE 165 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Get the auto tracking offset for this node, if the node is auto tracking. getAutoTrackOffset :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (Vec3) -- ^ getAutoTrackOffset a1 = withHG3DClass a1 $ \a1' -> alloca $ \a2' -> getAutoTrackOffset'_ a1' a2' >>= \res -> peekVec3 a2'>>= \a2'' -> return (a2'') {-# LINE 170 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Get the auto tracking local direction for this node, if it is auto tracking. getAutoTrackLocalDirection :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (Vec3) -- ^ getAutoTrackLocalDirection a1 = withHG3DClass a1 $ \a1' -> alloca $ \a2' -> getAutoTrackLocalDirection'_ a1' a2' >>= \res -> peekVec3 a2'>>= \a2'' -> return (a2'') {-# LINE 175 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Gets the parent of this SceneNode getParentSceneNode :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> IO (HG3DClass) -- ^ getParentSceneNode a1 = withHG3DClass a1 $ \a1' -> alloca $ \a2' -> getParentSceneNode'_ a1' a2' >>= \res -> peek a2'>>= \a2'' -> return (a2'') {-# LINE 180 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Makes all objects attached to this node become visible / invisible. This is a shortcut to calling setVisible() setVisible :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Bool -- ^ visible - Whether the objects are to be made visible or invisible -> Bool -- ^ cascade - If true, this setting cascades into child nodes too. -> IO () -- ^ setVisible a1 a2 a3 = withHG3DClass a1 $ \a1' -> let {a2' = fromBool a2} in let {a3' = fromBool a3} in setVisible'_ a1' a2' a3' >>= \res -> return () {-# LINE 186 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Inverts the visibility of all objects attached to this node. This is a shortcut to calling setVisible(!isVisible()) on the objects attached to this node, and optionally to all objects attached to child nodes. flipVisibility :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Bool -- ^ cascade - If true, this setting cascades into child nodes too. -> IO () -- ^ flipVisibility a1 a2 = withHG3DClass a1 $ \a1' -> let {a2' = fromBool a2} in flipVisibility'_ a1' a2' >>= \res -> return () {-# LINE 191 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} -- | Tells all objects attached to this node whether to display their debug information or not. This is a shortcut to calling setDebugDisplayEnabled() setDebugDisplayEnabled :: HG3DClass -- ^ classpointer - pointer of Class instance from which this methods is called. -> Bool -- ^ enabled - Whether the objects are to display debug info or not -> Bool -- ^ cascade - If true, this setting cascades into child nodes too. -> IO () -- ^ setDebugDisplayEnabled a1 a2 a3 = withHG3DClass a1 $ \a1' -> let {a2' = fromBool a2} in let {a3' = fromBool a3} in setDebugDisplayEnabled'_ a1' a2' a3' >>= \res -> return () {-# LINE 197 ".\\HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs" #-} foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_destruct" delete'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_attachObject" attachObject'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_numAttachedObjects" numAttachedObjects'_ :: ((HG3DClassPtr) -> ((Ptr CUShort) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_getAttachedObject" getAttachedObject'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ())))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_getAttachedObject2" getAttachedObject2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_detachObject" detachObject'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ())))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_detachObject2" detachObject2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_detachObject3" detachObject3'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_detachAllObjects" detachAllObjects'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_isInSceneGraph" isInSceneGraph'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_getCreator" getCreator'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_removeAndDestroyChild" removeAndDestroyChild'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_removeAndDestroyChild2" removeAndDestroyChild2'_ :: ((HG3DClassPtr) -> (CUShort -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_removeAndDestroyAllChildren" removeAndDestroyAllChildren'_ :: ((HG3DClassPtr) -> (IO ())) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_showBoundingBox" showBoundingBox'_ :: ((HG3DClassPtr) -> (CInt -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_hideBoundingBox" hideBoundingBox'_ :: ((HG3DClassPtr) -> (CInt -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_getShowBoundingBox" getShowBoundingBox'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_createChildSceneNode" createChildSceneNode'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> ((QuaternionPtr) -> ((HG3DClassPtr) -> (IO ()))))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_createChildSceneNode2" createChildSceneNode2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Vec3Ptr) -> ((QuaternionPtr) -> ((HG3DClassPtr) -> (IO ())))))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_setFixedYawAxis" setFixedYawAxis'_ :: ((HG3DClassPtr) -> (CInt -> ((Vec3Ptr) -> (IO ())))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_setAutoTracking" setAutoTracking'_ :: ((HG3DClassPtr) -> (CInt -> ((HG3DClassPtr) -> ((Vec3Ptr) -> ((Vec3Ptr) -> (IO ())))))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_getAutoTrackTarget" getAutoTrackTarget'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_getAutoTrackOffset" getAutoTrackOffset'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_getAutoTrackLocalDirection" getAutoTrackLocalDirection'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_getParentSceneNode" getParentSceneNode'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_setVisible" setVisible'_ :: ((HG3DClassPtr) -> (CInt -> (CInt -> (IO ())))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_flipVisibility" flipVisibility'_ :: ((HG3DClassPtr) -> (CInt -> (IO ()))) foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassSceneNode.chs.h ogre_sn_setDebugDisplayEnabled" setDebugDisplayEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (CInt -> (IO ()))))