packages feed

HGamer3D-Bullet-Binding-0.2.0: 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.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.
// 

// 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 ClassHG3DBulletDefaultCreator; 
hg3dclass_struct getHG3DClass_HG3DBulletDefaultCreator(void *ptrIn);

typedef void ClassHG3DMotionStateHandler; 
hg3dclass_struct getHG3DClass_HG3DMotionStateHandler(void *ptrIn);

typedef void ClassHG3DRigidBodyCreator; 
hg3dclass_struct getHG3DClass_HG3DRigidBodyCreator(void *ptrIn);

typedef void ClassbtActionInterface; 
hg3dclass_struct getHG3DClass_btActionInterface(void *ptrIn);

typedef void ClassbtBroadphaseInterface; 
hg3dclass_struct getHG3DClass_btBroadphaseInterface(void *ptrIn);

typedef void ClassbtCapsuleShapeX; 
hg3dclass_struct getHG3DClass_btCapsuleShapeX(void *ptrIn);

typedef void ClassbtCapsuleShapeZ; 
hg3dclass_struct getHG3DClass_btCapsuleShapeZ(void *ptrIn);

typedef void ClassbtCollisionConfiguration; 
hg3dclass_struct getHG3DClass_btCollisionConfiguration(void *ptrIn);

typedef void ClassbtCollisionDispatcher; 
hg3dclass_struct getHG3DClass_btCollisionDispatcher(void *ptrIn);

typedef void ClassbtCollisionWorld; 
hg3dclass_struct getHG3DClass_btCollisionWorld(void *ptrIn);

typedef void ClassbtConeShapeX; 
hg3dclass_struct getHG3DClass_btConeShapeX(void *ptrIn);

typedef void ClassbtConeShapeZ; 
hg3dclass_struct getHG3DClass_btConeShapeZ(void *ptrIn);

typedef void ClassbtCylinderShapeX; 
hg3dclass_struct getHG3DClass_btCylinderShapeX(void *ptrIn);

typedef void ClassbtCylinderShapeZ; 
hg3dclass_struct getHG3DClass_btCylinderShapeZ(void *ptrIn);

typedef void ClassbtDefaultCollisionConfiguration; 
hg3dclass_struct getHG3DClass_btDefaultCollisionConfiguration(void *ptrIn);

typedef void ClassbtDispatcher; 
hg3dclass_struct getHG3DClass_btDispatcher(void *ptrIn);

typedef void ClassbtDynamicsWorld; 
hg3dclass_struct getHG3DClass_btDynamicsWorld(void *ptrIn);

typedef void ClassbtMotionState; 
hg3dclass_struct getHG3DClass_btMotionState(void *ptrIn);

typedef void ClassbtRigidBody; 
hg3dclass_struct getHG3DClass_btRigidBody(void *ptrIn);

typedef void ClassbtSimpleBroadphase; 
hg3dclass_struct getHG3DClass_btSimpleBroadphase(void *ptrIn);

typedef void ClassbtSimpleDynamicsWorld; 
hg3dclass_struct getHG3DClass_btSimpleDynamicsWorld(void *ptrIn);

#endif