TYPEMAP

Animation *	O_ANIMATION
AnimationState *	O_ANIMATIONSTATE
AnimationStateSet *	O_ANIMATIONSTATESET
BillboardChain *	O_BILLBOARDCHAIN
BillboardSet *	O_BILLBOARDSET
Camera *	O_CAMERA
ColourValue *	O_COLOURVALUE
ConfigFile *	O_CONFIGFILE
Degree *	O_DEGREE
Entity *	O_ENTITY
Frustum *	O_FRUSTUM
FrameEvent *	O_FRAMEEVENT
InstancedGeometry *	O_INSTANCEDGEOMETRY
Light *	O_LIGHT
LogManager *	O_LOGMANAGER
ManualObject *	O_MANUALOBJECT
MaterialManager *	O_MATERIALMANAGER
Matrix3 *	O_MATRIX3
MeshManager *	O_MESHMANAGER
MeshPtr *	O_MESHPTR
MovableObject *	O_MOVABLEOBJECT
Node *	O_NODE
Overlay *	O_OVERLAY
OverlayContainer *	O_OVERLAYCONTAINER
const OverlayElement *	O_OVERLAYELEMENT
OverlayElement *	O_OVERLAYELEMENT
OverlayManager *	O_OVERLAYMANAGER
Plane *	O_PLANE
ParticleSystem *	O_PARTICLESYSTEM
Quaternion *	O_QUATERNION
Radian *	O_RADIAN
Renderable *	O_RENDERABLE
RenderTarget *	O_RENDERTARGET
RenderWindow *	O_RENDERWINDOW
ResourceGroupManager *	O_RESOURCEGROUPMANAGER
RibbonTrail *	O_RIBBONTRAIL
Root *	O_ROOT
SceneManager *	O_SCENEMANAGER
SceneNode *	O_SCENENODE
StaticGeometry *	O_STATICGEOMETRY
StringInterface *	O_STRINGINTERFACE
SubEntity *	O_SUBENTITY
TextureManager *	O_TEXTUREMANAGER
Vector3 *	O_VECTOR3
const Vector3 *	O_VECTOR3
Viewport *	O_VIEWPORT
WindowEventListener *	O_WINDOWEVENTLISTENER

String	STRING
uint16	T_UV
uchar	T_U_CHAR
Real	T_REAL


INPUT

STRING
	char * xstmpchr_$var = (char *) SvPV_nolen($arg);
	$var = xstmpchr_$var;

T_REAL
	$var = (Real)SvNV($arg)

O_ANIMATION
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Animation)

O_ANIMATIONSTATE
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, AnimationState)

O_ANIMATIONSTATESET
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, AnimationStateSet)

O_BILLBOARDCHAIN
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, BillboardChain)

O_BILLBOARDSET
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, BillboardSet)

O_CAMERA
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Camera)

O_COLOURVALUE
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, ColourValue)

O_CONFIGFILE
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, ConfigFile)

O_DEGREE
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Degree)

O_ENTITY
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Entity)

O_FRUSTUM
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Frustum)

O_FRAMEEVENT
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, FrameEvent)

O_INSTANCEDGEOMETRY
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, InstancedGeometry)

O_LIGHT
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Light)

O_LOGMANAGER
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, LogManager)

O_MANUALOBJECT
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, ManualObject)

O_MATERIALMANAGER
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, MaterialManager)

O_MATRIX3
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Matrix3)

O_MESHMANAGER
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, MeshManager)

O_MESHPTR
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, MeshPtr)

O_MOVABLEOBJECT
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, MovableObject)

O_NODE
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Node)

O_OVERLAY
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Overlay)

O_OVERLAYCONTAINER
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, OverlayContainer)

O_OVERLAYELEMENT
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, OverlayElement)

O_OVERLAYMANAGER
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, OverlayManager)

O_PARTICLESYSTEM
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, ParticleSystem)

O_PLANE
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Plane)

O_QUATERNION
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Quaternion)

O_RADIAN
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Radian)

O_RESOURCEGROUPMANAGER
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, ResourceGroupManager)

O_RENDERABLE
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Renderable)

O_RENDERTARGET
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, RenderTarget)

O_RENDERWINDOW
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, RenderWindow)

O_RIBBONTRAIL
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, RibbonTrail)

O_ROOT
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Root)

O_SCENEMANAGER
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, SceneManager)

O_SCENENODE
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, SceneNode)

O_STATICGEOMETRY
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, StaticGeometry)

O_STRINGINTERFACE
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, StringInterface)

O_SUBENTITY
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, SubEntity)

O_TEXTUREMANAGER
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, TextureManager)

O_VECTOR3
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Vector3)

O_VIEWPORT
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, Viewport)

O_WINDOWEVENTLISTENER
	TMOGRE_IN($arg, $var, $type, $Package, $func_name, WindowEventListener)


OUTPUT

STRING
	sv_setpvn((SV*)$arg, (char *) ($var.data()), ($var.size()));

T_REAL
	sv_setnv($arg, (Real)$var);

O_ANIMATION
	TMOGRE_OUT($arg, $var, Animation)

O_ANIMATIONSTATE
	TMOGRE_OUT($arg, $var, AnimationState)

O_ANIMATIONSTATESET
	TMOGRE_OUT($arg, $var, AnimationStateSet)

O_BILLBOARDCHAIN
	TMOGRE_OUT($arg, $var, BillboardChain)

O_BILLBOARDSET
	TMOGRE_OUT($arg, $var, BillboardSet)

O_CAMERA
	TMOGRE_OUT($arg, $var, Camera)

O_COLOURVALUE
	TMOGRE_OUT($arg, $var, ColourValue)

O_CONFIGFILE
	TMOGRE_OUT($arg, $var, ConfigFile)

O_DEGREE
	TMOGRE_OUT($arg, $var, Degree)

O_ENTITY
	TMOGRE_OUT($arg, $var, Entity)

O_FRUSTUM
	TMOGRE_OUT($arg, $var, Frustum)

O_FRAMEEVENT
	TMOGRE_OUT($arg, $var, FrameEvent)

O_INSTANCEDGEOMETRY
	TMOGRE_OUT($arg, $var, InstancedGeometry)

O_LIGHT
	TMOGRE_OUT($arg, $var, Light)

O_LOGMANAGER
	TMOGRE_OUT($arg, $var, LogManager)

O_MANUALOBJECT
	TMOGRE_OUT($arg, $var, ManualObject)

O_MATERIALMANAGER
	TMOGRE_OUT($arg, $var, MaterialManager)

O_MATRIX3
	TMOGRE_OUT($arg, $var, Matrix3)

O_MESHMANAGER
	TMOGRE_OUT($arg, $var, MeshManager)

O_MESHPTR
	TMOGRE_OUT($arg, $var, MeshPtr)

O_MOVABLEOBJECT
	TMOGRE_OUT($arg, $var, MovableObject)

O_NODE
	TMOGRE_OUT($arg, $var, Node)

O_OVERLAY
	TMOGRE_OUT($arg, $var, Overlay)

O_OVERLAYCONTAINER
	TMOGRE_OUT($arg, $var, OverlayContainer)

O_OVERLAYELEMENT
	TMOGRE_OUT($arg, $var, OverlayElement)

O_OVERLAYMANAGER
	TMOGRE_OUT($arg, $var, OverlayManager)

O_PARTICLESYSTEM
	TMOGRE_OUT($arg, $var, ParticleSystem)

O_PLANE
	TMOGRE_OUT($arg, $var, Plane)

O_QUATERNION
	TMOGRE_OUT($arg, $var, Quaternion)

O_RADIAN
	TMOGRE_OUT($arg, $var, Radian)

O_RESOURCEGROUPMANAGER
	TMOGRE_OUT($arg, $var, ResourceGroupManager)

O_RENDERABLE
	TMOGRE_OUT($arg, $var, Renderable)

O_RENDERTARGET
	TMOGRE_OUT($arg, $var, RenderTarget)

O_RENDERWINDOW
	TMOGRE_OUT($arg, $var, RenderWindow)

O_RIBBONTRAIL
	TMOGRE_OUT($arg, $var, RibbonTrail)

O_ROOT
	TMOGRE_OUT($arg, $var, Root)

O_SCENEMANAGER
	TMOGRE_OUT($arg, $var, SceneManager)

O_SCENENODE
	TMOGRE_OUT($arg, $var, SceneNode)

O_STATICGEOMETRY
	TMOGRE_OUT($arg, $var, StaticGeometry)

O_STRINGINTERFACE
	TMOGRE_OUT($arg, $var, StringInterface)

O_SUBENTITY
	TMOGRE_OUT($arg, $var, SubEntity)

O_TEXTUREMANAGER
	TMOGRE_OUT($arg, $var, TextureManager)

O_VECTOR3
	TMOGRE_OUT($arg, $var, Vector3)

O_VIEWPORT
	TMOGRE_OUT($arg, $var, Viewport)

O_WINDOWEVENTLISTENER
	TMOGRE_OUT($arg, $var, WindowEventListener)
