superstrict
import brl.blitz
import "source.bmx"
NEWTON_DYNAMIC_BODY%=0
NEWTON_KINEMATIC_BODY%=1
NEWTON_DEFORMABLE_BODY%=2
bmx_newtondynamics_NewtonCreate@*(obj:Object)="bmx_newtondynamics_NewtonCreate"
NewtonDestroy(world@*)="NewtonDestroy"
NewtonDestroyAllBodies(world@*)="NewtonDestroyAllBodies"
NewtonInvalidateCache(world@*)="NewtonInvalidateCache"
NewtonUpdate(world@*,timestep#)="NewtonUpdate"
NewtonSetFrictionModel(world@*,model%)="NewtonSetFrictionModel"
NewtonSetMinimumFrameRate(world@*,framerate#)="NewtonSetMinimumFrameRate"
NewtonSetContactMergeTolerance(world@*,tolerance#)="NewtonSetContactMergeTolerance"
bmx_newtondynamics_NewtonCreateDynamicBody@*(obj:Object,world@*,coll@*,matrix#*)="bmx_newtondynamics_NewtonCreateDynamicBody"
bmx_newtondynamics_NewtonCreateSphere@*(obj:Object,world@*,radius#,shapeID%,offsetMatrix#*)="bmx_newtondynamics_NewtonCreateSphere"
bmx_newtondynamics_NewtonCreateBox@*(obj:Object,world@*,dx#,dy#,dz#,shapeID%,offsetMatrix#*)="bmx_newtondynamics_NewtonCreateBox"
bmx_newtondynamics_NewtonCreateTreeCollision@*(obj:Object,world@*,shapeID%)="bmx_newtondynamics_NewtonCreateTreeCollision"
bmx_newtondynamics_NewtonCreateCylinder@*(obj:Object,world@*,radius#,height#,shapeID%,offsetMatrix#*)="bmx_newtondynamics_NewtonCreateCylinder"
NewtonMeshCreate@*(world@*)="NewtonMeshCreate"
bmx_newtondynamics_NewtonWorldRayCast(world@*,p0x#,p0y#,p0z#,p1x#,p1y#,p1z#,fcb#(bodyPtr@*,collPtr@*,hitContact#*,hitNormal#*,delPtr@*,intersectParam#),delegate:Object,_pfcb%(bodyPtr@*,collPtr@*,delPtr@*),threadIndex%)="bmx_newtondynamics_NewtonWorldRayCast"
NewtonWorldGetBodyCount%(world@*)="NewtonWorldGetBodyCount"
NewtonWorldGetConstraintCount%(world@*)="NewtonWorldGetConstraintCount"
NewtonDestroyCollision(coll@*)="NewtonDestroyCollision"
NewtonTreeCollisionBeginBuild(coll@*)="NewtonTreeCollisionBeginBuild"
NewtonTreeCollisionEndBuild(coll@*,optimize%)="NewtonTreeCollisionEndBuild"
NewtonTreeCollisionAddFace(coll@*,vertexCount%,vertexPtr#*,strideInBytes%,faceAttribute%)="NewtonTreeCollisionAddFace"
NewtonDestroyBody(body@*)="NewtonDestroyBody"
NewtonBodyGetMatrix(body@*,matrix#*)="NewtonBodyGetMatrix"
NewtonBodySetForceAndTorqueCallback(body@*,callback(body@*,timestamp#,threadIndex%))="NewtonBodySetForceAndTorqueCallback"
NewtonBodySetSimulationState(body@*,state%)="NewtonBodySetSimulationState"
NewtonBodyGetSimulationState%(body@*)="NewtonBodyGetSimulationState"
NewtonBodyGetType%(body@*)="NewtonBodyGetType"
NewtonBodyGetCollidable%(body@*)="NewtonBodyGetCollidable"
NewtonBodySetCollidable(body@*,collidableState%)="NewtonBodySetCollidable"
NewtonBodyGetMassMatrix(body@*,mass#*,Ixx#*,Iyy#*,Izz#*)="NewtonBodyGetMassMatrix"
NewtonBodySetMassProperties(body@*,mass#,coll@*)="NewtonBodySetMassProperties"
NewtonBodySetLinearDamping(body@*,linearDamp#)="NewtonBodySetLinearDamping"
NewtonBodyGetInvMass(body@*,mass#*,Ixx#*,Iyy#*,Izz#*)="NewtonBodyGetInvMass"
NewtonBodyGetInertiaMatrix(body@*,matrix#*)="NewtonBodyGetInertiaMatrix"
NewtonBodyGetInvInertiaMatrix(body@*,matrix#*)="NewtonBodyGetInvInertiaMatrix"
NewtonBodySetMatrix(body@*,matrix#*)="NewtonBodySetMatrix"
NewtonBodySetTransformCallback(body@*,callback(body@*,matrix#*,threadIndex%))="NewtonBodySetTransformCallback"
bmx_newtondynamics_NewtonBodyGetRotation(body@*,q0#*,q1#*,q2#*,q3#*)="bmx_newtondynamics_NewtonBodyGetRotation"
bmx_newtondynamics_NewtonBodyGetOmega(body@*,ox#*,oy#*,oz#*)="bmx_newtondynamics_NewtonBodyGetOmega"
bmx_newtondynamics_NewtonBodyGetVelocity(body@*,vx#*,vy#*,vz#*)="bmx_newtondynamics_NewtonBodyGetVelocity"
bmx_newtondynamics_NewtonBodyGetForce(body@*,fx#*,fy#*,fz#*)="bmx_newtondynamics_NewtonBodyGetForce"
bmx_newtondynamics_NewtonBodyGetTorque(body@*,tx#*,ty#*,tz#*)="bmx_newtondynamics_NewtonBodyGetTorque"
bmx_newtondynamics_NewtonBodyGetForceAcc(body@*,fx#*,fy#*,fz#*)="bmx_newtondynamics_NewtonBodyGetForceAcc"
bmx_newtondynamics_NewtonBodyGetTorqueAcc(body@*,tx#*,ty#*,tz#*)="bmx_newtondynamics_NewtonBodyGetTorqueAcc"
bmx_newtondynamics_NewtonBodyGetCentreOfMass(body@*,cx#*,cy#*,cz#*)="bmx_newtondynamics_NewtonBodyGetCentreOfMass"
bmx_newtondynamics_NewtonBodySetAngularDamping(body@*,aX#,aY#,aZ#)="bmx_newtondynamics_NewtonBodySetAngularDamping"
bmx_newtondynamics_NewtonBodyGetAngularDamping(body@*,aX#*,aY#*,aZ#*)="bmx_newtondynamics_NewtonBodyGetAngularDamping"
bmx_newtondynamics_NewtonBodySetOmega(body@*,ox#,oy#,oz#,ow#)="bmx_newtondynamics_NewtonBodySetOmega"
bmx_newtondynamics_NewtonBodySetVelocity(body@*,vx#,vy#,vz#,vw#)="bmx_newtondynamics_NewtonBodySetVelocity"
bmx_newtondynamics_NewtonBodySetForce(body@*,fx#,fy#,yz#,fw#)="bmx_newtondynamics_NewtonBodySetForce"
bmx_newtondynamics_NewtonBodySetTorque(body@*,tx#,ty#,tz#,tw#)="bmx_newtondynamics_NewtonBodySetTorque"
bmx_newtondynamics_NewtonBodyGetAABB(body@*,p0x#*,p0y#*,p0z#*,p1x#*,p1y#*,p1z#*)="bmx_newtondynamics_NewtonBodyGetAABB"
bmx_newtondynamics_NewtonBodyAddForce(body@*,fx#,fy#,yz#)="bmx_newtondynamics_NewtonBodyAddForce"
bmx_newtondynamics_NewtonBodyAddTorque(body@*,tx#,ty#,tz#)="bmx_newtondynamics_NewtonBodyAddTorque"
bmx_newtondynamics_NewtonBodyCalculateInverseDynamicsForce(body@*,timestep#,vx#,vy#,vz#,fx#*,fy#*,fz#*)="bmx_newtondynamics_NewtonBodyCalculateInverseDynamicsForce"
bmx_newtondynamics_matrix_GetEulerAngles(frontX#*,pitch0#*,yaw0#*,roll0#*,pitch1#*,yaw1#*,roll1#*)="bmx_newtondynamics_matrix_GetEulerAngles"
NewtonMeshDestroy(mesh@*)="NewtonMeshDestroy"
NewtonMeshApplyTransform(mesh@*,matrix#*)="NewtonMeshApplyTransform"
NewtonMeshCalculateOOBB(mesh@*,matrix#*,x#*,y#*,z#*)="NewtonMeshCalculateOOBB"
NewtonMeshCalculateVertexNormals(mesh@*,angle#)="NewtonMeshCalculateVertexNormals"
NewtonMeshApplySphericalMapping(mesh@*,material%)="NewtonMeshApplySphericalMapping"
NewtonMeshApplyCylindricalMapping(mesh@*,cylinderMaterial%,capMaterial%)="NewtonMeshApplyCylindricalMapping"
NewtonMeshApplyBoxMapping(mesh@*,front%,side%,top%)="NewtonMeshApplyBoxMapping"
NewtonMeshIsOpenMesh%(mesh@*)="NewtonMeshIsOpenMesh"
NewtonMeshFixTJoints(mesh@*)="NewtonMeshFixTJoints"
NewtonMeshPolygonize(mesh@*)="NewtonMeshPolygonize"
NewtonMeshTriangulate(mesh@*)="NewtonMeshTriangulate"
NewtonMeshBeginFace(mesh@*)="NewtonMeshBeginFace"
NewtonMeshAddFace(mesh@*,vertexCount%,vertex#*,strideInBytes%,materialIndex%)="NewtonMeshAddFace"
NewtonMeshEndFace(mesh@*)="NewtonMeshEndFace"
NewtonMeshGetVertexCount%(mesh@*)="NewtonMeshGetVertexCount"
NewtonMeshGetVertexStrideInByte%(mesh@*)="NewtonMeshGetVertexStrideInByte"
NewtonMeshGetVertexArray!*(mesh@*)="NewtonMeshGetVertexArray"
NewtonMeshGetTotalFaceCount%(mesh@*)="NewtonMeshGetTotalFaceCount"
NewtonMeshGetTotalIndexCount%(mesh@*)="NewtonMeshGetTotalIndexCount"
NewtonMeshGetPointCount%(mesh@*)="NewtonMeshGetPointCount"
NewtonMeshGetPointStrideInByte%(mesh@*)="NewtonMeshGetPointStrideInByte"
NewtonMeshGetPointArray!*(mesh@*)="NewtonMeshGetPointArray"
NewtonMeshGetNormalArray!*(mesh@*)="NewtonMeshGetNormalArray"
NewtonMeshGetUV0Array!*(mesh@*)="NewtonMeshGetUV0Array"
NewtonMeshGetUV1Array!*(mesh@*)="NewtonMeshGetUV1Array"