public class Bullet3Common extends Bullet3Common
| Modifier and Type | Field and Description |
|---|---|
static double |
B3_2_PI |
static double |
B3_ANGULAR_MOTION_THRESHOLD |
static int |
B3_BULLET_VERSION |
static double |
B3_DEGS_PER_RAD |
static float |
B3_EPSILON |
static double |
B3_HALF_PI |
static float |
B3_INFINITY |
static float |
B3_LARGE_FLOAT |
static double |
B3_PI |
static int |
B3_POOL_HANDLE_TERMINAL_FREE
enum
|
static int |
B3_POOL_HANDLE_TERMINAL_USED
enum
|
static double |
B3_RADS_PER_DEG |
static double |
B3_SQRT12 |
static int |
B3_USE_PLACEMENT_NEW
If the platform doesn't support placement new, you can disable B3_USE_PLACEMENT_NEW
then the b3AlignedObjectArray doesn't support objects with virtual methods, and non-trivial constructors/destructors
You can enable B3_USE_MEMCPY, then swapping elements in the array will use memcpy instead of operator=
see discussion here: https://bulletphysics.orgphpBB2/viewtopic.php?t=1231 and
http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1240
|
static String |
b3Vector3DataName
align a pointer to the provided alignment, upwards
|
| Constructor and Description |
|---|
Bullet3Common() |
| Modifier and Type | Method and Description |
|---|---|
static b3Matrix3x3 |
add(b3Matrix3x3 m1,
b3Matrix3x3 m2) |
static b3Vector3 |
add(b3Vector3 v1,
b3Vector3 v2)
\brief Return the sum of two vectors (Point symantics)
|
static double |
B3_2_PI() |
static double |
B3_ANGULAR_MOTION_THRESHOLD() |
static double |
B3_DEGS_PER_RAD() |
static float |
B3_EPSILON() |
static double |
B3_HALF_PI() |
static int |
B3_HASH_NULL()
Command-line parsing
|
static float |
B3_INFINITY() |
static float |
B3_LARGE_FLOAT()
The b3Scalar type abstracts floating point numbers, to easily switch between double and single floating point precision.
|
static double |
B3_PI() |
static double |
B3_RADS_PER_DEG() |
static double |
B3_SQRT12() |
static b3Vector3 |
b3AabbSupport(b3Vector3 halfExtents,
b3Vector3 supportDir) |
static b3Matrix3x3 |
b3AbsoluteMat3x3(b3Matrix3x3 mat) |
static float |
b3Acos(float x) |
static float |
b3Angle(b3Quaternion q1,
b3Quaternion q2)
\brief Return the angle between two quaternions
|
static float |
b3Angle(b3Vector3 v1,
b3Vector3 v2)
\brief Return the angle between two vectors
|
static float |
b3Asin(float x) |
static float |
b3Atan(float x) |
static float |
b3Atan2(float x,
float y) |
static float |
b3Atan2Fast(float y,
float x) |
static int |
b3AtomicAdd(int[] p,
int val) |
static int |
b3AtomicAdd(IntBuffer p,
int val) |
static int |
b3AtomicAdd(IntPointer p,
int val) |
static float |
b3Cos(float x) |
static b3Vector3 |
b3Cross(b3Vector3 v1,
b3Vector3 v2)
\brief Return the cross product of two vectors
|
static float |
b3Degrees(float x) |
static float |
b3Distance(b3Vector3 v1,
b3Vector3 v2)
\brief Return the distance between two vectors
|
static float |
b3Distance2(b3Vector3 v1,
b3Vector3 v2)
\brief Return the distance squared between two vectors
|
static float |
b3Dot(b3Quaternion q1,
b3Quaternion q2)
\brief Calculate the dot product between two quaternions
|
static float |
b3Dot(b3Vector3 v1,
b3Vector3 v2)
\brief Return the dot product between two vectors
|
static void |
b3EnterProfileZone(BytePointer name)
We add the do/while so that the statement "if (condition) b3Printf("test"); else {...}" would fail
You can also customize the message by uncommenting out a different line below
|
static void |
b3EnterProfileZone(String name) |
static boolean |
b3Equal(float a,
float eps) |
static float |
b3Exp(float x) |
static float |
b3Fabs(float x) |
static b3Vector3 |
b3FastNormalized3(b3Vector3 v) |
static float |
b3Fmod(float x,
float y) |
static float |
b3Fsel(float a,
float b,
float c) |
static boolean |
b3FuzzyZero(float x) |
static int |
b3GetVersion() |
static boolean |
b3GreaterEqual(float a,
float eps) |
static b3Quaternion |
b3Inverse(b3Quaternion q)
\brief Return the inverse of a quaternion
|
static boolean |
b3IsAlmostZero(b3Vector3 v) |
static int |
b3IsNegative(float x) |
static void |
b3LeaveProfileZone() |
static float |
b3Length(b3Quaternion q)
\brief Return the length of a quaternion
|
static b3Vector3 |
b3Lerp(b3Vector3 v1,
b3Vector3 v2,
float t)
\brief Return the linear interpolation between two vectors
|
static float |
b3Log(float x) |
static boolean |
b3MachineIsLittleEndian() |
static b3Int2 |
b3MakeInt2(int x,
int y) |
static b3Int4 |
b3MakeInt4(int x,
int y,
int z) |
static b3Int4 |
b3MakeInt4(int x,
int y,
int z,
int w) |
static b3UnsignedInt4 |
b3MakeUnsignedInt4(int x,
int y,
int z) |
static b3UnsignedInt4 |
b3MakeUnsignedInt4(int x,
int y,
int z,
int w) |
static b3Vector3 |
b3MakeVector3(float x,
float y,
float z) |
static b3Vector3 |
b3MakeVector3(float x,
float y,
float z,
float w) |
static b3Vector4 |
b3MakeVector4(float x,
float y,
float z,
float w) |
static int |
b3MaxDot(b3Vector3 vec,
b3Vector3 vecArray,
int vecLen,
float[] dotOut) |
static int |
b3MaxDot(b3Vector3 vec,
b3Vector3 vecArray,
int vecLen,
FloatBuffer dotOut) |
static int |
b3MaxDot(b3Vector3 vec,
b3Vector3 vecArray,
int vecLen,
FloatPointer dotOut) |
static b3Vector3 |
b3MaxFloat4(b3Vector3 a,
b3Vector3 b) |
static b3Vector3 |
b3MinFloat4(b3Vector3 a,
b3Vector3 b) |
static float |
b3NormalizeAngle(float angleInRadians) |
static b3Vector3 |
b3Normalized(b3Vector3 vec) |
static void |
b3OutputErrorMessageVarArgsInternal(BytePointer str) |
static void |
b3OutputErrorMessageVarArgsInternal(String str) |
static void |
b3OutputPrintfVarArgsInternal(BytePointer str)
Don't use those internal functions directly, use the b3Printf or b3SetCustomPrintfFunc instead (or warning/error version)
|
static void |
b3OutputPrintfVarArgsInternal(String str) |
static void |
b3OutputWarningMessageVarArgsInternal(BytePointer str) |
static void |
b3OutputWarningMessageVarArgsInternal(String str) |
static float |
b3Pow(float x,
float y) |
static b3Matrix3x3 |
b3QuatGetRotationMatrix(b3Quaternion quat) |
static b3Quaternion |
b3QuatInverse(b3Quaternion orn) |
static b3Quaternion |
b3QuatMul(b3Quaternion rot0,
b3Quaternion rot1) |
static b3Quaternion |
b3QuatNormalized(b3Quaternion orn) |
static b3Vector3 |
b3QuatRotate(b3Quaternion rotation,
b3Vector3 v) |
static float |
b3Radians(float x) |
static float |
b3Select(int condition,
float valueIfConditionNonZero,
float valueIfConditionZero) |
static int |
b3Select(int condition,
int valueIfConditionNonZero,
int valueIfConditionZero)
b3Select avoids branches, which makes performance much better for consoles like Playstation 3 and XBox 360
Thanks Phil Knight.
|
static void |
b3SetCustomEnterProfileZoneFunc(b3EnterProfileZoneFunc enterFunc)
Set custom profile zone functions (zones can be nested)
|
static void |
b3SetCustomErrorMessageFunc(b3ErrorMessageFunc errorMsgFunc) |
static void |
b3SetCustomLeaveProfileZoneFunc(b3LeaveProfileZoneFunc leaveFunc) |
static void |
b3SetCustomPrintfFunc(b3PrintfFunc printfFunc)
The developer can route b3Printf output using their own implementation
|
static void |
b3SetCustomWarningMessageFunc(b3WarningMessageFunc warningMsgFunc) |
static b3Quaternion |
b3ShortestArcQuat(b3Vector3 v0,
b3Vector3 v1) |
static b3Quaternion |
b3ShortestArcQuatNormalize2(b3Vector3 v0,
b3Vector3 v1) |
static float |
b3Sin(float x) |
static b3Quaternion |
b3Slerp(b3Quaternion q1,
b3Quaternion q2,
float t)
\brief Return the result of spherical linear interpolation betwen two quaternions
|
static float |
b3Sqrt(float y) |
static int |
b3SwapEndian(int val) |
static short |
b3SwapEndian(short val) |
static void |
b3SwapEndianDouble(double d,
byte[] dst) |
static void |
b3SwapEndianDouble(double d,
ByteBuffer dst) |
static void |
b3SwapEndianDouble(double d,
BytePointer dst) |
static int |
b3SwapEndianFloat(float d)
b3SwapFloat uses using char pointers to swap the endianness
////b3SwapFloat/b3SwapDouble will NOT return a float, because the machine might 'correct' invalid floating point values
Not all values of sign/exponent/mantissa are valid floating point numbers according to IEEE 754.
|
static void |
b3SwapScalarEndian(float sourceVal,
float[] destVal) |
static void |
b3SwapScalarEndian(float sourceVal,
FloatBuffer destVal) |
static void |
b3SwapScalarEndian(float sourceVal,
FloatPointer destVal)
b3SwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
|
static void |
b3SwapVector3Endian(b3Vector3 sourceVec,
b3Vector3 destVec)
b3SwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
|
static float |
b3Tan(float x) |
static b3Vector3 |
b3TransformPoint(b3Vector3 point,
b3Vector3 translation,
b3Quaternion orientation) |
static float |
b3Triple(b3Vector3 v1,
b3Vector3 v2,
b3Vector3 v3) |
static double |
b3UnswapEndianDouble(byte[] src) |
static double |
b3UnswapEndianDouble(ByteBuffer src) |
static double |
b3UnswapEndianDouble(BytePointer src) |
static float |
b3UnswapEndianFloat(int a) |
static void |
b3UnSwapVector3Endian(b3Vector3 vector)
b3UnSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
|
static b3Vector3 |
divide(b3Vector3 v1,
b3Vector3 v2)
\brief Return the vector inversely scaled by s
|
static b3Vector3 |
divide(b3Vector3 v,
float s)
\brief Return the vector inversely scaled by s
|
static boolean |
equals(b3Matrix3x3 m1,
b3Matrix3x3 m2)
\brief Equality operator between two matrices
It will test all elements are equal.
|
static boolean |
equals(b3Transform t1,
b3Transform t2)
\brief Test if two transforms have all elements equal
|
static b3Vector3 |
mtMul3(b3Vector3 a,
b3Matrix3x3 b) |
static b3Matrix3x3 |
multiply(b3Matrix3x3 m1,
b3Matrix3x3 m2) |
static b3Vector3 |
multiply(b3Matrix3x3 m,
b3Vector3 v) |
static b3Matrix3x3 |
multiply(b3Matrix3x3 m,
float k) |
static b3Quaternion |
multiply(b3Quaternion q1,
b3Quaternion q2)
\brief Return the product of two quaternions
|
static b3Quaternion |
multiply(b3Quaternion q,
b3Vector3 w) |
static b3Vector3 |
multiply(b3Vector3 v,
b3Matrix3x3 m) |
static b3Quaternion |
multiply(b3Vector3 w,
b3Quaternion q) |
static b3Vector3 |
multiply(b3Vector3 v1,
b3Vector3 v2)
\brief Return the elementwise product of two vectors
|
static b3Vector3 |
multiply(b3Vector3 v,
float s)
\brief Return the vector scaled by s
|
static b3Vector3 |
multiply(float s,
b3Vector3 v)
\brief Return the vector scaled by s
|
static b3Matrix3x3 |
subtract(b3Matrix3x3 m1,
b3Matrix3x3 m2) |
static b3Vector3 |
subtract(b3Vector3 v)
\brief Return the negative of the vector
|
static b3Vector3 |
subtract(b3Vector3 v1,
b3Vector3 v2)
\brief Return the difference between two vectors
|
map, mapArrayspublic static final int B3_USE_PLACEMENT_NEW
public static final int B3_BULLET_VERSION
public static final float B3_LARGE_FLOAT
public static final double B3_2_PI
public static final double B3_PI
public static final double B3_HALF_PI
public static final double B3_RADS_PER_DEG
public static final double B3_DEGS_PER_RAD
public static final double B3_SQRT12
public static final float B3_EPSILON
public static final float B3_INFINITY
public static final String b3Vector3DataName
public static final int B3_POOL_HANDLE_TERMINAL_FREE
public static final int B3_POOL_HANDLE_TERMINAL_USED
public static final double B3_ANGULAR_MOTION_THRESHOLD
@MemberGetter public static int B3_HASH_NULL()
public static void b3EnterProfileZone(@Cast(value="const char*") BytePointer name)
public static void b3EnterProfileZone(String name)
public static void b3LeaveProfileZone()
public static void b3SetCustomPrintfFunc(b3PrintfFunc printfFunc)
public static void b3SetCustomWarningMessageFunc(b3WarningMessageFunc warningMsgFunc)
public static void b3SetCustomErrorMessageFunc(b3ErrorMessageFunc errorMsgFunc)
public static void b3SetCustomEnterProfileZoneFunc(b3EnterProfileZoneFunc enterFunc)
public static void b3SetCustomLeaveProfileZoneFunc(b3LeaveProfileZoneFunc leaveFunc)
public static void b3OutputPrintfVarArgsInternal(@Cast(value="const char*") BytePointer str)
public static void b3OutputPrintfVarArgsInternal(String str)
public static void b3OutputWarningMessageVarArgsInternal(@Cast(value="const char*") BytePointer str)
public static void b3OutputWarningMessageVarArgsInternal(String str)
public static void b3OutputErrorMessageVarArgsInternal(@Cast(value="const char*") BytePointer str)
public static void b3OutputErrorMessageVarArgsInternal(String str)
public static int b3GetVersion()
@MemberGetter public static float B3_LARGE_FLOAT()
@Cast(value="b3Scalar") public static float b3Atan2(@Cast(value="b3Scalar") float x, @Cast(value="b3Scalar") float y)
@Cast(value="b3Scalar") public static float b3Pow(@Cast(value="b3Scalar") float x, @Cast(value="b3Scalar") float y)
@Cast(value="b3Scalar") public static float b3Fmod(@Cast(value="b3Scalar") float x, @Cast(value="b3Scalar") float y)
@MemberGetter public static double B3_2_PI()
@MemberGetter public static double B3_PI()
@MemberGetter public static double B3_HALF_PI()
@MemberGetter public static double B3_RADS_PER_DEG()
@MemberGetter public static double B3_DEGS_PER_RAD()
@MemberGetter public static double B3_SQRT12()
@MemberGetter public static float B3_EPSILON()
@MemberGetter public static float B3_INFINITY()
@Cast(value="b3Scalar") public static float b3Atan2Fast(@Cast(value="b3Scalar") float y, @Cast(value="b3Scalar") float x)
@Cast(value="bool") public static boolean b3Equal(@Cast(value="b3Scalar") float a, @Cast(value="b3Scalar") float eps)
@Cast(value="bool") public static boolean b3GreaterEqual(@Cast(value="b3Scalar") float a, @Cast(value="b3Scalar") float eps)
@Cast(value="b3Scalar") public static float b3Fsel(@Cast(value="b3Scalar") float a, @Cast(value="b3Scalar") float b, @Cast(value="b3Scalar") float c)
@Cast(value="unsigned") public static int b3Select(@Cast(value="unsigned") int condition, @Cast(value="unsigned") int valueIfConditionNonZero, @Cast(value="unsigned") int valueIfConditionZero)
public static float b3Select(@Cast(value="unsigned") int condition, float valueIfConditionNonZero, float valueIfConditionZero)
@Cast(value="unsigned") public static int b3SwapEndian(@Cast(value="unsigned") int val)
@Cast(value="unsigned short") public static short b3SwapEndian(@Cast(value="unsigned short") short val)
@Cast(value="unsigned int") public static int b3SwapEndianFloat(float d)
public static void b3SwapEndianDouble(double d,
@Cast(value="unsigned char*")
BytePointer dst)
public static void b3SwapEndianDouble(double d,
@Cast(value="unsigned char*")
ByteBuffer dst)
public static void b3SwapEndianDouble(double d,
@Cast(value="unsigned char*")
byte[] dst)
public static double b3UnswapEndianDouble(@Cast(value="const unsigned char*") BytePointer src)
public static double b3UnswapEndianDouble(@Cast(value="const unsigned char*") ByteBuffer src)
public static double b3UnswapEndianDouble(@Cast(value="const unsigned char*") byte[] src)
@Cast(value="b3Scalar") public static float b3NormalizeAngle(@Cast(value="b3Scalar") float angleInRadians)
@ByVal public static b3Vector3 b3MakeVector3(@Cast(value="b3Scalar") float x, @Cast(value="b3Scalar") float y, @Cast(value="b3Scalar") float z)
@ByVal public static b3Vector3 b3MakeVector3(@Cast(value="b3Scalar") float x, @Cast(value="b3Scalar") float y, @Cast(value="b3Scalar") float z, @Cast(value="b3Scalar") float w)
@ByVal public static b3Vector4 b3MakeVector4(@Cast(value="b3Scalar") float x, @Cast(value="b3Scalar") float y, @Cast(value="b3Scalar") float z, @Cast(value="b3Scalar") float w)
@ByVal @Name(value="operator +") public static b3Vector3 add(@Const @ByRef b3Vector3 v1, @Const @ByRef b3Vector3 v2)
@ByVal @Name(value="operator *") public static b3Vector3 multiply(@Const @ByRef b3Vector3 v1, @Const @ByRef b3Vector3 v2)
@ByVal @Name(value="operator -") public static b3Vector3 subtract(@Const @ByRef b3Vector3 v1, @Const @ByRef b3Vector3 v2)
@ByVal @Name(value="operator -") public static b3Vector3 subtract(@Const @ByRef b3Vector3 v)
@ByVal @Name(value="operator *") public static b3Vector3 multiply(@Const @ByRef b3Vector3 v, @Cast(value="const b3Scalar") float s)
@ByVal @Name(value="operator *") public static b3Vector3 multiply(@Cast(value="const b3Scalar") float s, @Const @ByRef b3Vector3 v)
@ByVal @Name(value="operator /") public static b3Vector3 divide(@Const @ByRef b3Vector3 v, @Cast(value="const b3Scalar") float s)
@ByVal @Name(value="operator /") public static b3Vector3 divide(@Const @ByRef b3Vector3 v1, @Const @ByRef b3Vector3 v2)
@Cast(value="b3Scalar") public static float b3Dot(@Const @ByRef b3Vector3 v1, @Const @ByRef b3Vector3 v2)
@Cast(value="b3Scalar") public static float b3Distance2(@Const @ByRef b3Vector3 v1, @Const @ByRef b3Vector3 v2)
@Cast(value="b3Scalar") public static float b3Distance(@Const @ByRef b3Vector3 v1, @Const @ByRef b3Vector3 v2)
@Cast(value="b3Scalar") public static float b3Angle(@Const @ByRef b3Vector3 v1, @Const @ByRef b3Vector3 v2)
@ByVal public static b3Vector3 b3Cross(@Const @ByRef b3Vector3 v1, @Const @ByRef b3Vector3 v2)
@Cast(value="b3Scalar") public static float b3Triple(@Const @ByRef b3Vector3 v1, @Const @ByRef b3Vector3 v2, @Const @ByRef b3Vector3 v3)
@ByVal public static b3Vector3 b3Lerp(@Const @ByRef b3Vector3 v1, @Const @ByRef b3Vector3 v2, @Cast(value="const b3Scalar") float t)
v1 - One vectorv2 - The other vectort - The ration of this to v (t = 0 => return v1, t=1 => return v2)public static void b3SwapScalarEndian(@Cast(value="const b3Scalar") float sourceVal, @Cast(value="b3Scalar*") @ByRef FloatPointer destVal)
public static void b3SwapScalarEndian(@Cast(value="const b3Scalar") float sourceVal, @Cast(value="b3Scalar*") @ByRef FloatBuffer destVal)
public static void b3SwapScalarEndian(@Cast(value="const b3Scalar") float sourceVal, @Cast(value="b3Scalar*") @ByRef float[] destVal)
public static void b3SwapVector3Endian(@Const @ByRef b3Vector3 sourceVec, @ByRef b3Vector3 destVec)
public static void b3UnSwapVector3Endian(@ByRef b3Vector3 vector)
@ByVal @Name(value="operator *") public static b3Quaternion multiply(@Const @ByRef b3Quaternion q1, @Const @ByRef b3Quaternion q2)
@ByVal @Name(value="operator *") public static b3Quaternion multiply(@Const @ByRef b3Quaternion q, @Const @ByRef b3Vector3 w)
@ByVal @Name(value="operator *") public static b3Quaternion multiply(@Const @ByRef b3Vector3 w, @Const @ByRef b3Quaternion q)
@Cast(value="b3Scalar") public static float b3Dot(@Const @ByRef b3Quaternion q1, @Const @ByRef b3Quaternion q2)
@Cast(value="b3Scalar") public static float b3Length(@Const @ByRef b3Quaternion q)
@Cast(value="b3Scalar") public static float b3Angle(@Const @ByRef b3Quaternion q1, @Const @ByRef b3Quaternion q2)
@ByVal public static b3Quaternion b3Inverse(@Const @ByRef b3Quaternion q)
@ByVal public static b3Quaternion b3Slerp(@Const @ByRef b3Quaternion q1, @Const @ByRef b3Quaternion q2, @Cast(value="const b3Scalar") float t)
q1 - The first quaternionq2 - The second quaterniont - The ration between q1 and q2. t = 0 return q1, t=1 returns q2
Slerp assumes constant velocity between positions.@ByVal public static b3Quaternion b3QuatMul(@Const @ByRef b3Quaternion rot0, @Const @ByRef b3Quaternion rot1)
@ByVal public static b3Quaternion b3QuatNormalized(@Const @ByRef b3Quaternion orn)
@ByVal public static b3Vector3 b3QuatRotate(@Const @ByRef b3Quaternion rotation, @Const @ByRef b3Vector3 v)
@ByVal public static b3Quaternion b3ShortestArcQuat(@Const @ByRef b3Vector3 v0, @Const @ByRef b3Vector3 v1)
@ByVal public static b3Quaternion b3ShortestArcQuatNormalize2(@ByRef b3Vector3 v0, @ByRef b3Vector3 v1)
@ByVal @Name(value="operator *") public static b3Matrix3x3 multiply(@Const @ByRef b3Matrix3x3 m, @Cast(value="const b3Scalar") float k)
@ByVal @Name(value="operator +") public static b3Matrix3x3 add(@Const @ByRef b3Matrix3x3 m1, @Const @ByRef b3Matrix3x3 m2)
@ByVal @Name(value="operator -") public static b3Matrix3x3 subtract(@Const @ByRef b3Matrix3x3 m1, @Const @ByRef b3Matrix3x3 m2)
@ByVal @Name(value="operator *") public static b3Vector3 multiply(@Const @ByRef b3Matrix3x3 m, @Const @ByRef b3Vector3 v)
@ByVal @Name(value="operator *") public static b3Vector3 multiply(@Const @ByRef b3Vector3 v, @Const @ByRef b3Matrix3x3 m)
@ByVal @Name(value="operator *") public static b3Matrix3x3 multiply(@Const @ByRef b3Matrix3x3 m1, @Const @ByRef b3Matrix3x3 m2)
@Cast(value="bool") @Name(value="operator ==") public static boolean equals(@Const @ByRef b3Matrix3x3 m1, @Const @ByRef b3Matrix3x3 m2)
@Cast(value="bool") @Name(value="operator ==") public static boolean equals(@Const @ByRef b3Transform t1, @Const @ByRef b3Transform t2)
@MemberGetter public static double B3_ANGULAR_MOTION_THRESHOLD()
@ByVal public static b3Vector3 b3AabbSupport(@Const @ByRef b3Vector3 halfExtents, @Const @ByRef b3Vector3 supportDir)
@ByVal public static b3Vector3 b3MaxFloat4(@Const @ByRef b3Vector3 a, @Const @ByRef b3Vector3 b)
@ByVal public static b3Vector3 b3MinFloat4(@Const @ByRef b3Vector3 a, @Const @ByRef b3Vector3 b)
public static int b3MaxDot(@Const @ByRef b3Vector3 vec, @Const b3Vector3 vecArray, int vecLen, FloatPointer dotOut)
public static int b3MaxDot(@Const @ByRef b3Vector3 vec, @Const b3Vector3 vecArray, int vecLen, FloatBuffer dotOut)
public static int b3MaxDot(@Const @ByRef b3Vector3 vec, @Const b3Vector3 vecArray, int vecLen, float[] dotOut)
@ByVal public static b3UnsignedInt4 b3MakeUnsignedInt4(@Cast(value="unsigned int") int x, @Cast(value="unsigned int") int y, @Cast(value="unsigned int") int z, @Cast(value="unsigned int") int w)
@ByVal public static b3UnsignedInt4 b3MakeUnsignedInt4(@Cast(value="unsigned int") int x, @Cast(value="unsigned int") int y, @Cast(value="unsigned int") int z)
@ByVal public static b3Quaternion b3QuatInverse(@Const @ByRef b3Quaternion orn)
@ByVal public static b3Vector3 b3TransformPoint(@Const @ByRef b3Vector3 point, @Const @ByRef b3Vector3 translation, @Const @ByRef b3Quaternion orientation)
@ByVal public static b3Matrix3x3 b3QuatGetRotationMatrix(@Const @ByRef b3Quaternion quat)
@ByVal public static b3Matrix3x3 b3AbsoluteMat3x3(@Const @ByRef b3Matrix3x3 mat)
@ByVal public static b3Vector3 mtMul3(@Const @ByRef b3Vector3 a, @Const @ByRef b3Matrix3x3 b)
public static int b3AtomicAdd(IntPointer p, int val)
public static int b3AtomicAdd(IntBuffer p, int val)
public static int b3AtomicAdd(int[] p,
int val)
Copyright © 2024. All rights reserved.