Skip to content

Class: MockPhysicsJoint

Mock of the X-Ray engine physics joint.

Implements

  • physics_joint

Constructors

Constructor

ts
new MockPhysicsJoint(name: string): MockPhysicsJoint;

Parameters

ParameterType
namestring

Returns

MockPhysicsJoint

Methods

get_anchor()

ts
get_anchor(anchor: vector): void;

Write the joint anchor into a vector.

Parameters

ParameterTypeDescription
anchorvectorOutput 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

ts
physics_joint.get_anchor

get_axes_number()

ts
get_axes_number(): number;

Returns

number

Number of controlled axes.

Implementation of

ts
physics_joint.get_axes_number

get_axis_angle()

ts
get_axis_angle(_axis: number): number;

Get current angle for an axis.

Parameters

ParameterType
_axisnumber

Returns

number

Axis angle.

Remarks

Use an axis index lower than get_axes_number().

Implementation of

ts
physics_joint.get_axis_angle

get_axis_dir()

ts
get_axis_dir(axis: number, direction: vector): void;

Write axis direction into a vector.

Parameters

ParameterTypeDescription
axisnumberAxis index.
directionvectorOutput direction vector.

Returns

void

Remarks

The passed vector is overwritten. Ball joints have no axis direction to write.

Implementation of

ts
physics_joint.get_axis_dir

get_bone_id()

ts
get_bone_id(): number;

Returns

number

Bone id associated with this joint.

Implementation of

ts
physics_joint.get_bone_id

get_first_element()

ts
get_first_element(): physics_element;

Returns

physics_element

First connected physics element.

Implementation of

ts
physics_joint.get_first_element

get_limits()

ts
get_limits(
   min: number, 
   max: number, 
axis: number): LuaMultiReturn<[number, number]>;

Get angle limits for an axis.

Parameters

ParameterTypeDescription
minnumberOutput lower limit placeholder.
maxnumberOutput upper limit placeholder.
axisnumberAxis 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

ts
physics_joint.get_limits

get_max_force_and_velocity()

ts
get_max_force_and_velocity(
   _force: number, 
   _velocity: number, 
   _axis: number): void;

Get force and velocity limits for an axis.

Parameters

ParameterType
_forcenumber
_velocitynumber
_axisnumber

Returns

void

Remarks

Native Lua writes through the first two parameters. In TypeScript, pass placeholders only for declaration compatibility.

Implementation of

ts
physics_joint.get_max_force_and_velocity

get_stcond_element()

ts
get_stcond_element(): physics_element;

Returns

physics_element

Second connected physics element.

Implementation of

ts
physics_joint.get_stcond_element

is_breakable()

ts
is_breakable(): boolean;

Returns

boolean

Whether the joint can break.

Implementation of

ts
physics_joint.is_breakable

set_anchor_global()

ts
set_anchor_global(
   x: number, 
   y: number, 
   z: number): void;

Set anchor in world space.

Parameters

ParameterType
xnumber
ynumber
znumber

Returns

void

Remarks

The coordinates are interpreted in the shell's global frame.

Implementation of

ts
physics_joint.set_anchor_global

set_anchor_vs_first_element()

ts
set_anchor_vs_first_element(
   x: number, 
   y: number, 
   z: number): void;

Set anchor relative to the first element.

Parameters

ParameterType
xnumber
ynumber
znumber

Returns

void

Remarks

The coordinates are interpreted in the first element's local frame.

Implementation of

ts
physics_joint.set_anchor_vs_first_element

set_anchor_vs_second_element()

ts
set_anchor_vs_second_element(
   x: number, 
   y: number, 
   z: number): void;

Set anchor relative to the second element.

Parameters

ParameterType
xnumber
ynumber
znumber

Returns

void

Remarks

The coordinates are interpreted in the second element's local frame.

Implementation of

ts
physics_joint.set_anchor_vs_second_element

set_axis_dir_global()

ts
set_axis_dir_global(
   x: number, 
   y: number, 
   z: number, 
   axis: number): void;

Set axis direction in world space.

Parameters

ParameterType
xnumber
ynumber
znumber
axisnumber

Returns

void

Remarks

Use an axis index lower than get_axes_number().

Implementation of

ts
physics_joint.set_axis_dir_global

set_axis_dir_vs_first_element()

ts
set_axis_dir_vs_first_element(
   x: number, 
   y: number, 
   z: number, 
   axis: number): void;

Set axis direction relative to the first element.

Parameters

ParameterType
xnumber
ynumber
znumber
axisnumber

Returns

void

Remarks

Use an axis index lower than get_axes_number().

Implementation of

ts
physics_joint.set_axis_dir_vs_first_element

set_axis_dir_vs_second_element()

ts
set_axis_dir_vs_second_element(
   x: number, 
   y: number, 
   z: number, 
   axis: number): void;

Set axis direction relative to the second element.

Parameters

ParameterType
xnumber
ynumber
znumber
axisnumber

Returns

void

Remarks

Use an axis index lower than get_axes_number().

Implementation of

ts
physics_joint.set_axis_dir_vs_second_element

set_axis_spring_dumping_factors()

ts
set_axis_spring_dumping_factors(
   spring: number, 
   damping: number, 
   axis: number): void;

Set spring and damping factors for an axis.

Parameters

ParameterType
springnumber
dampingnumber
axisnumber

Returns

void

Remarks

Use an axis index lower than get_axes_number().

Implementation of

ts
physics_joint.set_axis_spring_dumping_factors

set_joint_spring_dumping_factors()

ts
set_joint_spring_dumping_factors(spring: number, damping: number): void;

Set spring and damping factors for the whole joint.

Parameters

ParameterType
springnumber
dampingnumber

Returns

void

Implementation of

ts
physics_joint.set_joint_spring_dumping_factors

set_limits()

ts
set_limits(
   min: number, 
   max: number, 
   axis: number): void;

Set angle limits for an axis.

Parameters

ParameterType
minnumber
maxnumber
axisnumber

Returns

void

Remarks

Limits are angles in radians for rotational axes. Use an axis index lower than get_axes_number().

Implementation of

ts
physics_joint.set_limits

set_max_force_and_velocity()

ts
set_max_force_and_velocity(
   force: number, 
   velocity: number, 
   axis: number): void;

Set force and velocity limits for an axis.

Parameters

ParameterType
forcenumber
velocitynumber
axisnumber

Returns

void

Remarks

Use an axis index lower than get_axes_number().

Implementation of

ts
physics_joint.set_max_force_and_velocity

create()

ts
static create(name: string): MockPhysicsJoint;

Parameters

ParameterType
namestring

Returns

MockPhysicsJoint


mock()

ts
static mock(name: string): physics_joint;

Parameters

ParameterType
namestring

Returns

physics_joint

Properties

anchor

ts
anchor: MockVector;

angleLimits

ts
angleLimits: Map<number, [number, number]>;

axesNumber

ts
axesNumber: number = 1;

axisDirections

ts
axisDirections: Map<number, MockVector>;

axisSpringDamping

ts
axisSpringDamping: Map<number, [number, number]>;

boneId

ts
boneId: number = 0;

firstElement

ts
firstElement: physics_element;

forceVelocityLimits

ts
forceVelocityLimits: Map<number, [number, number]>;

isBreakable

ts
isBreakable: boolean = false;

jointSpringDamping

ts
jointSpringDamping: [number, number];

name

ts
name: string;

secondElement

ts
secondElement: physics_element;