Skip to content

Commit

Permalink
Address review
Browse files Browse the repository at this point in the history
Co-authored-by: Filippo Luca Ferretti <[email protected]>
  • Loading branch information
diegoferigo and flferretti committed Sep 12, 2024
1 parent 9ec3395 commit cc68de0
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 10 deletions.
2 changes: 1 addition & 1 deletion src/rod/sdf/element.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def serialize_float(data: float) -> str:
@staticmethod
def serialize_list(data: list[float]) -> str:
assert isinstance(data, list)
return " ".join(np.array(data, dtype=float).astype(str))
return " ".join(map(lambda element: str(float(element)), data))

@staticmethod
def deserialize_list(data: str, length: int | None = None) -> list[float]:
Expand Down
20 changes: 11 additions & 9 deletions src/rod/sdf/geometry.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
from __future__ import annotations

import dataclasses
from typing import ClassVar

import mashumaro

Expand Down Expand Up @@ -112,6 +115,11 @@ class Sphere(Element):

@dataclasses.dataclass
class Geometry(Element):

GeometryType: ClassVar = (
Box | Capsule | Cylinder | Ellipsoid | Heightmap | Mesh | Plane | Sphere
)

box: Box | None = dataclasses.field(default=None)
capsule: Capsule | None = dataclasses.field(default=None)
cylinder: Cylinder | None = dataclasses.field(default=None)
Expand All @@ -121,22 +129,16 @@ class Geometry(Element):
plane: Plane | None = dataclasses.field(default=None)
sphere: Sphere | None = dataclasses.field(default=None)

def geometries(
self,
) -> list[Box | Capsule | Cylinder | Ellipsoid | Heightmap | Mesh | Plane | Sphere]:
def geometries(self) -> list[Geometry.GeometryType]:

return [
self.__getattribute__(field.name)
for field in dataclasses.fields(self)
if self.__getattribute__(field.name) is not None
]

def geometry(
self,
) -> (
Box | Capsule | Cylinder | Ellipsoid | Heightmap | Mesh | Plane | Sphere | None
):
"""Return the actual shape of the geometry object"""
def geometry(self) -> Geometry.GeometryType | None:
"""Return the actual geometry stored in the object"""

geometries = self.geometries()

Expand Down

0 comments on commit cc68de0

Please sign in to comment.