MCPcopy Create free account
hub / github.com/URLab-Sim/UnrealRoboticsLab / _emit_import_line

Function _emit_import_line

Scripts/codegen/generate_ue_components.py:333–364  ·  view source on GitHub ↗
(attr: str, prop_name: str, ue_type: str,
                      vec3_convert: Optional[str] = None)

Source from the content-addressed store, hash-verified

331
332
333def _emit_import_line(attr: str, prop_name: str, ue_type: str,
334 vec3_convert: Optional[str] = None) -> str:
335 toggle = override_toggle_name(prop_name)
336 key = f'TEXT("{attr}")'
337 if ue_type == "float":
338 return f' MjXmlUtils::ReadAttrFloat(Node, {key}, {prop_name}, {toggle});\n'
339 if ue_type == "double":
340 return f' MjXmlUtils::ReadAttrDouble(Node, {key}, {prop_name}, {toggle});\n'
341 if ue_type == "int32":
342 return f' MjXmlUtils::ReadAttrInt(Node, {key}, {prop_name}, {toggle});\n'
343 if ue_type == "bool":
344 return f' MjXmlUtils::ReadAttrBool(Node, {key}, {prop_name}, {toggle});\n'
345 if ue_type == "FString":
346 return (f' if (MjXmlUtils::ReadAttrString(Node, {key}, {prop_name}))'
347 f' {toggle} = true;\n')
348 if ue_type == "FVector":
349 out = f' MjXmlUtils::ReadAttrVec3(Node, {key}, {prop_name}, {toggle});\n'
350 # MuJoCo direction vectors don't carry units but DO use opposite Y
351 # handedness vs UE. Apply Y-negate post-read when configured.
352 if vec3_convert == "y_negate":
353 out += f' if ({toggle}) {prop_name}.Y = -{prop_name}.Y;\n'
354 return out
355 if ue_type == "FLinearColor":
356 return f' MjXmlUtils::ReadAttrColor(Node, {key}, {prop_name}, {toggle});\n'
357 if ue_type.startswith("TArray<float"):
358 return f' MjXmlUtils::ReadAttrFloatArray(Node, {key}, {prop_name}, {toggle});\n'
359 if ue_type.startswith("TArray<int"):
360 return f' MjXmlUtils::ReadAttrIntArray(Node, {key}, {prop_name}, {toggle});\n'
361 if ue_type.startswith("TArray<double"):
362 return f' MjXmlUtils::ReadAttrDoubleArray(Node, {key}, {prop_name}, {toggle});\n'
363 # Fallback (logged once)
364 return f' MjXmlUtils::ReadAttrFloat(Node, {key}, {prop_name}, {toggle});\n'
365
366
367# Per-strategy resolvers for the schema-attr -> mjs-field name mapper.

Callers 1

_emit_imports_blockFunction · 0.85

Calls 1

override_toggle_nameFunction · 0.90

Tested by

no test coverage detected