mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
ifcopenshell-python - fix 3.9 support (replace match statements)
This commit is contained in:
@@ -393,22 +393,22 @@ def map_alignment_cant_segment(
|
||||
if not segment.is_a(expected_type):
|
||||
raise TypeError(f"Expected to see type '{expected_type}', instead received '{segment.is_a()}'.")
|
||||
|
||||
match segment.DesignParameters.PredefinedType:
|
||||
case "CONSTANTCANT":
|
||||
result = _map_constant_cant(file, segment.DesignParameters, rail_head_distance)
|
||||
case "LINEARTRANSITION":
|
||||
result = _map_linear_transition(file, segment.DesignParameters, rail_head_distance)
|
||||
case "HELMERTCURVE":
|
||||
result = _map_helmert_curve(file, segment.DesignParameters, rail_head_distance)
|
||||
case "BLOSSCURVE":
|
||||
result = _map_bloss_curve(file, segment.DesignParameters, rail_head_distance)
|
||||
case "COSINECURVE":
|
||||
result = _map_cosine_curve(file, segment.DesignParameters, rail_head_distance)
|
||||
case "SINECURVE":
|
||||
result = _map_sine_curve(file, segment.DesignParameters, rail_head_distance)
|
||||
case "VIENNESEBEND":
|
||||
result = _map_viennese_bend(file, segment.DesignParameters, rail_head_distance)
|
||||
case _:
|
||||
raise TypeError("Unexpected predefined type")
|
||||
predefined_type = segment.DesignParameters.PredefinedType
|
||||
if predefined_type == "CONSTANTCANT":
|
||||
result = _map_constant_cant(file, segment.DesignParameters, rail_head_distance)
|
||||
elif predefined_type == "LINEARTRANSITION":
|
||||
result = _map_linear_transition(file, segment.DesignParameters, rail_head_distance)
|
||||
elif predefined_type == "HELMERTCURVE":
|
||||
result = _map_helmert_curve(file, segment.DesignParameters, rail_head_distance)
|
||||
elif predefined_type == "BLOSSCURVE":
|
||||
result = _map_bloss_curve(file, segment.DesignParameters, rail_head_distance)
|
||||
elif predefined_type == "COSINECURVE":
|
||||
result = _map_cosine_curve(file, segment.DesignParameters, rail_head_distance)
|
||||
elif predefined_type == "SINECURVE":
|
||||
result = _map_sine_curve(file, segment.DesignParameters, rail_head_distance)
|
||||
elif predefined_type == "VIENNESEBEND":
|
||||
result = _map_viennese_bend(file, segment.DesignParameters, rail_head_distance)
|
||||
else:
|
||||
raise TypeError(f"Unexpected predefined type: '{predefined_type}'.")
|
||||
|
||||
return result
|
||||
|
||||
+21
-21
@@ -412,26 +412,26 @@ def map_alignment_horizontal_segment(file: ifcopenshell.file, segment: entity_in
|
||||
if not segment.is_a(expected_type):
|
||||
raise TypeError(f"Expected to see type '{expected_type}', instead received '{segment.is_a()}'.")
|
||||
|
||||
match segment.DesignParameters.PredefinedType:
|
||||
case "LINE":
|
||||
result = _map_line(file, segment.DesignParameters)
|
||||
case "CIRCULARARC":
|
||||
result = _map_circular_arc(file, segment.DesignParameters)
|
||||
case "CLOTHOID":
|
||||
result = _map_clothoid(file, segment.DesignParameters)
|
||||
case "CUBIC":
|
||||
result = _map_cubic(file, segment.DesignParameters)
|
||||
case "HELMERTCURVE":
|
||||
result = _map_helmert_curve(file, segment.DesignParameters)
|
||||
case "BLOSSCURVE":
|
||||
result = _map_bloss_curve(file, segment.DesignParameters)
|
||||
case "COSINECURVE":
|
||||
result = _map_cosine_curve(file, segment.DesignParameters)
|
||||
case "SINECURVE":
|
||||
result = _map_sine_curve(file, segment.DesignParameters)
|
||||
case "VIENNESEBEND":
|
||||
result = _map_viennese_bend(file, segment.DesignParameters)
|
||||
case _:
|
||||
raise TypeError("Unexpected predefined type")
|
||||
predefined_type = segment.DesignParameters.PredefinedType
|
||||
if predefined_type == "LINE":
|
||||
result = _map_line(file, segment.DesignParameters)
|
||||
elif predefined_type == "CIRCULARARC":
|
||||
result = _map_circular_arc(file, segment.DesignParameters)
|
||||
elif predefined_type == "CLOTHOID":
|
||||
result = _map_clothoid(file, segment.DesignParameters)
|
||||
elif predefined_type == "CUBIC":
|
||||
result = _map_cubic(file, segment.DesignParameters)
|
||||
elif predefined_type == "HELMERTCURVE":
|
||||
result = _map_helmert_curve(file, segment.DesignParameters)
|
||||
elif predefined_type == "BLOSSCURVE":
|
||||
result = _map_bloss_curve(file, segment.DesignParameters)
|
||||
elif predefined_type == "COSINECURVE":
|
||||
result = _map_cosine_curve(file, segment.DesignParameters)
|
||||
elif predefined_type == "SINECURVE":
|
||||
result = _map_sine_curve(file, segment.DesignParameters)
|
||||
elif predefined_type == "VIENNESEBEND":
|
||||
result = _map_viennese_bend(file, segment.DesignParameters)
|
||||
else:
|
||||
raise TypeError(f"Unexpected predefined type: '{predefined_type}'.")
|
||||
|
||||
return result
|
||||
|
||||
+12
-11
@@ -199,20 +199,21 @@ def map_alignment_vertical_segment(file: ifcopenshell.file, segment: entity_inst
|
||||
if not segment.is_a(expected_type):
|
||||
raise TypeError(f"Expected to see type '{expected_type}', instead received '{segment.is_a()}'.")
|
||||
|
||||
match segment.DesignParameters.PredefinedType:
|
||||
case "CONSTANTGRADIENT":
|
||||
result = _map_constant_gradient(file, segment.DesignParameters)
|
||||
predefined_type = segment.DesignParameters.PredefinedType
|
||||
|
||||
case "PARABOLICARC":
|
||||
result = _map_parabolic_arc(file, segment.DesignParameters)
|
||||
if predefined_type == "CONSTANTGRADIENT":
|
||||
result = _map_constant_gradient(file, segment.DesignParameters)
|
||||
|
||||
case "CIRCULARARC":
|
||||
result = _map_circular_arc(file, segment.DesignParameters)
|
||||
elif predefined_type == "PARABOLICARC":
|
||||
result = _map_parabolic_arc(file, segment.DesignParameters)
|
||||
|
||||
case "CLOTHOID":
|
||||
result = _map_clothoid(file, segment.DesignParameters)
|
||||
elif predefined_type == "CIRCULARARC":
|
||||
result = _map_circular_arc(file, segment.DesignParameters)
|
||||
|
||||
case _:
|
||||
raise TypeError(f"Unexpected predefined type - got {segment.DesignParameters.PredefinedType}")
|
||||
elif predefined_type == "CLOTHOID":
|
||||
result = _map_clothoid(file, segment.DesignParameters)
|
||||
|
||||
else:
|
||||
raise TypeError(f"Unexpected predefined type - got {segment.DesignParameters.PredefinedType}")
|
||||
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user