@NoOffset @Properties(inherit=Bullet3Dynamics.class) public class b3Generic6DofConstraint extends b3TypedConstraint
| AXIS | MIN ANGLE | MAX ANGLE |
| X | -PI | PI |
| Y | -PI/2 | PI/2 |
| Z | -PI | PI |
b3TypedConstraint.b3ConstraintInfo1, b3TypedConstraint.b3ConstraintInfo2Pointer.CustomDeallocator, Pointer.Deallocator, Pointer.NativeDeallocator, Pointer.ReferenceCounter| Constructor and Description |
|---|
b3Generic6DofConstraint(int rbA,
int rbB,
b3Transform frameInA,
b3Transform frameInB,
boolean useLinearReferenceFrameA,
b3RigidBodyData bodies) |
b3Generic6DofConstraint(Pointer p)
Pointer cast constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
calcAnchorPos(b3RigidBodyData bodies) |
void |
calculateTransforms(b3RigidBodyData bodies) |
void |
calculateTransforms(b3Transform transA,
b3Transform transB,
b3RigidBodyData bodies)
Calcs global transform of the offsets
/**
Calcs the global transform for the joint offset for body A an B, and also calcs the agle differences between the bodies.
|
int |
get_limit_motor_info2(b3RotationalLimitMotor limot,
b3Transform transA,
b3Transform transB,
b3Vector3 linVelA,
b3Vector3 linVelB,
b3Vector3 angVelA,
b3Vector3 angVelB,
b3TypedConstraint.b3ConstraintInfo2 info,
int row,
b3Vector3 ax1,
int rotational) |
int |
get_limit_motor_info2(b3RotationalLimitMotor limot,
b3Transform transA,
b3Transform transB,
b3Vector3 linVelA,
b3Vector3 linVelB,
b3Vector3 angVelA,
b3Vector3 angVelB,
b3TypedConstraint.b3ConstraintInfo2 info,
int row,
b3Vector3 ax1,
int rotational,
int rotAllowed) |
float |
getAngle(int axis_index)
Get the relative Euler angle
/**
\pre b3Generic6DofConstraint::calculateTransforms() must be called previously.
|
void |
getAngularLowerLimit(b3Vector3 angularLower) |
void |
getAngularUpperLimit(b3Vector3 angularUpper) |
b3Vector3 |
getAxis(int axis_index)
Get the rotation axis in global coordinates
|
b3Transform |
getCalculatedTransformA()
Gets the global transform of the offset for body A
/**
|
b3Transform |
getCalculatedTransformB()
Gets the global transform of the offset for body B
/**
|
b3Transform |
getFrameOffsetA() |
b3Transform |
getFrameOffsetB() |
void |
getInfo1(b3TypedConstraint.b3ConstraintInfo1 info,
b3RigidBodyData bodies)
internal method used by the constraint solver, don't use them directly
|
void |
getInfo1NonVirtual(b3TypedConstraint.b3ConstraintInfo1 info,
b3RigidBodyData bodies) |
void |
getInfo2(b3TypedConstraint.b3ConstraintInfo2 info,
b3RigidBodyData bodies)
internal method used by the constraint solver, don't use them directly
|
void |
getInfo2NonVirtual(b3TypedConstraint.b3ConstraintInfo2 info,
b3Transform transA,
b3Transform transB,
b3Vector3 linVelA,
b3Vector3 linVelB,
b3Vector3 angVelA,
b3Vector3 angVelB,
b3RigidBodyData bodies) |
void |
getLinearLowerLimit(b3Vector3 linearLower) |
void |
getLinearUpperLimit(b3Vector3 linearUpper) |
float |
getParam(int num) |
float |
getParam(int num,
int axis)
return the local value of parameter
|
float |
getRelativePivotPosition(int axis_index)
Get the relative position of the constraint pivot
/**
\pre b3Generic6DofConstraint::calculateTransforms() must be called previously.
|
b3RotationalLimitMotor |
getRotationalLimitMotor(int index)
Retrieves the angular limit informacion
|
b3TranslationalLimitMotor |
getTranslationalLimitMotor()
Retrieves the limit informacion
|
boolean |
getUseFrameOffset() |
boolean |
isLimited(int limitIndex)
Test limit
/**
- free means upper < lower,
- locked means upper == lower
- limited means upper > lower
- limitIndex: first 3 are linear, next 3 are angular
|
void |
setAngularLowerLimit(b3Vector3 angularLower) |
void |
setAngularUpperLimit(b3Vector3 angularUpper) |
void |
setAxis(b3Vector3 axis1,
b3Vector3 axis2,
b3RigidBodyData bodies) |
void |
setFrames(b3Transform frameA,
b3Transform frameB,
b3RigidBodyData bodies) |
void |
setLimit(int axis,
float lo,
float hi) |
void |
setLinearLowerLimit(b3Vector3 linearLower) |
void |
setLinearUpperLimit(b3Vector3 linearUpper) |
void |
setParam(int num,
float value) |
void |
setParam(int num,
float value,
int axis)
override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0..5).
|
void |
setUseFrameOffset(boolean frameOffsetOnOff) |
boolean |
testAngularLimitMotor(int axis_index)
Test angular limit.
|
void |
updateRHS(float timeStep) |
enableFeedback, getAppliedImpulse, getBreakingImpulseThreshold, getConstraintType, getDbgDrawSize, getJointFeedback, getOverrideNumSolverIterations, getRigidBodyA, getRigidBodyB, getUid, getUserConstraintId, getUserConstraintPtr, getUserConstraintType, internalGetAppliedImpulse, internalSetAppliedImpulse, isEnabled, needsFeedback, setBreakingImpulseThreshold, setDbgDrawSize, setEnabled, setJointFeedback, setOverrideNumSolverIterations, setupSolverConstraint, setUserConstraintId, setUserConstraintPtr, setUserConstraintType, solveConstraintObsoletegetObjectType, m_objectType, m_objectTypeaddress, asBuffer, asByteBuffer, availablePhysicalBytes, calloc, capacity, capacity, close, deallocate, deallocate, deallocateReferences, deallocator, deallocator, equals, fill, formatBytes, free, getDirectBufferAddress, getPointer, getPointer, getPointer, getPointer, hashCode, interruptDeallocatorThread, isNull, isNull, limit, limit, malloc, maxBytes, maxPhysicalBytes, memchr, memcmp, memcpy, memmove, memset, offsetAddress, offsetof, offsetof, parseBytes, physicalBytes, physicalBytesInaccurate, position, position, put, realloc, referenceCount, releaseReference, retainReference, setNull, sizeof, sizeof, toString, totalBytes, totalCount, totalPhysicalBytes, withDeallocator, zeropublic b3Generic6DofConstraint(Pointer p)
Pointer(Pointer).public b3Generic6DofConstraint(int rbA,
int rbB,
@Const @ByRef
b3Transform frameInA,
@Const @ByRef
b3Transform frameInB,
@Cast(value="bool")
boolean useLinearReferenceFrameA,
@Const
b3RigidBodyData bodies)
public void calculateTransforms(@Const @ByRef b3Transform transA, @Const @ByRef b3Transform transB, @Const b3RigidBodyData bodies)
, b3Generic6DofConstraint.getCalculatedTransformB, b3Generic6DofConstraint.calculateAngleInfopublic void calculateTransforms(@Const b3RigidBodyData bodies)
@Const @ByRef public b3Transform getCalculatedTransformA()
b3Generic6DofConstraint.getFrameOffsetA, b3Generic6DofConstraint.getFrameOffsetB, b3Generic6DofConstraint.calculateAngleInfo.@Const @ByRef public b3Transform getCalculatedTransformB()
b3Generic6DofConstraint.getFrameOffsetA, b3Generic6DofConstraint.getFrameOffsetB, b3Generic6DofConstraint.calculateAngleInfo.@ByRef public b3Transform getFrameOffsetA()
@ByRef public b3Transform getFrameOffsetB()
public void getInfo1(b3TypedConstraint.b3ConstraintInfo1 info, @Const b3RigidBodyData bodies)
b3TypedConstraintgetInfo1 in class b3TypedConstraintpublic void getInfo1NonVirtual(b3TypedConstraint.b3ConstraintInfo1 info, @Const b3RigidBodyData bodies)
public void getInfo2(b3TypedConstraint.b3ConstraintInfo2 info, @Const b3RigidBodyData bodies)
b3TypedConstraintgetInfo2 in class b3TypedConstraintpublic void getInfo2NonVirtual(b3TypedConstraint.b3ConstraintInfo2 info, @Const @ByRef b3Transform transA, @Const @ByRef b3Transform transB, @Const @ByRef b3Vector3 linVelA, @Const @ByRef b3Vector3 linVelB, @Const @ByRef b3Vector3 angVelA, @Const @ByRef b3Vector3 angVelB, @Const b3RigidBodyData bodies)
@Cast(value="b3Scalar") public float getAngle(int axis_index)
@Cast(value="b3Scalar") public float getRelativePivotPosition(int axis_index)
public void setFrames(@Const @ByRef b3Transform frameA, @Const @ByRef b3Transform frameB, @Const b3RigidBodyData bodies)
@Cast(value="bool") public boolean testAngularLimitMotor(int axis_index)
public b3RotationalLimitMotor getRotationalLimitMotor(int index)
public b3TranslationalLimitMotor getTranslationalLimitMotor()
public void setLimit(int axis,
@Cast(value="b3Scalar")
float lo,
@Cast(value="b3Scalar")
float hi)
@Cast(value="bool") public boolean isLimited(int limitIndex)
public void calcAnchorPos(@Const b3RigidBodyData bodies)
public int get_limit_motor_info2(b3RotationalLimitMotor limot, @Const @ByRef b3Transform transA, @Const @ByRef b3Transform transB, @Const @ByRef b3Vector3 linVelA, @Const @ByRef b3Vector3 linVelB, @Const @ByRef b3Vector3 angVelA, @Const @ByRef b3Vector3 angVelB, b3TypedConstraint.b3ConstraintInfo2 info, int row, @ByRef b3Vector3 ax1, int rotational, int rotAllowed)
public int get_limit_motor_info2(b3RotationalLimitMotor limot, @Const @ByRef b3Transform transA, @Const @ByRef b3Transform transB, @Const @ByRef b3Vector3 linVelA, @Const @ByRef b3Vector3 linVelB, @Const @ByRef b3Vector3 angVelA, @Const @ByRef b3Vector3 angVelB, b3TypedConstraint.b3ConstraintInfo2 info, int row, @ByRef b3Vector3 ax1, int rotational)
public void setParam(int num,
@Cast(value="b3Scalar")
float value,
int axis)
setParam in class b3TypedConstraintpublic void setParam(int num,
@Cast(value="b3Scalar")
float value)
setParam in class b3TypedConstraint@Cast(value="b3Scalar") public float getParam(int num, int axis)
getParam in class b3TypedConstraint@Cast(value="b3Scalar") public float getParam(int num)
getParam in class b3TypedConstraintCopyright © 2024. All rights reserved.