-- 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\\ClassMovableObject.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.
-- 


-- ClassMovableObject.chs

-- 

module HGamer3D.Bindings.Ogre.ClassMovableObject 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\\ClassMovableObject.chs" #-}
import HGamer3D.Bindings.Ogre.ClassPtr
{-# LINE 41 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}
import HGamer3D.Bindings.Ogre.StructHG3DClass
{-# LINE 42 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Virtual destructor - read Scott Meyers if you don't know why this is needed. 
delete :: HG3DClass  -- ^ classpointer - pointer of Class instance which is going to be deleted.
  ->  IO ()
 -- ^ 
delete a1 =
  withHG3DClass a1 $ \a1' -> 
  delete'_ a1' >>= \res ->
  return ()
{-# LINE 47 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Returns the name of this object. 
getName :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (String)
 -- ^ 
getName a1 =
  withHG3DClass a1 $ \a1' -> 
  alloc64k $ \a2' -> 
  getName'_ a1' a2' >>= \res ->
  peekCString  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 52 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Returns the type name of this object. 
getMovableType :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (String)
 -- ^ 
getMovableType a1 =
  withHG3DClass a1 $ \a1' -> 
  alloc64k $ \a2' -> 
  getMovableType'_ a1' a2' >>= \res ->
  peekCString  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 57 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Returns the node to which this object is attached. A MovableObjectSceneNodeNode
getParentNode :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (HG3DClass)
 -- ^ 
getParentNode a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getParentNode'_ a1' a2' >>= \res ->
  peek  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 62 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Returns the scene node to which this object is attached. A MovableObjectSceneNode
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 67 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Gets whether the parent node is a TagPoint (or a SceneNode
isParentTagPoint :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Bool)
 -- ^ 
isParentTagPoint a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isParentTagPoint'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 72 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Returns true if this object is attached to a SceneNode
isAttached :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Bool)
 -- ^ 
isAttached a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isAttached'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 77 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Detaches an object from a parent SceneNode
detachFromParent :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO ()
 -- ^ 
detachFromParent a1 =
  withHG3DClass a1 $ \a1' -> 
  detachFromParent'_ a1' >>= \res ->
  return ()
{-# LINE 81 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Returns true if this object is attached to a SceneNodeSceneNode
isInScene :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Bool)
 -- ^ 
isInScene a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isInScene'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 86 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Retrieves the radius of the origin-centered bounding sphere for this object. 
getBoundingRadius :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Float)
 -- ^ 
getBoundingRadius a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getBoundingRadius'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 91 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Tells this object whether to be visible or not, if it has a renderable component. An alternative approach of making an object invisible is to detach it from it's SceneNodeSceneNode
setVisible :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  Bool  -- ^ visible
  ->  IO ()
 -- ^ 
setVisible a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  setVisible'_ a1' a2' >>= \res ->
  return ()
{-# LINE 96 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Gets this object whether to be visible or not, if it has a renderable component. Returns the value set by MovableObject::setVisible
getVisible :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Bool)
 -- ^ 
getVisible a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getVisible'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 101 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Returns whether or not this object is supposed to be visible or not. Takes into account both upper rendering distance and visible flag. 
isVisible :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Bool)
 -- ^ 
isVisible a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isVisible'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 106 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Sets the distance at which the object is no longer rendered. 
setRenderingDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  Float  -- ^ dist - Distance beyond which the object will not be rendered (the default is 0, which means objects are always rendered). 
  ->  IO ()
 -- ^ 
setRenderingDistance a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  setRenderingDistance'_ a1' a2' >>= \res ->
  return ()
{-# LINE 111 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Gets the distance at which batches are no longer rendered. 
getRenderingDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Float)
 -- ^ 
getRenderingDistance a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getRenderingDistance'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 116 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Sets the query flags for this object. When performing a scene query, this object will be included or excluded according to flags on the object and flags on the query. This is a bitwise value, so only when a bit on these flags is set, will it be included in a query asking for that flag. The meaning of the bits is application-specific. 
setQueryFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  Int  -- ^ flags
  ->  IO ()
 -- ^ 
setQueryFlags a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  setQueryFlags'_ a1' a2' >>= \res ->
  return ()
{-# LINE 121 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. 
addQueryFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  Int  -- ^ flags
  ->  IO ()
 -- ^ 
addQueryFlags a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  addQueryFlags'_ a1' a2' >>= \res ->
  return ()
{-# LINE 126 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. 
removeQueryFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  Int  -- ^ flags
  ->  IO ()
 -- ^ 
removeQueryFlags a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  removeQueryFlags'_ a1' a2' >>= \res ->
  return ()
{-# LINE 131 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Returns the query flags relevant for this object. 
getQueryFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Int)
 -- ^ 
getQueryFlags a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getQueryFlags'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 136 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Sets the visiblity flags for this object. As well as a simple true/false value for visibility (as seen in setVisible), you can also set visiblity flags which when 'and'ed with the SceneManager
setVisibilityFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  Int  -- ^ flags
  ->  IO ()
 -- ^ 
setVisibilityFlags a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  setVisibilityFlags'_ a1' a2' >>= \res ->
  return ()
{-# LINE 141 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object. 
addVisibilityFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  Int  -- ^ flags
  ->  IO ()
 -- ^ 
addVisibilityFlags a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  addVisibilityFlags'_ a1' a2' >>= \res ->
  return ()
{-# LINE 146 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object. 
removeVisibilityFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  Int  -- ^ flags
  ->  IO ()
 -- ^ 
removeVisibilityFlags a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  removeVisibilityFlags'_ a1' a2' >>= \res ->
  return ()
{-# LINE 151 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Returns the visibility flags relevant for this object. 
getVisibilityFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Int)
 -- ^ 
getVisibilityFlags a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getVisibilityFlags'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 156 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Get a bitwise mask which will filter the lights affecting this object By default, this mask is fully set meaning all lights will affect this object 
getLightMask :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Int)
 -- ^ 
getLightMask a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getLightMask'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 161 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Set a bitwise mask which will filter the lights affecting this object This mask will be compared against the mask held against Light
setLightMask :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  Int  -- ^ lightMask
  ->  IO ()
 -- ^ 
setLightMask a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  setLightMask'_ a1' a2' >>= \res ->
  return ()
{-# LINE 166 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Define a default implementation of method from ShadowCaster which implements no shadows. 
hasEdgeList :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Bool)
 -- ^ 
hasEdgeList a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  hasEdgeList'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 171 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Sets whether or not this object will cast shadows. This setting simply allows you to turn on/off shadows for a given object. An object will not cast shadows unless the scene supports it in any case (see SceneManager::setShadowTechniqueThis method normally refers to objects which block the light, but since LightMovableObject
setCastShadows :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  Bool  -- ^ enabled
  ->  IO ()
 -- ^ 
setCastShadows a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  setCastShadows'_ a1' a2' >>= \res ->
  return ()
{-# LINE 176 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Returns whether shadow casting is enabled for this object. 
getCastShadows :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Bool)
 -- ^ 
getCastShadows a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getCastShadows'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 181 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Returns whether the MaterialRenderableMovableObject
getReceivesShadows :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Bool)
 -- ^ 
getReceivesShadows a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getReceivesShadows'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 186 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Get the distance to extrude for a point/spot light 
getPointExtrusionDistance :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  HG3DClass  -- ^ l
  ->  IO (Float)
 -- ^ 
getPointExtrusionDistance a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  alloca $ \a3' -> 
  getPointExtrusionDistance'_ a1' a2' a3' >>= \res ->
  peekFloatConv  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 192 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Get the 'type flags' for this MovableObjectA type flag identifies the type of the MovableObjectMovableObjectFactoryMovableObjectFactoryMovableObjectFactory
getTypeFlags :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Int)
 -- ^ 
getTypeFlags a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getTypeFlags'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 197 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Sets whether or not the debug display of this object is enabled. Some objects aren't visible themselves but it can be useful to display a debug representation of them. Or, objects may have an additional debug display on top of their regular display. This option enables / disables that debug display. Objects that are not visible never display debug geometry regardless of this setting. 
setDebugDisplayEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  Bool  -- ^ enabled
  ->  IO ()
 -- ^ 
setDebugDisplayEnabled a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  setDebugDisplayEnabled'_ a1' a2' >>= \res ->
  return ()
{-# LINE 202 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Gets whether debug display of this object is enabled. 
isDebugDisplayEnabled :: HG3DClass  -- ^ classpointer - pointer of Class instance from which this methods is called.
  ->  IO (Bool)
 -- ^ 
isDebugDisplayEnabled a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isDebugDisplayEnabled'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 207 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Set the default query flags for all future MovableObject
setDefaultQueryFlags :: Int  -- ^ flags
  ->  IO ()
 -- ^ 
setDefaultQueryFlags a1 =
  let {a1' = fromIntegral a1} in 
  setDefaultQueryFlags'_ a1' >>= \res ->
  return ()
{-# LINE 211 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Get the default query flags for all future MovableObject
getDefaultQueryFlags :: IO (Int)
 -- ^ 
getDefaultQueryFlags =
  alloca $ \a1' -> 
  getDefaultQueryFlags'_ a1' >>= \res ->
  peekIntConv  a1'>>= \a1'' -> 
  return (a1'')
{-# LINE 215 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Set the default visibility flags for all future MovableObject
setDefaultVisibilityFlags :: Int  -- ^ flags
  ->  IO ()
 -- ^ 
setDefaultVisibilityFlags a1 =
  let {a1' = fromIntegral a1} in 
  setDefaultVisibilityFlags'_ a1' >>= \res ->
  return ()
{-# LINE 219 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}

-- | Get the default visibility flags for all future MovableObject
getDefaultVisibilityFlags :: IO (Int)
 -- ^ 
getDefaultVisibilityFlags =
  alloca $ \a1' -> 
  getDefaultVisibilityFlags'_ a1' >>= \res ->
  peekIntConv  a1'>>= \a1'' -> 
  return (a1'')
{-# LINE 223 ".\\HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs" #-}


foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_destruct"
  delete'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getName"
  getName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getMovableType"
  getMovableType'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getParentNode"
  getParentNode'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getParentSceneNode"
  getParentSceneNode'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_isParentTagPoint"
  isParentTagPoint'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_isAttached"
  isAttached'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_detachFromParent"
  detachFromParent'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_isInScene"
  isInScene'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getBoundingRadius"
  getBoundingRadius'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_setVisible"
  setVisible'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getVisible"
  getVisible'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_isVisible"
  isVisible'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_setRenderingDistance"
  setRenderingDistance'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getRenderingDistance"
  getRenderingDistance'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_setQueryFlags"
  setQueryFlags'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_addQueryFlags"
  addQueryFlags'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_removeQueryFlags"
  removeQueryFlags'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getQueryFlags"
  getQueryFlags'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_setVisibilityFlags"
  setVisibilityFlags'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_addVisibilityFlags"
  addVisibilityFlags'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_removeVisibilityFlags"
  removeVisibilityFlags'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getVisibilityFlags"
  getVisibilityFlags'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getLightMask"
  getLightMask'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_setLightMask"
  setLightMask'_ :: ((HG3DClassPtr) -> (CUInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_hasEdgeList"
  hasEdgeList'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_setCastShadows"
  setCastShadows'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getCastShadows"
  getCastShadows'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getReceivesShadows"
  getReceivesShadows'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getPointExtrusionDistance"
  getPointExtrusionDistance'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getTypeFlags"
  getTypeFlags'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_setDebugDisplayEnabled"
  setDebugDisplayEnabled'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_isDebugDisplayEnabled"
  isDebugDisplayEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_setDefaultQueryFlags"
  setDefaultQueryFlags'_ :: (CUInt -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getDefaultQueryFlags"
  getDefaultQueryFlags'_ :: ((Ptr CUInt) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_setDefaultVisibilityFlags"
  setDefaultVisibilityFlags'_ :: (CUInt -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassMovableObject.chs.h ogre_mvo_getDefaultVisibilityFlags"
  getDefaultVisibilityFlags'_ :: ((Ptr CUInt) -> (IO ()))