zone bug fix

This commit is contained in:
2025-09-10 16:17:44 +05:30
parent f6a88860ec
commit 8afa1f3c12

View File

@@ -9,6 +9,8 @@ import { getUserData } from "../../../../functions/getUserData";
import ReferencePoint from "../../point/reference/referencePoint";
import ReferenceZone from "./referenceZone";
import getCenteroidPoint from "../../functions/getCenteroid";
import { upsertZoneApi } from "../../../../services/factoryBuilder/zone/upsertZoneApi";
function ZoneCreator() {
@@ -95,14 +97,17 @@ function ZoneCreator() {
}
if (tempPoints.length > 2 && isCreating && snappedPoint && snappedPoint.pointUuid === tempPoints[0].pointUuid) {
const vec2Points = tempPoints.map((p) => new THREE.Vector2(parseFloat(p.position[0].toFixed(2)), parseFloat(p.position[2].toFixed(2))));
const viewPortPosition = getCenteroidPoint(vec2Points);
const zone: Zone = {
zoneUuid: THREE.MathUtils.generateUUID(),
zoneName: `Zone `,
points: tempPoints,
zoneColor,
zoneHeight,
viewPortPosition: [0, 0, 0],
viewPortTarget: [0, 0, 0],
viewPortPosition: viewPortPosition ? [viewPortPosition.x, 10, viewPortPosition.y] : [0, 0, 0],
viewPortTarget: viewPortPosition ? [viewPortPosition.x, 0, viewPortPosition.y] : [0, 0, 0],
};
addZone(zone);
@@ -147,14 +152,17 @@ function ZoneCreator() {
setIsCreating(true);
} else if (pointIntersects) {
if (tempPoints.length > 2 && isCreating && pointIntersects.object.uuid === tempPoints[0].pointUuid) {
const vec2Points = tempPoints.map((p) => new THREE.Vector2(parseFloat(p.position[0].toFixed(2)), parseFloat(p.position[2].toFixed(2))));
const viewPortPosition = getCenteroidPoint(vec2Points);
const zone: Zone = {
zoneUuid: THREE.MathUtils.generateUUID(),
zoneName: "Zone",
points: tempPoints,
zoneColor,
zoneHeight,
viewPortPosition: [0, 0, 0],
viewPortTarget: [0, 0, 0],
viewPortPosition: viewPortPosition ? [viewPortPosition.x, 10, viewPortPosition.y] : [0, 0, 0],
viewPortTarget: viewPortPosition ? [viewPortPosition.x, 0, viewPortPosition.y] : [0, 0, 0],
};
addZone(zone);
@@ -208,14 +216,17 @@ function ZoneCreator() {
event.preventDefault();
if (isCreating) {
if (tempPoints.length >= 3) {
const vec2Points = tempPoints.map((p) => new THREE.Vector2(parseFloat(p.position[0].toFixed(2)), parseFloat(p.position[2].toFixed(2))));
const viewPortPosition = getCenteroidPoint(vec2Points);
const zone: Zone = {
zoneUuid: THREE.MathUtils.generateUUID(),
zoneName: "Zone",
points: tempPoints,
zoneColor,
zoneHeight,
viewPortPosition: [0, 0, 0],
viewPortTarget: [0, 0, 0],
viewPortPosition: viewPortPosition ? [viewPortPosition.x, 10, viewPortPosition.y] : [0, 0, 0],
viewPortTarget: viewPortPosition ? [viewPortPosition.x, 0, viewPortPosition.y] : [0, 0, 0],
};
addZone(zone);