diff --git a/app/src/lib/utilities/model-utilities.ts b/app/src/lib/utilities/model-utilities.ts index 7feda9c..235c46d 100644 --- a/app/src/lib/utilities/model-utilities.ts +++ b/app/src/lib/utilities/model-utilities.ts @@ -1,4 +1,4 @@ -import { LoaderUtils } from 'three'; +import { LoaderUtils, Vector3 } from 'three'; import URDFLoader, { type URDFRobot } from 'urdf-loader'; import { XacroLoader } from 'xacro-parser'; import { Result } from '$lib/utilities'; @@ -36,3 +36,15 @@ export const loadModelAsync = async ( ); }); }; + +export const toeWorldPositions = (robot: URDFRobot) => { + const toe_positions: Vector3[] = []; + robot.traverse((child) => { + if (child.name.includes('toe') && !child.name.includes('_link')) { + const worldPosition = new Vector3(); + child.getWorldPosition(worldPosition); + toe_positions.push(worldPosition); + } + }); + return toe_positions; +};