- self.__towers: List[Tower] = []
-
- center = configuration["center"]
- self.__towers.append(Tower(center))
+ self.name = configuration["name"]
+ self.center = configuration["center"]
+ size = configuration["pattern"]["o-ran-ru"]["max-reach"]
+ layout = Layout(
+ Hexagon.layout_flat, Point(size, size), Point(0, 0)
+ ) # 1 pixel = 1 meter
+ spiral_radius_profile = SpiralRadiusProfile(
+ {
+ "oRanSmoSpiralRadiusOfNearRtRics": configuration["pattern"]["smo"][
+ "near-rt-ric-spiral-radius"
+ ],
+ "oRanNearRtRicSpiralRadiusOfOCus": configuration["pattern"][
+ "near-rt-ric"
+ ]["o-ran-cu-spiral-radius"],
+ "oRanCuSpiralRadiusOfODus": configuration["pattern"]["o-ran-cu"][
+ "o-ran-du-spiral-radius"
+ ],
+ "oRanDuSpiralRadiusOfTowers": configuration["pattern"]["o-ran-du"][
+ "tower-spiral-radius"
+ ],
+ }
+ )
+ self._o_ran_smo = ORanSmo(
+ {
+ "name": "SMO",
+ "geoLocation": self.center,
+ "layout": layout,
+ "spiralRadiusProfile": spiral_radius_profile,
+ "parent": self,
+ }
+ )