Add floorName property to Floor interface and update related components for floor creation
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -66,6 +66,7 @@ function ReferenceFloor({ tempPoints }: Readonly<ReferenceFloorProps>) {
|
||||
|
||||
setTempFloor({
|
||||
floorUuid: 'temp-floor',
|
||||
floorName: 'temp-floor',
|
||||
points: floorPoints,
|
||||
topMaterial: 'default',
|
||||
sideMaterial: 'default',
|
||||
|
||||
@@ -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);
|
||||
}),
|
||||
|
||||
@@ -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);
|
||||
}),
|
||||
|
||||
1
app/src/types/builderTypes.d.ts
vendored
1
app/src/types/builderTypes.d.ts
vendored
@@ -113,6 +113,7 @@ type Walls = Wall[];
|
||||
|
||||
interface Floor {
|
||||
floorUuid: string;
|
||||
floorName: string;
|
||||
points: Point[];
|
||||
sideMaterial: string;
|
||||
topMaterial: string;
|
||||
|
||||
Reference in New Issue
Block a user