1919import xtgeo
2020
2121from fmu .dataio ._logging import null_logger
22- from fmu .dataio ._readers import tsurf as tsurf_reader
22+ from fmu .dataio ._metadata . _object . _xtgeo import PointsData , PolygonsData
2323from fmu .dataio ._readers .faultroom import FaultRoomSurface
24- from fmu .dataio ._readers .tsurf import TSurfData
2524from fmu .dataio ._utils import md5sum
2625from fmu .datamodels .fmu_results .enums import FileFormat
2726
2827if TYPE_CHECKING :
29- from fmu .dataio ._metadata . objectdata . _base import ObjectData
28+ from fmu .dataio ._metadata import ObjectData
3029
3130logger : Final = null_logger (__name__ )
3231
@@ -42,6 +41,9 @@ def export_object(objdata: ObjectData, file: Path | BytesIO) -> None:
4241 if isinstance (obj , xtgeo .RegularSurface ):
4342 obj .to_file (file , fformat = "irap_binary" )
4443
44+ elif isinstance (obj , xtgeo .TriangulatedSurface ):
45+ obj .to_file (file , fformat = "tsurf" )
46+
4547 elif isinstance (obj , (xtgeo .Polygons , xtgeo .Points )):
4648 _export_tabular_xtgeo (objdata , file )
4749
@@ -64,9 +66,6 @@ def export_object(objdata: ObjectData, file: Path | BytesIO) -> None:
6466 elif isinstance (obj , FaultRoomSurface ):
6567 _export_json (json .dumps (obj .storage , indent = 4 ), file )
6668
67- elif isinstance (obj , TSurfData ):
68- tsurf_reader .write_tsurf_to_file (obj , file )
69-
7069 elif isinstance (obj , dict ):
7170 _export_json (json .dumps (obj ), file )
7271
@@ -78,6 +77,8 @@ def export_object(objdata: ObjectData, file: Path | BytesIO) -> None:
7877
7978def _export_tabular_xtgeo (objdata : ObjectData , file : Path | BytesIO ) -> None :
8079 """Export xtgeo Polygons or Points, respecting the configured format."""
80+ assert isinstance (objdata , (PolygonsData , PointsData )) # for mypy
81+
8182 fmt = objdata .fmt
8283
8384 if fmt == FileFormat .parquet :
0 commit comments