@@ -228,15 +228,15 @@ def _get_best_grid_type(self):
228228 """
229229 datatypes = {
230230 numpy .dtype ("bool" ): ["BoolGrid" ],
231- numpy .dtype ("int8" ): [DownCastTo ( "Int32Grid" ), DownCastTo ( "FloatGrid" ) ],
232- numpy .dtype ("uint8" ): [DownCastTo ( "Int32Grid" ), DownCastTo ( "FloatGrid" ) ],
233- numpy .dtype ("int16" ): [DownCastTo ( "Int32Grid" ), DownCastTo ( "FloatGrid" ) ],
234- numpy .dtype ("uint16" ): [DownCastTo ( "Int32Grid" ), DownCastTo ( "FloatGrid" ) ],
231+ numpy .dtype ("int8" ): ["Int32Grid" , "FloatGrid" ],
232+ numpy .dtype ("uint8" ): ["Int32Grid" , "FloatGrid" ],
233+ numpy .dtype ("int16" ): ["Int32Grid" , "FloatGrid" ],
234+ numpy .dtype ("uint16" ): ["Int32Grid" , "FloatGrid" ],
235235 numpy .dtype ("int32" ): ["Int32Grid" , DownCastTo ("FloatGrid" )],
236- numpy .dtype ("uint32" ): ["Int32Grid" , DownCastTo ("FloatGrid" )],
236+ numpy .dtype ("uint32" ): [DownCastTo ( "Int32Grid" ) , DownCastTo ("FloatGrid" )],
237237 numpy .dtype ("int64" ): ["Int64Grid" , DownCastTo ("FloatGrid" )],
238238 numpy .dtype ("uint64" ): ["Int64Grid" , DownCastTo ("FloatGrid" )],
239- numpy .dtype ("float16" ): [DownCastTo ( "HalfGrid" ), DownCastTo ( "FloatGrid" ) ],
239+ numpy .dtype ("float16" ): ["HalfGrid" , "FloatGrid" ],
240240 numpy .dtype ("float32" ): ["FloatGrid" ],
241241 numpy .dtype ("float64" ): ["DoubleGrid" , DownCastTo ("FloatGrid" )],
242242 }
@@ -257,16 +257,18 @@ def _get_best_grid_type(self):
257257 except AttributeError :
258258 continue
259259 else :
260- if isinstance (gridtype_downcast , DownCastTo ):
261- warnings .warn (
262- f"Grid type { vdb_gridtypes [0 ]} not available. Using { gridtype } instead. Data may lose precision." ,
263- UserWarning ,
264- )
265- return VDB_Grid ()
266-
267- raise TypeError (
268- f"Could not find any VDB grid type for numpy dtype { self .grid .dtype } "
269- )
260+ break
261+ else :
262+ raise TypeError (
263+ f"Could not find any VDB grid type for numpy dtype { self .grid .dtype } "
264+ )
265+
266+ if isinstance (gridtype_downcast , DownCastTo ):
267+ warnings .warn (
268+ f"Grid type { vdb_gridtypes [0 ]} not available. Using { gridtype } instead. Data may lose precision." ,
269+ RuntimeWarning ,
270+ )
271+ return VDB_Grid ()
270272
271273 def _create_openvdb_grid (self ):
272274 """Create and populate an OpenVDB grid
0 commit comments