void btAxisSweep3_unQuantize(btAxisSweep3* obj, btBroadphaseProxy* proxy, btScalar* aabbMin, btScalar* aabbMax) { VECTOR3_DEF(aabbMin); VECTOR3_DEF(aabbMax); obj->unQuantize(proxy, VECTOR3_USE(aabbMin), VECTOR3_USE(aabbMax)); VECTOR3_DEF_OUT(aabbMin); VECTOR3_DEF_OUT(aabbMax); }
void btTriangleShape_getPlaneEquation(btTriangleShape* obj, int i, btScalar* planeNormal, btScalar* planeSupport) { VECTOR3_DEF(planeNormal); VECTOR3_DEF(planeSupport); obj->getPlaneEquation(i, VECTOR3_USE(planeNormal), VECTOR3_USE(planeSupport)); VECTOR3_DEF_OUT(planeNormal); VECTOR3_DEF_OUT(planeSupport); }
void btPolyhedralConvexShape_getPlane(btPolyhedralConvexShape* obj, btScalar* planeNormal, btScalar* planeSupport, int i) { VECTOR3_DEF(planeNormal); VECTOR3_DEF(planeSupport); obj->getPlane(VECTOR3_USE(planeNormal), VECTOR3_USE(planeSupport), i); VECTOR3_DEF_OUT(planeNormal); VECTOR3_DEF_OUT(planeSupport); }
void btBroadphaseInterface_getBroadphaseAabb(btBroadphaseInterface* obj, btScalar* aabbMin, btScalar* aabbMax) { VECTOR3_DEF(aabbMin); VECTOR3_DEF(aabbMax); obj->getBroadphaseAabb(VECTOR3_USE(aabbMin), VECTOR3_USE(aabbMax)); VECTOR3_DEF_OUT(aabbMin); VECTOR3_DEF_OUT(aabbMax); }
void btPolyhedralConvexShape_getEdge(btPolyhedralConvexShape* obj, int i, btScalar* pa, btScalar* pb) { VECTOR3_DEF(pa); VECTOR3_DEF(pb); obj->getEdge(i, VECTOR3_USE(pa), VECTOR3_USE(pb)); VECTOR3_DEF_OUT(pa); VECTOR3_DEF_OUT(pb); }
void btPolyhedralConvexAabbCachingShape_getNonvirtualAabb(btPolyhedralConvexAabbCachingShape* obj, const btScalar* trans, btScalar* aabbMin, btScalar* aabbMax, btScalar margin) { TRANSFORM_CONV(trans); VECTOR3_DEF(aabbMin); VECTOR3_DEF(aabbMax); obj->getNonvirtualAabb(TRANSFORM_USE(trans), VECTOR3_USE(aabbMin), VECTOR3_USE(aabbMax), margin); VECTOR3_DEF_OUT(aabbMin); VECTOR3_DEF_OUT(aabbMax); }
void btTransformUtil_integrateTransform(btScalar* curTrans, btScalar* linvel, btScalar* angvel, btScalar timeStep, btScalar* predictedTransform) { TRANSFORM_CONV(curTrans); VECTOR3_DEF(linvel); VECTOR3_DEF(angvel); TRANSFORM_DEF(predictedTransform); btTransformUtil::integrateTransform(TRANSFORM_USE(curTrans), VECTOR3_USE(linvel), VECTOR3_USE(angvel), timeStep, TRANSFORM_USE(predictedTransform)); TRANSFORM_DEF_OUT(predictedTransform); }
void btConvexPolyhedron_project(btConvexPolyhedron* obj, const btScalar* trans, const btScalar* dir, btScalar* minProj, btScalar* maxProj, btScalar* witnesPtMin, btScalar* witnesPtMax) { TRANSFORM_CONV(trans); VECTOR3_CONV(dir); VECTOR3_DEF(witnesPtMin); VECTOR3_DEF(witnesPtMax); obj->project(TRANSFORM_USE(trans), VECTOR3_USE(dir), *minProj, *maxProj, VECTOR3_USE(witnesPtMin), VECTOR3_USE(witnesPtMax)); VECTOR3_DEF_OUT(witnesPtMin); VECTOR3_DEF_OUT(witnesPtMax); }
void btTransformUtil_calculateVelocity(btScalar* transform0, btScalar* transform1, btScalar timeStep, btScalar* linVel, btScalar* angVel) { TRANSFORM_CONV(transform0); TRANSFORM_CONV(transform1); VECTOR3_DEF(linVel); VECTOR3_DEF(angVel); btTransformUtil::calculateVelocity(TRANSFORM_USE(transform0), TRANSFORM_USE(transform1), timeStep, VECTOR3_USE(linVel), VECTOR3_USE(angVel)); VECTOR3_DEF_OUT(linVel); VECTOR3_DEF_OUT(angVel); }
bool btSphereBoxCollisionAlgorithm_getSphereDistance(btSphereBoxCollisionAlgorithm* obj, const btCollisionObjectWrapper* boxObjWrap, btScalar* v3PointOnBox, btScalar* normal, btScalar* penetrationDepth, const btScalar* v3SphereCenter, btScalar fRadius, btScalar maxContactDistance) { VECTOR3_CONV(v3PointOnBox); VECTOR3_DEF(normal); VECTOR3_DEF(v3SphereCenter); bool ret = obj->getSphereDistance(boxObjWrap, VECTOR3_USE(v3PointOnBox), VECTOR3_USE(normal), *penetrationDepth, VECTOR3_USE(v3SphereCenter), fRadius, maxContactDistance); VECTOR3_DEF_OUT(v3PointOnBox); VECTOR3_DEF_OUT(normal); return ret; }
btScalar btSphereBoxCollisionAlgorithm_getSpherePenetration(btSphereBoxCollisionAlgorithm* obj, const btScalar* boxHalfExtent, const btScalar* sphereRelPos, btScalar* closestPoint, btScalar* normal) { VECTOR3_CONV(boxHalfExtent); VECTOR3_CONV(sphereRelPos); VECTOR3_DEF(closestPoint); VECTOR3_DEF(normal); btScalar ret = obj->getSpherePenetration(VECTOR3_USE(boxHalfExtent), VECTOR3_USE(sphereRelPos), VECTOR3_USE(closestPoint), VECTOR3_USE(normal)); VECTOR3_DEF_OUT(closestPoint); VECTOR3_DEF_OUT(normal); return ret; }
void btTransformUtil_calculateVelocityQuaternion(btScalar* pos0, btScalar* pos1, btScalar* orn0, btScalar* orn1, btScalar timeStep, btScalar* linVel, btScalar* angVel) { VECTOR3_CONV(pos0); VECTOR3_CONV(pos1); QUATERNION_CONV(orn0); QUATERNION_CONV(orn1); VECTOR3_DEF(linVel); VECTOR3_DEF(angVel); btTransformUtil::calculateVelocityQuaternion(VECTOR3_USE(pos0), VECTOR3_USE(pos1), QUATERNION_USE(orn0), QUATERNION_USE(orn1), timeStep, VECTOR3_USE(linVel), VECTOR3_USE(angVel)); VECTOR3_DEF_OUT(linVel); VECTOR3_DEF_OUT(angVel); }
CylinderShape::CylinderShape(Vector3 halfExtents) : ConvexInternalShape(0) { VECTOR3_DEF(halfExtents); UnmanagedPointer = new btCylinderShape(VECTOR3_USE(halfExtents)); VECTOR3_DEL(halfExtents); }
CylinderShapeZ::CylinderShapeZ(Vector3 halfExtents) : CylinderShape((btCylinderShape*)0) { VECTOR3_DEF(halfExtents); UnmanagedPointer = new btCylinderShapeZ(VECTOR3_USE(halfExtents)); VECTOR3_DEL(halfExtents); }
MultiBody::MultiBody(int nLinks, btScalar mass, Vector3 inertia, bool fixedBase, bool canSleep, bool multiDof) { VECTOR3_DEF(inertia); _native = new btMultiBody(nLinks, mass, VECTOR3_USE(inertia), fixedBase, canSleep, multiDof); VECTOR3_DEL(inertia); }
StaticPlaneShape::StaticPlaneShape(Vector3 planeNormal, btScalar planeConstant) : ConcaveShape(0) { VECTOR3_DEF(planeNormal); UnmanagedPointer = new btStaticPlaneShape(VECTOR3_USE(planeNormal), planeConstant); VECTOR3_DEL(planeNormal); }
void btTransformUtil_calculateDiffAxisAngle(btScalar* transform0, btScalar* transform1, btScalar* axis, btScalar* angle) { TRANSFORM_CONV(transform0); TRANSFORM_CONV(transform1); VECTOR3_DEF(axis); btTransformUtil::calculateDiffAxisAngle(TRANSFORM_USE(transform0), TRANSFORM_USE(transform1), VECTOR3_USE(axis), *angle); VECTOR3_DEF_OUT(axis); }
void btTransformUtil_calculateDiffAxisAngleQuaternion(btScalar* orn0, btScalar* orn1a, btScalar* axis, btScalar* angle) { QUATERNION_CONV(orn0); QUATERNION_CONV(orn1a); VECTOR3_DEF(axis); btTransformUtil::calculateDiffAxisAngleQuaternion(QUATERNION_USE(orn0), QUATERNION_USE(orn1a), VECTOR3_USE(axis), *angle); VECTOR3_DEF_OUT(axis); }
Vector3 TriangleMeshShape::LocalGetSupportingVertexWithoutMargin(Vector3 vec) { VECTOR3_DEF(vec); btVector3* vecOut = ALIGNED_NEW(btVector3); TriangleMeshShape_LocalGetSupportingVertexWithoutMargin(Native, VECTOR3_PTR(vec), vecOut); Vector3 vertex = Math::BtVector3ToVector3(vecOut); VECTOR3_DEL(vec); ALIGNED_FREE(vecOut); return vertex; }
void MultiBody::AddLinkTorque(int i, Vector3 t) { VECTOR3_DEF(t); _native->addLinkTorque(i, VECTOR3_USE(t)); VECTOR3_DEL(t); }
void MultiBody::AddLinkForce(int i, Vector3 f) { VECTOR3_DEF(f); _native->addLinkForce(i, VECTOR3_USE(f)); VECTOR3_DEL(f); }
void MultiBody::AddBaseTorque(Vector3 t) { VECTOR3_DEF(t); _native->addBaseTorque(VECTOR3_USE(t)); VECTOR3_DEL(t); }
void MultiBody::AddBaseForce(Vector3 f) { VECTOR3_DEF(f); _native->addBaseForce(VECTOR3_USE(f)); VECTOR3_DEL(f); }
void btPolyhedralConvexShape_getVertex(btPolyhedralConvexShape* obj, int i, btScalar* vtx) { VECTOR3_DEF(vtx); obj->getVertex(i, VECTOR3_USE(vtx)); VECTOR3_DEF_OUT(vtx); }
void btTriangleShape_calcNormal(btTriangleShape* obj, btScalar* normal) { VECTOR3_DEF(normal); obj->calcNormal(VECTOR3_USE(normal)); VECTOR3_DEF_OUT(normal); }
void btGeneric6DofConstraint_getLinearUpperLimit(btGeneric6DofConstraint* obj, btScalar* linearUpper) { VECTOR3_DEF(linearUpper); obj->getLinearUpperLimit(VECTOR3_USE(linearUpper)); VECTOR3_DEF_OUT(linearUpper); }
void btGeneric6DofConstraint_getAngularUpperLimit(btGeneric6DofConstraint* obj, btScalar* angularUpper) { VECTOR3_DEF(angularUpper); obj->getAngularUpperLimit(VECTOR3_USE(angularUpper)); VECTOR3_DEF_OUT(angularUpper); }
void MultibodyLink::SetAxisTop(int dof, Vector3 axis) { VECTOR3_DEF(axis); _native->setAxisTop(dof, VECTOR3_USE(axis)); VECTOR3_DEL(axis); }