// 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