@NoOffset @Properties(inherit=BulletDynamics.class) public class btGeneric6DofConstraint extends btTypedConstraint
| AXIS | MIN ANGLE | MAX ANGLE |
| X | -PI | PI |
| Y | -PI/2 | PI/2 |
| Z | -PI | PI |
btTypedConstraint.btConstraintInfo1, btTypedConstraint.btConstraintInfo2Pointer.CustomDeallocator, Pointer.Deallocator, Pointer.NativeDeallocator, Pointer.ReferenceCounter| Constructor and Description |
|---|
btGeneric6DofConstraint(btRigidBody rbA,
btRigidBody rbB,
btTransform frameInA,
btTransform frameInB,
boolean useLinearReferenceFrameA) |
btGeneric6DofConstraint(btRigidBody rbB,
btTransform frameInB,
boolean useLinearReferenceFrameB) |
btGeneric6DofConstraint(Pointer p)
Pointer cast constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
buildJacobian()
performs Jacobian calculation, and also calculates angle differences and axis
|
void |
calcAnchorPos() |
int |
calculateSerializeBufferSize() |
void |
calculateTransforms() |
void |
calculateTransforms(btTransform transA,
btTransform transB)
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(btRotationalLimitMotor limot,
btTransform transA,
btTransform transB,
btVector3 linVelA,
btVector3 linVelB,
btVector3 angVelA,
btVector3 angVelB,
btTypedConstraint.btConstraintInfo2 info,
int row,
btVector3 ax1,
int rotational) |
int |
get_limit_motor_info2(btRotationalLimitMotor limot,
btTransform transA,
btTransform transB,
btVector3 linVelA,
btVector3 linVelB,
btVector3 angVelA,
btVector3 angVelB,
btTypedConstraint.btConstraintInfo2 info,
int row,
btVector3 ax1,
int rotational,
int rotAllowed) |
double |
getAngle(int axis_index)
Get the relative Euler angle
/**
\pre btGeneric6DofConstraint::calculateTransforms() must be called previously.
|
void |
getAngularLowerLimit(btVector3 angularLower) |
void |
getAngularUpperLimit(btVector3 angularUpper) |
btVector3 |
getAxis(int axis_index)
Get the rotation axis in global coordinates
/**
\pre btGeneric6DofConstraint.buildJacobian must be called previously.
|
btTransform |
getCalculatedTransformA()
Gets the global transform of the offset for body A
/**
|
btTransform |
getCalculatedTransformB()
Gets the global transform of the offset for body B
/**
|
int |
getFlags() |
btTransform |
getFrameOffsetA() |
btTransform |
getFrameOffsetB() |
void |
getInfo1(btTypedConstraint.btConstraintInfo1 info)
internal method used by the constraint solver, don't use them directly
|
void |
getInfo1NonVirtual(btTypedConstraint.btConstraintInfo1 info) |
void |
getInfo2(btTypedConstraint.btConstraintInfo2 info)
internal method used by the constraint solver, don't use them directly
|
void |
getInfo2NonVirtual(btTypedConstraint.btConstraintInfo2 info,
btTransform transA,
btTransform transB,
btVector3 linVelA,
btVector3 linVelB,
btVector3 angVelA,
btVector3 angVelB) |
void |
getLinearLowerLimit(btVector3 linearLower) |
void |
getLinearUpperLimit(btVector3 linearUpper) |
double |
getParam(int num) |
double |
getParam(int num,
int axis)
return the local value of parameter
|
double |
getRelativePivotPosition(int axis_index)
Get the relative position of the constraint pivot
/**
\pre btGeneric6DofConstraint::calculateTransforms() must be called previously.
|
btRotationalLimitMotor |
getRotationalLimitMotor(int index)
Retrieves the angular limit informacion
|
btTranslationalLimitMotor |
getTranslationalLimitMotor()
Retrieves the limit informacion
|
boolean |
getUseFrameOffset() |
boolean |
getUseLinearReferenceFrameA() |
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
|
boolean |
m_useSolveConstraintObsolete()
for backwards compatibility during the transition to 'getInfo/getInfo2'
|
btGeneric6DofConstraint |
m_useSolveConstraintObsolete(boolean setter) |
BytePointer |
serialize(Pointer dataBuffer,
btSerializer serializer)
fills the dataBuffer and returns the struct name (and 0 on failure)
|
void |
setAngularLowerLimit(btVector3 angularLower) |
void |
setAngularUpperLimit(btVector3 angularUpper) |
void |
setAxis(btVector3 axis1,
btVector3 axis2) |
void |
setFrames(btTransform frameA,
btTransform frameB) |
void |
setLimit(int axis,
double lo,
double hi) |
void |
setLinearLowerLimit(btVector3 linearLower) |
void |
setLinearUpperLimit(btVector3 linearUpper) |
void |
setParam(int num,
double value) |
void |
setParam(int num,
double 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) |
void |
setUseLinearReferenceFrameA(boolean linearReferenceFrameA) |
boolean |
testAngularLimitMotor(int axis_index)
Test angular limit.
|
void |
updateRHS(double timeStep) |
enableFeedback, getAppliedImpulse, getBreakingImpulseThreshold, getConstraintType, getDbgDrawSize, getFixedBody, 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 btGeneric6DofConstraint(Pointer p)
Pointer(Pointer).public btGeneric6DofConstraint(@ByRef btRigidBody rbA, @ByRef btRigidBody rbB, @Const @ByRef btTransform frameInA, @Const @ByRef btTransform frameInB, @Cast(value="bool") boolean useLinearReferenceFrameA)
public btGeneric6DofConstraint(@ByRef btRigidBody rbB, @Const @ByRef btTransform frameInB, @Cast(value="bool") boolean useLinearReferenceFrameB)
@Cast(value="bool") public boolean m_useSolveConstraintObsolete()
public btGeneric6DofConstraint m_useSolveConstraintObsolete(boolean setter)
public void calculateTransforms(@Const @ByRef btTransform transA, @Const @ByRef btTransform transB)
, btGeneric6DofConstraint.getCalculatedTransformB, btGeneric6DofConstraint.calculateAngleInfopublic void calculateTransforms()
@Const @ByRef public btTransform getCalculatedTransformA()
btGeneric6DofConstraint.getFrameOffsetA, btGeneric6DofConstraint.getFrameOffsetB, btGeneric6DofConstraint.calculateAngleInfo.@Const @ByRef public btTransform getCalculatedTransformB()
btGeneric6DofConstraint.getFrameOffsetA, btGeneric6DofConstraint.getFrameOffsetB, btGeneric6DofConstraint.calculateAngleInfo.@ByRef public btTransform getFrameOffsetA()
@ByRef public btTransform getFrameOffsetB()
public void buildJacobian()
buildJacobian in class btTypedConstraintpublic void getInfo1(btTypedConstraint.btConstraintInfo1 info)
btTypedConstraintgetInfo1 in class btTypedConstraintpublic void getInfo1NonVirtual(btTypedConstraint.btConstraintInfo1 info)
public void getInfo2(btTypedConstraint.btConstraintInfo2 info)
btTypedConstraintgetInfo2 in class btTypedConstraintpublic void getInfo2NonVirtual(btTypedConstraint.btConstraintInfo2 info, @Const @ByRef btTransform transA, @Const @ByRef btTransform transB, @Const @ByRef btVector3 linVelA, @Const @ByRef btVector3 linVelB, @Const @ByRef btVector3 angVelA, @Const @ByRef btVector3 angVelB)
@ByVal public btVector3 getAxis(int axis_index)
@Cast(value="btScalar") public double getAngle(int axis_index)
@Cast(value="btScalar") public double getRelativePivotPosition(int axis_index)
public void setFrames(@Const @ByRef btTransform frameA, @Const @ByRef btTransform frameB)
@Cast(value="bool") public boolean testAngularLimitMotor(int axis_index)
public btRotationalLimitMotor getRotationalLimitMotor(int index)
public btTranslationalLimitMotor getTranslationalLimitMotor()
public void setLimit(int axis,
@Cast(value="btScalar")
double lo,
@Cast(value="btScalar")
double hi)
@Cast(value="bool") public boolean isLimited(int limitIndex)
public void calcAnchorPos()
public int get_limit_motor_info2(btRotationalLimitMotor limot, @Const @ByRef btTransform transA, @Const @ByRef btTransform transB, @Const @ByRef btVector3 linVelA, @Const @ByRef btVector3 linVelB, @Const @ByRef btVector3 angVelA, @Const @ByRef btVector3 angVelB, btTypedConstraint.btConstraintInfo2 info, int row, @ByRef btVector3 ax1, int rotational, int rotAllowed)
public int get_limit_motor_info2(btRotationalLimitMotor limot, @Const @ByRef btTransform transA, @Const @ByRef btTransform transB, @Const @ByRef btVector3 linVelA, @Const @ByRef btVector3 linVelB, @Const @ByRef btVector3 angVelA, @Const @ByRef btVector3 angVelB, btTypedConstraint.btConstraintInfo2 info, int row, @ByRef btVector3 ax1, int rotational)
public void setUseLinearReferenceFrameA(@Cast(value="bool") boolean linearReferenceFrameA)
public void setParam(int num,
@Cast(value="btScalar")
double value,
int axis)
setParam in class btTypedConstraintpublic void setParam(int num,
@Cast(value="btScalar")
double value)
setParam in class btTypedConstraint@Cast(value="btScalar") public double getParam(int num, int axis)
getParam in class btTypedConstraint@Cast(value="btScalar") public double getParam(int num)
getParam in class btTypedConstraintpublic int getFlags()
public int calculateSerializeBufferSize()
calculateSerializeBufferSize in class btTypedConstraint@Cast(value="const char*") public BytePointer serialize(Pointer dataBuffer, btSerializer serializer)
serialize in class btTypedConstraintCopyright © 2024. All rights reserved.