Class: MockPhysicsJoint
Mock of the X-Ray engine physics joint.
Implements
physics_joint
Constructors
Constructor
new MockPhysicsJoint(name: string): MockPhysicsJoint;Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
MockPhysicsJoint
Methods
get_anchor()
get_anchor(anchor: vector): void;Write the joint anchor into a vector.
Parameters
| Parameter | Type | Description |
|---|---|---|
anchor | vector | Output anchor vector. |
Returns
void
Remarks
The passed vector is overwritten. Slider joints do not have a defined anchor and trip a native assertion.
Implementation of
physics_joint.get_anchorget_axes_number()
get_axes_number(): number;Returns
number
Number of controlled axes.
Implementation of
physics_joint.get_axes_numberget_axis_angle()
get_axis_angle(_axis: number): number;Get current angle for an axis.
Parameters
| Parameter | Type |
|---|---|
_axis | number |
Returns
number
Axis angle.
Remarks
Use an axis index lower than get_axes_number().
Implementation of
physics_joint.get_axis_angleget_axis_dir()
get_axis_dir(axis: number, direction: vector): void;Write axis direction into a vector.
Parameters
| Parameter | Type | Description |
|---|---|---|
axis | number | Axis index. |
direction | vector | Output direction vector. |
Returns
void
Remarks
The passed vector is overwritten. Ball joints have no axis direction to write.
Implementation of
physics_joint.get_axis_dirget_bone_id()
get_bone_id(): number;Returns
number
Bone id associated with this joint.
Implementation of
physics_joint.get_bone_idget_first_element()
get_first_element(): physics_element;Returns
physics_element
First connected physics element.
Implementation of
physics_joint.get_first_elementget_limits()
get_limits(
min: number,
max: number,
axis: number): LuaMultiReturn<[number, number]>;Get angle limits for an axis.
Parameters
| Parameter | Type | Description |
|---|---|---|
min | number | Output lower limit placeholder. |
max | number | Output upper limit placeholder. |
axis | number | Axis index. |
Returns
LuaMultiReturn<[number, number]>
Lower and upper limits.
Remarks
The first two parameters are Lua output placeholders; use the returned tuple in TypeScript.
Implementation of
physics_joint.get_limitsget_max_force_and_velocity()
get_max_force_and_velocity(
_force: number,
_velocity: number,
_axis: number): void;Get force and velocity limits for an axis.
Parameters
| Parameter | Type |
|---|---|
_force | number |
_velocity | number |
_axis | number |
Returns
void
Remarks
Native Lua writes through the first two parameters. In TypeScript, pass placeholders only for declaration compatibility.
Implementation of
physics_joint.get_max_force_and_velocityget_stcond_element()
get_stcond_element(): physics_element;Returns
physics_element
Second connected physics element.
Implementation of
physics_joint.get_stcond_elementis_breakable()
is_breakable(): boolean;Returns
boolean
Whether the joint can break.
Implementation of
physics_joint.is_breakableset_anchor_global()
set_anchor_global(
x: number,
y: number,
z: number): void;Set anchor in world space.
Parameters
| Parameter | Type |
|---|---|
x | number |
y | number |
z | number |
Returns
void
Remarks
The coordinates are interpreted in the shell's global frame.
Implementation of
physics_joint.set_anchor_globalset_anchor_vs_first_element()
set_anchor_vs_first_element(
x: number,
y: number,
z: number): void;Set anchor relative to the first element.
Parameters
| Parameter | Type |
|---|---|
x | number |
y | number |
z | number |
Returns
void
Remarks
The coordinates are interpreted in the first element's local frame.
Implementation of
physics_joint.set_anchor_vs_first_elementset_anchor_vs_second_element()
set_anchor_vs_second_element(
x: number,
y: number,
z: number): void;Set anchor relative to the second element.
Parameters
| Parameter | Type |
|---|---|
x | number |
y | number |
z | number |
Returns
void
Remarks
The coordinates are interpreted in the second element's local frame.
Implementation of
physics_joint.set_anchor_vs_second_elementset_axis_dir_global()
set_axis_dir_global(
x: number,
y: number,
z: number,
axis: number): void;Set axis direction in world space.
Parameters
| Parameter | Type |
|---|---|
x | number |
y | number |
z | number |
axis | number |
Returns
void
Remarks
Use an axis index lower than get_axes_number().
Implementation of
physics_joint.set_axis_dir_globalset_axis_dir_vs_first_element()
set_axis_dir_vs_first_element(
x: number,
y: number,
z: number,
axis: number): void;Set axis direction relative to the first element.
Parameters
| Parameter | Type |
|---|---|
x | number |
y | number |
z | number |
axis | number |
Returns
void
Remarks
Use an axis index lower than get_axes_number().
Implementation of
physics_joint.set_axis_dir_vs_first_elementset_axis_dir_vs_second_element()
set_axis_dir_vs_second_element(
x: number,
y: number,
z: number,
axis: number): void;Set axis direction relative to the second element.
Parameters
| Parameter | Type |
|---|---|
x | number |
y | number |
z | number |
axis | number |
Returns
void
Remarks
Use an axis index lower than get_axes_number().
Implementation of
physics_joint.set_axis_dir_vs_second_elementset_axis_spring_dumping_factors()
set_axis_spring_dumping_factors(
spring: number,
damping: number,
axis: number): void;Set spring and damping factors for an axis.
Parameters
| Parameter | Type |
|---|---|
spring | number |
damping | number |
axis | number |
Returns
void
Remarks
Use an axis index lower than get_axes_number().
Implementation of
physics_joint.set_axis_spring_dumping_factorsset_joint_spring_dumping_factors()
set_joint_spring_dumping_factors(spring: number, damping: number): void;Set spring and damping factors for the whole joint.
Parameters
| Parameter | Type |
|---|---|
spring | number |
damping | number |
Returns
void
Implementation of
physics_joint.set_joint_spring_dumping_factorsset_limits()
set_limits(
min: number,
max: number,
axis: number): void;Set angle limits for an axis.
Parameters
| Parameter | Type |
|---|---|
min | number |
max | number |
axis | number |
Returns
void
Remarks
Limits are angles in radians for rotational axes. Use an axis index lower than get_axes_number().
Implementation of
physics_joint.set_limitsset_max_force_and_velocity()
set_max_force_and_velocity(
force: number,
velocity: number,
axis: number): void;Set force and velocity limits for an axis.
Parameters
| Parameter | Type |
|---|---|
force | number |
velocity | number |
axis | number |
Returns
void
Remarks
Use an axis index lower than get_axes_number().
Implementation of
physics_joint.set_max_force_and_velocitycreate()
static create(name: string): MockPhysicsJoint;Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
MockPhysicsJoint
mock()
static mock(name: string): physics_joint;Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
physics_joint
Properties
anchor
anchor: MockVector;angleLimits
angleLimits: Map<number, [number, number]>;axesNumber
axesNumber: number = 1;axisDirections
axisDirections: Map<number, MockVector>;axisSpringDamping
axisSpringDamping: Map<number, [number, number]>;boneId
boneId: number = 0;firstElement
firstElement: physics_element;forceVelocityLimits
forceVelocityLimits: Map<number, [number, number]>;isBreakable
isBreakable: boolean = false;jointSpringDamping
jointSpringDamping: [number, number];name
name: string;secondElement
secondElement: physics_element;