import * as THREE from "three"; import * as Types from "../../../../types/world/worldTypes"; import * as CONSTANTS from "../../../../types/world/worldConstants"; import { Base } from "@react-three/csg"; import { MeshDiscardMaterial } from "@react-three/drei"; import { useEffect } from "react"; import objectLinesToArray from "../../../builder/geomentries/lines/lineConvertions/objectLinesToArray"; import loadWalls from "../../../builder/geomentries/walls/loadWalls"; import texturePath from "../../../../assets/textures/floor/wall-tex.png"; import { getLines } from "../../../../services/factoryBuilder/lines/getLinesApi"; const WallsMeshDuplicate = ({ projectId, walls, setWalls, lines }: any) => { useEffect(() => { const email = localStorage.getItem("email"); const organization = email!.split("@")[1].split(".")[0]; getLines(organization, projectId).then((data) => { const Lines: Types.Lines = objectLinesToArray(data); if (Lines) { lines.current = Lines; loadWalls(lines, setWalls); } }); }, []); const textureLoader = new THREE.TextureLoader(); const wallTexture = textureLoader.load(texturePath); wallTexture.wrapS = wallTexture.wrapT = THREE.RepeatWrapping; wallTexture.repeat.set(0.1, 0.1); wallTexture.colorSpace = THREE.SRGBColorSpace; return ( <> {walls.map((wall: Types.Wall, index: number) => ( ))} ); }; export default WallsMeshDuplicate;