1
1
from abc import ABC
2
2
from io import TextIOWrapper
3
- from typing import Any , List , Set , Dict
3
+ from typing import Any , Dict , List , Set
4
4
5
5
from geofiles .domain .geo_object import GeoObject
6
6
from geofiles .domain .geo_object_file import GeoObjectFile
@@ -96,7 +96,7 @@ def _write(
96
96
97
97
# find all root nodes
98
98
roots = []
99
- parents = dict ()
99
+ parents : Dict [ str , List [ GeoObject ]] = dict ()
100
100
for geoobject in data .objects :
101
101
if geoobject .parent is not None :
102
102
siblings = parents .get (geoobject .parent .name )
@@ -107,12 +107,22 @@ def _write(
107
107
else :
108
108
roots .append (geoobject )
109
109
110
- used = set ()
110
+ used : Set [ str ] = set ()
111
111
for geoobject in roots :
112
- self ._write_geoobject (geoobject , geo_referenced , file , write_binary , used , parents , 0 )
112
+ self ._write_geoobject (
113
+ geoobject , geo_referenced , file , write_binary , used , parents , 0
114
+ )
113
115
114
- def _write_geoobject (self , geoobject : GeoObject , geo_referenced : bool , file : TextIOWrapper , write_binary : bool ,
115
- used : Set [str ], parents : Dict [str , List [GeoObject ]], level : int ) -> None :
116
+ def _write_geoobject (
117
+ self ,
118
+ geoobject : GeoObject ,
119
+ geo_referenced : bool ,
120
+ file : TextIOWrapper ,
121
+ write_binary : bool ,
122
+ used : Set [str ],
123
+ parents : Dict [str , List [GeoObject ]],
124
+ level : int ,
125
+ ) -> None :
116
126
"""
117
127
Help method for writing a geoobject
118
128
:param geoobject: to be written
@@ -152,9 +162,7 @@ def _write_geoobject(self, geoobject: GeoObject, geo_referenced: bool, file: Tex
152
162
self ._write_to_file (file , "/" , write_binary )
153
163
154
164
if contains_textures :
155
- self ._write_to_file (
156
- file , f .texture_coordinates [i ], write_binary
157
- )
165
+ self ._write_to_file (file , f .texture_coordinates [i ], write_binary )
158
166
159
167
if contains_normals :
160
168
self ._write_to_file (file , "/" , write_binary )
@@ -171,7 +179,9 @@ def _write_geoobject(self, geoobject: GeoObject, geo_referenced: bool, file: Tex
171
179
if geo_referenced :
172
180
self ._write_to_file (file , f"h { curr_level } " , write_binary , True )
173
181
for child in children :
174
- self ._write_geoobject (child , geo_referenced , file , write_binary , used , parents , curr_level )
182
+ self ._write_geoobject (
183
+ child , geo_referenced , file , write_binary , used , parents , curr_level
184
+ )
175
185
176
186
def _write_transformation (
177
187
self , geoobj : GeoObject , file : TextIOWrapper , write_binary : bool
0 commit comments