packages feed

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

// ClassRigidBody.h

// 

#include "wchar.h"
#ifndef _DEFINED_HG3D_ClassRigidBody
#define _DEFINED_HG3D_ClassRigidBody

#include "ClassPtr.h"
#include "StructVec3.h"
#include "StructQuaternion.h"
#include "ClassMotionState.h"



// 
void bt_rgdbd_destruct(struct hg3dclass_struct * thisclass_c);

// 
void bt_rgdbd_saveKinematicState(struct hg3dclass_struct * thisclass_c, float step_c);

// 
void bt_rgdbd_applyGravity(struct hg3dclass_struct * thisclass_c);

// 
void bt_rgdbd_setGravity(struct hg3dclass_struct * thisclass_c, struct vector3_struct * acceleration_c);

// 
void bt_rgdbd_getGravity(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);

// 
void bt_rgdbd_setDamping(struct hg3dclass_struct * thisclass_c, float lin_damping_c, float ang_damping_c);

// 
void bt_rgdbd_getLinearDamping(struct hg3dclass_struct * thisclass_c, float * result_c);

// 
void bt_rgdbd_getAngularDamping(struct hg3dclass_struct * thisclass_c, float * result_c);

// 
void bt_rgdbd_getLinearSleepingThreshold(struct hg3dclass_struct * thisclass_c, float * result_c);

// 
void bt_rgdbd_getAngularSleepingThreshold(struct hg3dclass_struct * thisclass_c, float * result_c);

// 
void bt_rgdbd_applyDamping(struct hg3dclass_struct * thisclass_c, float timeStep_c);

// 
void bt_rgdbd_setMassProps(struct hg3dclass_struct * thisclass_c, float mass_c, struct vector3_struct * inertia_c);

// 
void bt_rgdbd_getLinearFactor(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);

// 
void bt_rgdbd_setLinearFactor(struct hg3dclass_struct * thisclass_c, struct vector3_struct * linearFactor_c);

// 
void bt_rgdbd_getInvMass(struct hg3dclass_struct * thisclass_c, float * result_c);

// 
void bt_rgdbd_integrateVelocities(struct hg3dclass_struct * thisclass_c, float step_c);

// 
void bt_rgdbd_applyCentralForce(struct hg3dclass_struct * thisclass_c, struct vector3_struct * force_c);

// 
void bt_rgdbd_getTotalForce(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);

// 
void bt_rgdbd_getTotalTorque(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);

// 
void bt_rgdbd_getInvInertiaDiagLocal(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);

// 
void bt_rgdbd_setInvInertiaDiagLocal(struct hg3dclass_struct * thisclass_c, struct vector3_struct * diagInvInertia_c);

// 
void bt_rgdbd_setSleepingThresholds(struct hg3dclass_struct * thisclass_c, float linear_c, float angular_c);

// 
void bt_rgdbd_applyTorque(struct hg3dclass_struct * thisclass_c, struct vector3_struct * torque_c);

// 
void bt_rgdbd_applyForce(struct hg3dclass_struct * thisclass_c, struct vector3_struct * force_c, struct vector3_struct * rel_pos_c);

// 
void bt_rgdbd_applyCentralImpulse(struct hg3dclass_struct * thisclass_c, struct vector3_struct * impulse_c);

// 
void bt_rgdbd_applyTorqueImpulse(struct hg3dclass_struct * thisclass_c, struct vector3_struct * torque_c);

// 
void bt_rgdbd_applyImpulse(struct hg3dclass_struct * thisclass_c, struct vector3_struct * impulse_c, struct vector3_struct * rel_pos_c);

// 
void bt_rgdbd_clearForces(struct hg3dclass_struct * thisclass_c);

// 
void bt_rgdbd_updateInertiaTensor(struct hg3dclass_struct * thisclass_c);

// 
void bt_rgdbd_getCenterOfMassPosition(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);

// 
void bt_rgdbd_getOrientation(struct hg3dclass_struct * thisclass_c, struct quaternion_struct * result_c);

// 
void bt_rgdbd_getLinearVelocity(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);

// 
void bt_rgdbd_getAngularVelocity(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);

// 
void bt_rgdbd_setLinearVelocity(struct hg3dclass_struct * thisclass_c, struct vector3_struct * lin_vel_c);

// 
void bt_rgdbd_setAngularVelocity(struct hg3dclass_struct * thisclass_c, struct vector3_struct * ang_vel_c);

// 
void bt_rgdbd_getVelocityInLocalPoint(struct hg3dclass_struct * thisclass_c, struct vector3_struct * rel_pos_c, struct vector3_struct * result_c);

// 
void bt_rgdbd_translate(struct hg3dclass_struct * thisclass_c, struct vector3_struct * v_c);

// 
void bt_rgdbd_getAabb(struct hg3dclass_struct * thisclass_c, struct vector3_struct * aabbMin_c, struct vector3_struct * aabbMax_c);

// 
void bt_rgdbd_getMotionState(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);

// 
void bt_rgdbd_getMotionState2(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * result_c);

// 
void bt_rgdbd_setMotionState(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * motionState_c);

// 
void bt_rgdbd_setAngularFactor(struct hg3dclass_struct * thisclass_c, struct vector3_struct * angFac_c);

// 
void bt_rgdbd_setAngularFactor2(struct hg3dclass_struct * thisclass_c, float angFac_c);

// 
void bt_rgdbd_getAngularFactor(struct hg3dclass_struct * thisclass_c, struct vector3_struct * result_c);

// 
void bt_rgdbd_isInWorld(struct hg3dclass_struct * thisclass_c, int * result_c);

// 
void bt_rgdbd_getNumConstraintRefs(struct hg3dclass_struct * thisclass_c, int * result_c);

// 
void bt_rgdbd_setFlags(struct hg3dclass_struct * thisclass_c, int flags_c);

// 
void bt_rgdbd_getFlags(struct hg3dclass_struct * thisclass_c, int * result_c);

// 
void bt_rgdbd_computeGyroscopicForce(struct hg3dclass_struct * thisclass_c, float maxGyroscopicForce_c, struct vector3_struct * result_c);

// 
void bt_rgdbd_calculateSerializeBufferSize(struct hg3dclass_struct * thisclass_c, int * result_c);

#endif