Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 739041a

Browse files
committed
feat(rapier): rename joints to remove inject prefix
1 parent bcfefe0 commit 739041a

File tree

9 files changed

+63
-33
lines changed

9 files changed

+63
-33
lines changed

apps/examples/src/app/rapier/car/car.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
input,
99
} from '@angular/core';
1010
import { beforeRender, NgtArgs, NgtVector3 } from 'angular-three';
11-
import { injectRevoluteJoint, NgtrRigidBody } from 'angular-three-rapier';
11+
import { NgtrRigidBody, revoluteJoint } from 'angular-three-rapier';
1212
import { ResetOrbitControls } from '../reset-orbit-controls';
1313

1414
@Directive({ selector: '[rigidBody][wheel]' })
@@ -20,14 +20,14 @@ export class WheelJoint {
2020
private rigidBody = computed(() => this.body().rigidBody());
2121

2222
constructor() {
23-
const revoluteJoint = injectRevoluteJoint(this.rigidBody, this.wheel.rigidBody, {
23+
const revoluteJointApi = revoluteJoint(this.rigidBody, this.wheel.rigidBody, {
2424
data: () => ({ body1Anchor: this.bodyAnchor(), body2Anchor: [0, 0, 0], axis: [0, 0, 1] }),
2525
});
2626

2727
beforeRender(() => {
28-
const joint = revoluteJoint();
29-
if (!joint) return;
30-
joint.configureMotorVelocity(20, 10);
28+
const jointApi = revoluteJointApi();
29+
if (!jointApi) return;
30+
jointApi.configureMotorVelocity(20, 10);
3131
});
3232
}
3333
}

apps/examples/src/app/rapier/cradle/cradle.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, input, viewChild } from '@angular/core';
22
import { NgtEuler, NgtVector3 } from 'angular-three';
3-
import { injectSphericalJoint, NgtrBallCollider, NgtrCylinderCollider, NgtrRigidBody } from 'angular-three-rapier';
3+
import { NgtrBallCollider, NgtrCylinderCollider, NgtrRigidBody, sphericalJoint } from 'angular-three-rapier';
44
import { ResetOrbitControls } from '../reset-orbit-controls';
55

66
@Component({
@@ -45,7 +45,7 @@ export class Rod {
4545
const anchor = computed(() => this.anchorRef().rigidBody());
4646
const rod = computed(() => this.rodRef().rigidBody());
4747

48-
injectSphericalJoint(anchor, rod, {
48+
sphericalJoint(anchor, rod, {
4949
data: { body1Anchor: [0, 0, 0], body2Anchor: [0, 0, 0] },
5050
});
5151
}

apps/examples/src/app/rapier/joints/joints.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
viewChildren,
1010
} from '@angular/core';
1111
import { beforeRender, NgtVector3 } from 'angular-three';
12-
import { injectPrismaticJoint, injectSphericalJoint, NgtrRigidBody, NgtrRigidBodyType } from 'angular-three-rapier';
12+
import { NgtrRigidBody, NgtrRigidBodyType, prismaticJoint, sphericalJoint } from 'angular-three-rapier';
1313
import { Quaternion, Vector3 } from 'three';
1414
import { ResetOrbitControls } from '../reset-orbit-controls';
1515

@@ -39,7 +39,7 @@ export class RopeJoint {
3939
constructor() {
4040
const bodyA = computed(() => this.bodyA().rigidBody());
4141
const bodyB = computed(() => this.bodyB().rigidBody());
42-
injectSphericalJoint(bodyA, bodyB, { data: { body1Anchor: [-0.5, 0, 0], body2Anchor: [0.5, 0, 0] } });
42+
sphericalJoint(bodyA, bodyB, { data: { body1Anchor: [-0.5, 0, 0], body2Anchor: [0.5, 0, 0] } });
4343
}
4444
}
4545

@@ -124,7 +124,7 @@ export class Prismatic {
124124
constructor() {
125125
const bodyA = computed(() => this.bodyA().rigidBody());
126126
const bodyB = computed(() => this.bodyB().rigidBody());
127-
injectPrismaticJoint(bodyA, bodyB, {
127+
prismaticJoint(bodyA, bodyB, {
128128
data: { body1Anchor: [-4, 0, 0], body2Anchor: [0, 4, 0], axis: [1, 0, 0], limits: [-2, 2] },
129129
});
130130
}

apps/examples/src/app/rapier/rope-joint/rope-joint.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, input, viewChild } from '@angular/core';
22
import { NgtArgs, NgtVector3 } from 'angular-three';
3-
import { injectRopeJoint, NgtrBallCollider, NgtrRigidBody } from 'angular-three-rapier';
3+
import { NgtrBallCollider, NgtrRigidBody, ropeJoint } from 'angular-three-rapier';
44
import { ResetOrbitControls } from '../reset-orbit-controls';
55

66
const WALL_COLORS = ['#50514F', '#CBD4C2', '#FFFCFF', '#247BA0', '#C3B299'];
@@ -90,7 +90,7 @@ export class RopeJoint {
9090
const anchorBody = computed(() => this.anchorBody().rigidBody());
9191
const ballBody = computed(() => this.ballBody().rigidBody());
9292

93-
injectRopeJoint(anchorBody, ballBody, {
93+
ropeJoint(anchorBody, ballBody, {
9494
data: () => ({ body1Anchor: [0, 0, 0], body2Anchor: [0, 0, 0], length: this.length() }),
9595
});
9696
}

apps/examples/src/app/rapier/spring/spring.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, input, viewChild } from '@angular/core';
22
import { NgtArgs, NgtVector3, vector3 } from 'angular-three';
3-
import { injectSpringJoint, NgtrBallCollider, NgtrRigidBody } from 'angular-three-rapier';
3+
import { NgtrBallCollider, NgtrRigidBody, springJoint } from 'angular-three-rapier';
44
import { ColorRepresentation } from 'three';
55
import { ResetOrbitControls } from '../reset-orbit-controls';
66

@@ -63,7 +63,7 @@ export class BallSpring {
6363
const damping = computed(() => dampingRatio() * criticalDamping());
6464
const positionVector = vector3(this.position);
6565

66-
injectSpringJoint(ballBody, floorBody, {
66+
springJoint(ballBody, floorBody, {
6767
data: () => ({
6868
body1Anchor: [0, 0, 0],
6969
body2Anchor: [positionVector().x, positionVector().y - 3, positionVector().z],

libs/rapier/addons/src/lib/attractor-debug.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import { NgtrAttactorOptions } from './attractor';
88

99
const _v3 = new THREE.Vector3();
1010

11-
export function injectAttractorDebug(object: THREE.Object3D, options: () => NgtrAttactorOptions, injector?: Injector) {
12-
return assertInjector(injectAttractorDebug, injector, () => {
11+
export function attractorDebug(object: THREE.Object3D, options: () => NgtrAttactorOptions, injector?: Injector) {
12+
return assertInjector(attractorDebug, injector, () => {
1313
const physics = inject(NgtrPhysics);
1414
const store = injectStore();
1515

libs/rapier/addons/src/lib/attractor.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { Directive, effect, ElementRef, inject, input, linkedSignal, untracked } from '@angular/core';
22
import { InteractionGroups, RigidBody } from '@dimforge/rapier3d-compat';
33
import { applyProps, NgtVector3, pick } from 'angular-three';
4-
import { COLLISION_GROUPS_HANDLER, injectBeforePhysicsStep } from 'angular-three-rapier';
4+
import { beforePhysicsStep, COLLISION_GROUPS_HANDLER } from 'angular-three-rapier';
55
import { mergeInputs } from 'ngxtension/inject-inputs';
66
import * as THREE from 'three';
7-
import { injectAttractorDebug } from './attractor-debug';
7+
import { attractorDebug } from './attractor-debug';
88

99
const calcForceByType = {
1010
static: (s: number, m2: number, r: number, d: number, G: number) => s,
@@ -137,7 +137,7 @@ export class NgtrAttractor {
137137
applyProps(this.objectRef.nativeElement, { position: this.position() });
138138
});
139139

140-
injectBeforePhysicsStep((world) => {
140+
beforePhysicsStep((world) => {
141141
const { strength, range, type, gravitationalConstant } = untracked(this.options);
142142
const collisionGroups = untracked(this.linkedCollisionGroups);
143143
world.bodies.forEach((body) => {
@@ -154,6 +154,6 @@ export class NgtrAttractor {
154154
});
155155
});
156156

157-
injectAttractorDebug(this.objectRef.nativeElement, this.options);
157+
attractorDebug(this.objectRef.nativeElement, this.options);
158158
}
159159
}

libs/rapier/src/lib/joints.ts

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ import type {
2323
} from './types';
2424
import { quaternionToRapierQuaternion, vector3ToRapierVector } from './utils';
2525

26-
function injectImpulseJoint<TJoinType extends ImpulseJoint>(
26+
function impulseJoint<TJoinType extends ImpulseJoint>(
2727
bodyA: ElementRef<RigidBody> | RigidBody | (() => ElementRef<RigidBody> | RigidBody | undefined | null),
2828
bodyB: ElementRef<RigidBody> | RigidBody | (() => ElementRef<RigidBody> | RigidBody | undefined | null),
2929
{ injector, data }: { injector?: Injector; data: JointData | (() => JointData | null) },
3030
) {
31-
return assertInjector(injectImpulseJoint, injector, () => {
31+
return assertInjector(impulseJoint, injector, () => {
3232
const physics = inject(NgtrPhysics);
3333

3434
const newJoint = computed<TJoinType | null>(() => {
@@ -86,7 +86,7 @@ function createJoint<TJointParams, TJoinType extends ImpulseJoint>(
8686
return jointDataFn(rapier, untracked(dataFn));
8787
});
8888

89-
return injectImpulseJoint<TJoinType>(bodyA, bodyB, { injector, data: jointData });
89+
return impulseJoint<TJoinType>(bodyA, bodyB, { injector, data: jointData });
9090
});
9191
};
9292
}
@@ -98,14 +98,19 @@ function createJoint<TJointParams, TJoinType extends ImpulseJoint>(
9898
*
9999
* @category Hooks - Joints
100100
*/
101-
export const injectFixedJoint = createJoint<NgtrFixedJointParams, FixedImpulseJoint>((rapier, data) =>
101+
export const fixedJoint = createJoint<NgtrFixedJointParams, FixedImpulseJoint>((rapier, data) =>
102102
rapier.JointData.fixed(
103103
vector3ToRapierVector(data.body1Anchor),
104104
quaternionToRapierQuaternion(data.body1LocalFrame),
105105
vector3ToRapierVector(data.body2Anchor),
106106
quaternionToRapierQuaternion(data.body2LocalFrame),
107107
),
108108
);
109+
/**
110+
* @deprecated Use `fixedJoint` instead. Will be removed in v5.0.0
111+
* @since v4.0.0
112+
*/
113+
export const injectFixedJoint = fixedJoint;
109114

110115
/**
111116
* The spherical joint ensures that two points on the local-spaces of two rigid-bodies always coincide (it prevents any relative
@@ -115,9 +120,14 @@ export const injectFixedJoint = createJoint<NgtrFixedJointParams, FixedImpulseJo
115120
*
116121
* @category Hooks - Joints
117122
*/
118-
export const injectSphericalJoint = createJoint<NgtrSphericalJointParams, SphericalImpulseJoint>((rapier, data) =>
123+
export const sphericalJoint = createJoint<NgtrSphericalJointParams, SphericalImpulseJoint>((rapier, data) =>
119124
rapier.JointData.spherical(vector3ToRapierVector(data.body1Anchor), vector3ToRapierVector(data.body2Anchor)),
120125
);
126+
/**
127+
* @deprecated Use `sphericalJoint` instead. Will be removed in v5.0.0
128+
* @since v4.0.0
129+
*/
130+
export const injectSphericalJoint = sphericalJoint;
121131

122132
/**
123133
* The revolute joint prevents any relative movement between two rigid-bodies, except for relative
@@ -126,7 +136,7 @@ export const injectSphericalJoint = createJoint<NgtrSphericalJointParams, Spheri
126136
*
127137
* @category Hooks - Joints
128138
*/
129-
export const injectRevoluteJoint = createJoint<NgtrRevoluteJointParams, RevoluteImpulseJoint>((rapier, data) => {
139+
export const revoluteJoint = createJoint<NgtrRevoluteJointParams, RevoluteImpulseJoint>((rapier, data) => {
130140
const jointData = rapier.JointData.revolute(
131141
vector3ToRapierVector(data.body1Anchor),
132142
vector3ToRapierVector(data.body2Anchor),
@@ -140,6 +150,11 @@ export const injectRevoluteJoint = createJoint<NgtrRevoluteJointParams, Revolute
140150

141151
return jointData;
142152
});
153+
/**
154+
* @deprecated Use `revoluteJoint` instead. Will be removed in v5.0.0
155+
* @since v4.0.0
156+
*/
157+
export const injectRevoluteJoint = revoluteJoint;
143158

144159
/**
145160
* The prismatic joint prevents any relative movement between two rigid-bodies, except for relative translations along one axis.
@@ -148,7 +163,7 @@ export const injectRevoluteJoint = createJoint<NgtrRevoluteJointParams, Revolute
148163
*
149164
* @category Hooks - Joints
150165
*/
151-
export const injectPrismaticJoint = createJoint<NgtrPrismaticJointParams, PrismaticImpulseJoint>((rapier, data) => {
166+
export const prismaticJoint = createJoint<NgtrPrismaticJointParams, PrismaticImpulseJoint>((rapier, data) => {
152167
const jointData = rapier.JointData.prismatic(
153168
vector3ToRapierVector(data.body1Anchor),
154169
vector3ToRapierVector(data.body2Anchor),
@@ -162,24 +177,34 @@ export const injectPrismaticJoint = createJoint<NgtrPrismaticJointParams, Prisma
162177

163178
return jointData;
164179
});
180+
/**
181+
* @deprecated Use `prismaticJoint` instead. Will be removed in v5.0.0
182+
* @since v4.0.0
183+
*/
184+
export const injectPrismaticJoint = prismaticJoint;
165185

166186
/**
167187
* The rope joint limits the max distance between two bodies.
168188
* @category Hooks - Joints
169189
*/
170-
export const injectRopeJoint = createJoint<NgtrRopeJointParams, RopeImpulseJoint>((rapier, data) =>
190+
export const ropeJoint = createJoint<NgtrRopeJointParams, RopeImpulseJoint>((rapier, data) =>
171191
rapier.JointData.rope(
172192
data.length,
173193
vector3ToRapierVector(data.body1Anchor),
174194
vector3ToRapierVector(data.body2Anchor),
175195
),
176196
);
197+
/**
198+
* @deprecated Use `ropeJoint` instead. Will be removed in v5.0.0
199+
* @since v4.0.0
200+
*/
201+
export const injectRopeJoint = ropeJoint;
177202

178203
/**
179204
* The spring joint applies a force proportional to the distance between two objects.
180205
* @category Hooks - Joints
181206
*/
182-
export const injectSpringJoint = createJoint<NgtrSpringJointParams, SpringImpulseJoint>((rapier, data) => {
207+
export const springJoint = createJoint<NgtrSpringJointParams, SpringImpulseJoint>((rapier, data) => {
183208
return rapier.JointData.spring(
184209
data.restLength,
185210
data.stiffness,
@@ -188,3 +213,8 @@ export const injectSpringJoint = createJoint<NgtrSpringJointParams, SpringImpuls
188213
vector3ToRapierVector(data.body2Anchor),
189214
);
190215
});
216+
/**
217+
* @deprecated Use `springJoint` instead. Will be removed in v5.0.0
218+
* @since v4.0.0
219+
*/
220+
export const injectSpringJoint = springJoint;

libs/rapier/src/lib/physics-step-callback.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { assertInjector } from 'ngxtension/assert-injector';
33
import { NgtrPhysics } from './physics';
44
import type { NgtrWorldStepCallback } from './types';
55

6-
export function injectBeforePhysicsStep(callback: NgtrWorldStepCallback, injector?: Injector) {
7-
return assertInjector(injectBeforePhysicsStep, injector, () => {
6+
export function beforePhysicsStep(callback: NgtrWorldStepCallback, injector?: Injector) {
7+
return assertInjector(beforePhysicsStep, injector, () => {
88
const physics = inject(NgtrPhysics);
99

1010
physics.beforeStepCallbacks.add(callback);
@@ -15,8 +15,8 @@ export function injectBeforePhysicsStep(callback: NgtrWorldStepCallback, injecto
1515
});
1616
}
1717

18-
export function injectAfterPhysicsStep(callback: NgtrWorldStepCallback, injector?: Injector) {
19-
return assertInjector(injectAfterPhysicsStep, injector, () => {
18+
export function afterPhysicsStep(callback: NgtrWorldStepCallback, injector?: Injector) {
19+
return assertInjector(afterPhysicsStep, injector, () => {
2020
const physics = inject(NgtrPhysics);
2121

2222
physics.afterStepCallbacks.add(callback);

0 commit comments

Comments
 (0)