diff --git a/ui/src/features/behavior_tree_builder/presentation/ui/editor/editor.tsx b/ui/src/features/behavior_tree_builder/presentation/ui/editor/editor.tsx
index f7ae73b..44dbe3c 100644
--- a/ui/src/features/behavior_tree_builder/presentation/ui/editor/editor.tsx
+++ b/ui/src/features/behavior_tree_builder/presentation/ui/editor/editor.tsx
@@ -20,6 +20,7 @@ export async function createEditor(container: HTMLElement) {
setTimeout(async () => {
const node = new ClassicPreset.Node(event.name);
const { x, y } = areaContainer.area.pointer;
+ console.log(x, y);
await editor.addNode(node);
await areaContainer.translate(node.id, { x, y });
}, 50);
diff --git a/ui/src/features/stick_objects_marking/stick_objects_marking_three_repository.ts b/ui/src/features/stick_objects_marking/stick_objects_marking_three_repository.ts
index 58f986a..b9f136d 100644
--- a/ui/src/features/stick_objects_marking/stick_objects_marking_three_repository.ts
+++ b/ui/src/features/stick_objects_marking/stick_objects_marking_three_repository.ts
@@ -5,10 +5,10 @@ import { CoreVector3 } from "../../core/model/core_vector3";
export class StickObjectsMarkingThreeRepository extends CoreThreeRepository {
stickyObjects: StickyHelper[];
- updatePoint: Function;
+ drawUiPoint: Function;
constructor(htmlCanvasRef: HTMLCanvasElement, watcherSceneEditorObject: Function, updatePoint: Function) {
super(htmlCanvasRef, watcherSceneEditorObject);
- this.updatePoint = updatePoint;
+ this.drawUiPoint = updatePoint;
this.sceneWatcher();
}
@@ -45,7 +45,9 @@ export class StickObjectsMarkingThreeRepository extends CoreThreeRepository {
);
});
}
-
+ getCenter(obj: Object3D) {
+ return new Box3().setFromObject(obj).getCenter(new Vector3());
+ }
sceneWatcher() {
this.transformControls.addEventListener("objectChange", (event) => {
//@ts-expect-error
@@ -54,41 +56,44 @@ export class StickObjectsMarkingThreeRepository extends CoreThreeRepository {
this.stickyObjects.forEach((stickyHelper) => {
if (sceneActiveObject.name === stickyHelper.objectThatSticksName) {
//локальные векторы точек
- const objectThatSticksName = stickyHelper.objectThatSticksNamePoints[0];
- const objectsToWhichItSticksPoint = stickyHelper.objectsToWhichItSticksPoints[0];
+ const objectThatSticksNameLocalVector = stickyHelper.objectThatSticksNamePoints[0];
+ const objectsToWhichItSticksPointLocalVector = stickyHelper.objectsToWhichItSticksPoints[0];
+
//глобальные векторы обьектов
const globalVectorObjStickyName = this.scene.getObjectByName(stickyHelper.objectThatSticksName);
- const globalVectorObjToWhichSticks = this.scene.getObjectByName(
- stickyHelper.objectsToWhichItSticksName
- )!.position;
- //глобальные векторы точек
- const objectThatSticksNamePosition = new CoreVector3(globalVectorObjStickyName!.position).add(
- objectThatSticksName
- ).vector;
- const objectsToWhichItSticksNamePosition = new CoreVector3(globalVectorObjToWhichSticks).add(
- objectsToWhichItSticksPoint
+ const globalVectorObjToWhichSticks = this.scene.getObjectByName(stickyHelper.objectsToWhichItSticksName);
+
+ const objectsToWhichItSticksNamePosition = new CoreVector3(globalVectorObjToWhichSticks!.position).add(
+ objectsToWhichItSticksPointLocalVector
).vector;
- this.updatePoint("objectThatSticksNamePosition", JSON.stringify(objectThatSticksNamePosition));
- this.updatePoint("objectsToWhichItSticksNamePosition", JSON.stringify(objectsToWhichItSticksNamePosition));
- const distance = objectThatSticksNamePosition.distanceTo(objectsToWhichItSticksNamePosition);
- this.updatePoint("distnace", JSON.stringify(distance));
+ this.scene
+ .getObjectByName("cube2:point:0objectThatSticksNamePoints")
+ ?.position.copy(objectsToWhichItSticksNamePosition);
- const pos = objectThatSticksNamePosition.sub(objectsToWhichItSticksNamePosition);
- this.updatePoint("position", pos);
- if (distance < 20) {
- this.transformControls.detach();
- return;
- }
- if (distance < 1000) {
- this.scene.getObjectByName(stickyHelper.objectsToWhichItSticksName)?.position.copy(pos);
+ // this.scene.getObjectByName("cube2:point:0objectThatSticksNamePoints")?.position;
- this.updatePoint(
- "update",
- JSON.stringify(objectThatSticksNamePosition.sub(objectsToWhichItSticksNamePosition))
- );
- }
+ globalVectorObjStickyName?.position.copy(
+ this.scene
+ .getObjectByName("cube2:point:0objectThatSticksNamePoints")!
+ .position.add(objectsToWhichItSticksPointLocalVector)
+ );
+
+ // console.log(this.scene.children.map((e) => console.log(e.name)));
+ // cube2:point:0objectThatSticksNamePoints
+ // cube1:point:0objectsToWhichItSticksPoints
+
+ // this.makePoint(objectThatSticksNamePosition, "red", 1.1);
+ // this.makePoint(objectsToWhichItSticksNamePosition, "red", 1.1);
+
+ // const movePosition = objectThatSticksNamePosition.sub(objectsToWhichItSticksNamePosition);
+ // const movePosition = new Vector3().subVectors(
+ // objectThatSticksNamePosition,
+ // objectsToWhichItSticksNamePosition
+ // );
+
+ // this.scene.getObjectByName(stickyHelper.objectsToWhichItSticksName)?.position.copy(movePosition);
}
});
});
diff --git a/ui/src/index.tsx b/ui/src/index.tsx
index 22ce2c7..e93ad76 100644
--- a/ui/src/index.tsx
+++ b/ui/src/index.tsx
@@ -23,9 +23,9 @@ root.render(
{/* */}
<>
{/* */}
-
+ {/* */}
- {/* */}
+
>
>
);