Make model editing API public, fixes #364

Still missing:

- Detailed documentation.
- Python bindings.

PiperOrigin-RevId: 641445626
Change-Id: I20e67b707cf1bebae7e0cc94d17f7b76a89171f0
This commit is contained in:
Alessio Quaglino
2024-06-07 22:27:10 -07:00
committed by Copybara-Service
parent 4c3d9461ae
commit 7a06bcfdaf
46 changed files with 8508 additions and 980 deletions
+1 -1
View File
@@ -123,7 +123,7 @@ class MjStructVisitor:
"""Makes a Decl object from a Clang AST RecordDecl node."""
name = f"{node['tagUsed']} {node['name']}" if 'name' in node else ''
fields = []
for child in node['inner']:
for child in node.get('inner', ()):
child_kind = child.get('kind')
if child_kind == 'FieldDecl':
fields.append(self._make_field(child))
+63
View File
@@ -686,6 +686,69 @@ ENUMS: Mapping[str, EnumDecl] = dict([
('mjFONT_BIG', 2),
]),
)),
('mjtGeomInertia',
EnumDecl(
name='mjtGeomInertia',
declname='enum mjtGeomInertia_',
values=dict([
('mjINERTIA_VOLUME', 0),
('mjINERTIA_SHELL', 1),
]),
)),
('mjtBuiltin',
EnumDecl(
name='mjtBuiltin',
declname='enum mjtBuiltin_',
values=dict([
('mjBUILTIN_NONE', 0),
('mjBUILTIN_GRADIENT', 1),
('mjBUILTIN_CHECKER', 2),
('mjBUILTIN_FLAT', 3),
]),
)),
('mjtMark',
EnumDecl(
name='mjtMark',
declname='enum mjtMark_',
values=dict([
('mjMARK_NONE', 0),
('mjMARK_EDGE', 1),
('mjMARK_CROSS', 2),
('mjMARK_RANDOM', 3),
]),
)),
('mjtLimited',
EnumDecl(
name='mjtLimited',
declname='enum mjtLimited_',
values=dict([
('mjLIMITED_FALSE', 0),
('mjLIMITED_TRUE', 1),
('mjLIMITED_AUTO', 2),
]),
)),
('mjtInertiaFromGeom',
EnumDecl(
name='mjtInertiaFromGeom',
declname='enum mjtInertiaFromGeom_',
values=dict([
('mjINERTIAFROMGEOM_FALSE', 0),
('mjINERTIAFROMGEOM_TRUE', 1),
('mjINERTIAFROMGEOM_AUTO', 2),
]),
)),
('mjtOrientation',
EnumDecl(
name='mjtOrientation',
declname='enum mjtOrientation_',
values=dict([
('mjORIENTATION_QUAT', 0),
('mjORIENTATION_AXISANGLE', 1),
('mjORIENTATION_XYAXES', 2),
('mjORIENTATION_ZAXIS', 3),
('mjORIENTATION_EULER', 4),
]),
)),
('mjtButton',
EnumDecl(
name='mjtButton',
+1938 -13
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff