Add floorName property to Floor interface and update related components for floor creation

This commit is contained in:
2025-06-27 16:01:58 +05:30
parent 12f1dd1771
commit 540bb44e0c
5 changed files with 20 additions and 0 deletions

View File

@@ -93,6 +93,7 @@ function FloorCreator() {
if (tempPoints.length > 2 && isCreating && pointIntersects.object.uuid === tempPoints[0].pointUuid) {
const floor: Floor = {
floorUuid: THREE.MathUtils.generateUUID(),
floorName: "Floor",
points: tempPoints,
topMaterial,
sideMaterial,
@@ -144,6 +145,7 @@ function FloorCreator() {
if (tempPoints.length >= 3) {
const floor: Floor = {
floorUuid: THREE.MathUtils.generateUUID(),
floorName: "Floor",
points: tempPoints,
topMaterial,
sideMaterial,

View File

@@ -66,6 +66,7 @@ function ReferenceFloor({ tempPoints }: Readonly<ReferenceFloorProps>) {
setTempFloor({
floorUuid: 'temp-floor',
floorName: 'temp-floor',
points: floorPoints,
topMaterial: 'default',
sideMaterial: 'default',

View File

@@ -6,6 +6,7 @@ interface FloorStore {
setFloors: (floors: Floor[]) => void;
addFloor: (floor: Floor) => void;
updateFloor: (uuid: string, updated: Partial<Floor>) => Floor | undefined;
setFloorName: (uuid: string, name: string) => void;
removeFloor: (uuid: string) => void;
removePoint: (pointUuid: string) => { removedFloors: Floor[], updatedFloors: Floor[] };
removeFloorByPoints: (Points: [Point, Point]) => { removedFloors: Floor[], updatedFloors: Floor[] };
@@ -57,6 +58,13 @@ export const createFloorStore = () => {
return updatedFloor;
},
setFloorName: (uuid, name) => set(state => {
const floor = state.floors.find(f => f.floorUuid === uuid);
if (floor) {
floor.floorName = name;
}
}),
removeFloor: (uuid) => set(state => {
state.floors = state.floors.filter(f => f.floorUuid !== uuid);
}),

View File

@@ -6,6 +6,7 @@ interface ZoneStore {
setZones: (zones: Zone[]) => void;
addZone: (zone: Zone) => void;
updateZone: (uuid: string, updated: Partial<Zone>) => void;
setZoneName: (uuid: string, name: string) => void;
removeZone: (uuid: string) => void;
removePointFromZones: (pointUuid: string) => void;
clearZones: () => void;
@@ -35,6 +36,13 @@ export const createZoneStore = () => {
}
}),
setZoneName: (uuid, name) => set(state => {
const zone = state.zones.find(z => z.zoneUuid === uuid);
if (zone) {
zone.zoneName = name;
}
}),
removeZone: (uuid) => set(state => {
state.zones = state.zones.filter(z => z.zoneUuid !== uuid);
}),

View File

@@ -113,6 +113,7 @@ type Walls = Wall[];
interface Floor {
floorUuid: string;
floorName: string;
points: Point[];
sideMaterial: string;
topMaterial: string;