packages feed

HGamer3D-Ogre-Binding-0.3.2: include/ClassPtr.h

// This source file is part of HGamer3D, a project to enable 3D game development 
// in Haskell. For the latest info, see http://www.hgamer3d.org .
// 
// (c) 2011-2014 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.
// 

// ClassPtr.h

// Here are the methods defined, which do the class pointer
// marshalling and the casting of subclasses to higher classes

#include "wchar.h"


#ifndef CLASSPTR_INCLUDE_H
#define CLASSPTR_INCLUDE_H

typedef struct hg3dclass_struct {
	void *ptr;
	void *fptr;
} hg3dclass_struct;

void *getHG3DClassPtr(hg3dclass_struct inSt, const char* className);


typedef void ClassAnimation; 
hg3dclass_struct getHG3DClass_Animation(void *ptrIn);

typedef void ClassAnimationState; 
hg3dclass_struct getHG3DClass_AnimationState(void *ptrIn);

typedef void ClassAnimationStateSet; 
hg3dclass_struct getHG3DClass_AnimationStateSet(void *ptrIn);

typedef void ClassAnimationTrack; 
hg3dclass_struct getHG3DClass_AnimationTrack(void *ptrIn);

typedef void ClassArchive; 
hg3dclass_struct getHG3DClass_Archive(void *ptrIn);

typedef void ClassArchiveManager; 
hg3dclass_struct getHG3DClass_ArchiveManager(void *ptrIn);

typedef void ClassBillboard; 
hg3dclass_struct getHG3DClass_Billboard(void *ptrIn);

typedef void ClassBillboardChain; 
hg3dclass_struct getHG3DClass_BillboardChain(void *ptrIn);

typedef void ClassBillboardChainFactory; 
hg3dclass_struct getHG3DClass_BillboardChainFactory(void *ptrIn);

typedef void ClassBillboardSet; 
hg3dclass_struct getHG3DClass_BillboardSet(void *ptrIn);

typedef void ClassBillboardSetFactory; 
hg3dclass_struct getHG3DClass_BillboardSetFactory(void *ptrIn);

typedef void ClassBone; 
hg3dclass_struct getHG3DClass_Bone(void *ptrIn);

typedef void ClassCamera; 
hg3dclass_struct getHG3DClass_Camera(void *ptrIn);

typedef void ClassConfigFile; 
hg3dclass_struct getHG3DClass_ConfigFile(void *ptrIn);

typedef void ClassControllerManager; 
hg3dclass_struct getHG3DClass_ControllerManager(void *ptrIn);

typedef void ClassEntity; 
hg3dclass_struct getHG3DClass_Entity(void *ptrIn);

typedef void ClassEntityFactory; 
hg3dclass_struct getHG3DClass_EntityFactory(void *ptrIn);

typedef void ClassException; 
hg3dclass_struct getHG3DClass_Exception(void *ptrIn);

typedef void ClassFrustum; 
hg3dclass_struct getHG3DClass_Frustum(void *ptrIn);

typedef void ClassLight; 
hg3dclass_struct getHG3DClass_Light(void *ptrIn);

typedef void ClassLightFactory; 
hg3dclass_struct getHG3DClass_LightFactory(void *ptrIn);

typedef void ClassLog; 
hg3dclass_struct getHG3DClass_Log(void *ptrIn);

typedef void ClassLogManager; 
hg3dclass_struct getHG3DClass_LogManager(void *ptrIn);

typedef void ClassManualObject; 
hg3dclass_struct getHG3DClass_ManualObject(void *ptrIn);

typedef void ClassManualObjectFactory; 
hg3dclass_struct getHG3DClass_ManualObjectFactory(void *ptrIn);

typedef void ClassManualObjectSection; 
hg3dclass_struct getHG3DClass_ManualObjectSection(void *ptrIn);

typedef void ClassMaterial; 
hg3dclass_struct getHG3DClass_Material(void *ptrIn);

typedef void ClassMaterialManager; 
hg3dclass_struct getHG3DClass_MaterialManager(void *ptrIn);

typedef void ClassMesh; 
hg3dclass_struct getHG3DClass_Mesh(void *ptrIn);

typedef void ClassMeshManager; 
hg3dclass_struct getHG3DClass_MeshManager(void *ptrIn);

typedef void ClassMovableObject; 
hg3dclass_struct getHG3DClass_MovableObject(void *ptrIn);

typedef void ClassMovableObjectFactory; 
hg3dclass_struct getHG3DClass_MovableObjectFactory(void *ptrIn);

typedef void ClassMultiRenderTarget; 
hg3dclass_struct getHG3DClass_MultiRenderTarget(void *ptrIn);

typedef void ClassNode; 
hg3dclass_struct getHG3DClass_Node(void *ptrIn);

typedef void ClassNodeAnimationTrack; 
hg3dclass_struct getHG3DClass_NodeAnimationTrack(void *ptrIn);

typedef void ClassNumericAnimationTrack; 
hg3dclass_struct getHG3DClass_NumericAnimationTrack(void *ptrIn);

typedef void ClassRenderable; 
hg3dclass_struct getHG3DClass_Renderable(void *ptrIn);

typedef void ClassRenderSystem; 
hg3dclass_struct getHG3DClass_RenderSystem(void *ptrIn);

typedef void ClassRenderTarget; 
hg3dclass_struct getHG3DClass_RenderTarget(void *ptrIn);

typedef void ClassRenderTexture; 
hg3dclass_struct getHG3DClass_RenderTexture(void *ptrIn);

typedef void ClassRenderWindow; 
hg3dclass_struct getHG3DClass_RenderWindow(void *ptrIn);

typedef void ClassResource; 
hg3dclass_struct getHG3DClass_Resource(void *ptrIn);

typedef void ClassResourceGroupManager; 
hg3dclass_struct getHG3DClass_ResourceGroupManager(void *ptrIn);

typedef void ClassResourceManager; 
hg3dclass_struct getHG3DClass_ResourceManager(void *ptrIn);

typedef void ClassRoot; 
hg3dclass_struct getHG3DClass_Root(void *ptrIn);

typedef void ClassSceneManager; 
hg3dclass_struct getHG3DClass_SceneManager(void *ptrIn);

typedef void ClassSceneManagerFactory; 
hg3dclass_struct getHG3DClass_SceneManagerFactory(void *ptrIn);

typedef void ClassSceneNode; 
hg3dclass_struct getHG3DClass_SceneNode(void *ptrIn);

typedef void ClassSkeleton; 
hg3dclass_struct getHG3DClass_Skeleton(void *ptrIn);

typedef void ClassSkeletonManager; 
hg3dclass_struct getHG3DClass_SkeletonManager(void *ptrIn);

typedef void ClassTextureManager; 
hg3dclass_struct getHG3DClass_TextureManager(void *ptrIn);

typedef void ClassTimeIndex; 
hg3dclass_struct getHG3DClass_TimeIndex(void *ptrIn);

typedef void ClassVertexAnimationTrack; 
hg3dclass_struct getHG3DClass_VertexAnimationTrack(void *ptrIn);

typedef void ClassViewport; 
hg3dclass_struct getHG3DClass_Viewport(void *ptrIn);

typedef void ClassWindowEventUtilities; 
hg3dclass_struct getHG3DClass_WindowEventUtilities(void *ptrIn);

typedef void ClassHG3DUtilities; 
hg3dclass_struct getHG3DClass_HG3DUtilities(void *ptrIn);

#endif