setStatusCode(Response::HTTP_OK); return $response; } #[Route('/api/debug/initialData')] public function init(Request $request, SiteRepository $srep, BuildingRepository $brep, FloorRepository $frep, ManagerRegistry $mr): Response { //return new Response(print_r(json_decode($request->getContent()),true)); $monod = new Site(); $monod->setZeroLatitude(45.72980); $monod->setZeroLongitude(4.82777); $srep->add($monod); $descartes = new Site(); $descartes->setZeroLatitude(45.73261); $descartes->setZeroLongitude(4.83293); $srep->add($descartes); $mgn1 = new Building(); $mgn1->setSite($monod); $brep->add($mgn1); $floors = array(); for($i=0;$i<7;$i++){ $floor = new Floor(); $floor->setBuilding($mgn1); $floor->setAltitude(0.45*$i); $frep->add($floor); $floors[$i] = $floor; } $data = json_decode($request->getContent(),true); // Adding all the rooms $rooms2Data = $data['rooms2']; $cor2Data = $data['cor2']; $rooms3Data = $data['rooms3']; $cor3Data = $data['cor3']; $rooms4Data = $data['rooms4']; $cor4Data = $data['cor4']; $rooms34Data = $data['bothRooms']; $roomsXData = $data['allRooms']; // We create the rooms $rooms2 = []; foreach($rooms2Data as $rData) { $rooms2[] = JsonReaderController::addRoom($rData, "R", $mr); } $cor2 = JsonReaderController::addRoom($cor2Data, "C", $mr); $rooms3 = []; foreach($rooms3Data as $rData) { $rooms3[] = JsonReaderController::addRoom($rData, "R", $mr); } $cor3 = JsonReaderController::addRoom($cor3Data, "C", $mr); $rooms4 = []; foreach($rooms4Data as $rData) { $rooms4[] = JsonReaderController::addRoom($rData, "R", $mr); } $cor4 = JsonReaderController::addRoom($cor4Data, "C", $mr); $rooms34 = []; foreach($rooms34Data as $rData) { $rooms34[] = JsonReaderController::addRoom($rData, "R", $mr); } $roomsX = []; foreach($roomsXData as $rData) { $roomsX[] = JsonReaderController::addRoom($rData, "R", $mr); } // Connect all rooms foreach($rooms2 as $r){ $floors[4]->addPlace($r); $cor2->addConnection($r); } foreach($rooms3 as $r){ $floors[5]->addPlace($r); $cor3->addConnection($r); } foreach($rooms4 as $r){ $floors[6]->addPlace($r); $cor4->addConnection($r); } foreach($rooms34 as $r){ $floors[5]->addPlace($r); $floors[6]->addPlace($r); $cor3->addConnection($r); $cor4->addConnection($r); } foreach($roomsX as $r){ for($i=0;$i<7;$i++){ $floors[$i]->addPlace($r); } $cor2->addConnection($r); $cor3->addConnection($r); $cor4->addConnection($r); } $mr->getManager()->flush(); return new Response("All Done !"); } #[Route('/api/debug/dropAllDatabaseThereIsNoWayIGotTheNameOfThisPageWrong')] public function dropDatabase(EntityManagerInterface $em): Response { $entityClasses = array( Building::class, Cylinder::class, Edition::class, Floor::class, Place::class, PlaceName::class, PlaneSurface::class, Point::class, Polyhedron::class, PolySurface::class, RoomUserName::class, Site::class, ThreeDObjectFile::class ); foreach($entityClasses as $eclass){ $repository = $em->getRepository($eclass); $entities = $repository->findAll(); foreach ($entities as $entity) { $em->remove($entity); } } $em->flush(); return new Response('', Response::HTTP_OK); } public function addRoom(array $room, string $roomType, ManagerRegistry $mr): Place { $manager = $mr->getManager(); $height = (float) $room['height']; $z = (float) $room['z']; $name = $room['name']; $points = json_decode($room['points'],true); $r = new Place(); $r->setType($roomType); $cyl = new Cylinder(); $cyl->setHeight($height); $cbas = new PlaneSurface(); foreach($points as $px) { $p = new Point(); $p->setX($px[0]); $p->setY($px[1]); $p->setZ($z); $manager->persist($p); $cbas->addPolygonpoint($p); } $manager->persist($cbas); $cyl->setCylinderBase($cbas); $manager->persist($cyl); $r->addCylinderRepresentation($cyl); $manager->persist($r); return $r; } }