Add mjs_makeFlex to the MuJoCo C and Python APIs.
- Add mjs_makeFlex C API that wraps mjCFlexcomp::Make(), creating a flex with auto-generated bodies, joints, and equality constraints from parameters (type, dim, dof, count, cellcount, spacing, scale, radius, mass, inertiabox, equality, rigid, flatskin, elastic2d, pos, quat, origin, file, vfs). - Add Python binding body.make_flex() in specs.cc with keyword args. - Refactor flex_spec_provision.py to use make_flex() instead of XML string templating + separate spec + attach. Eliminates textwrap dependency. - Merge user_flexcomp into user_model BUILD target to resolve circular dependency. PiperOrigin-RevId: 922725304 Change-Id: Ice13787c45f3173407fec659f9590a6453bc65dd
This commit is contained in:
committed by
Copybara-Service
parent
b9fb817af8
commit
4c381635e1
@@ -1667,6 +1667,15 @@ MJAPI mjsSensor* mjs_addSensor(mjSpec* s);
|
||||
// Add flex.
|
||||
MJAPI mjsFlex* mjs_addFlex(mjSpec* s);
|
||||
|
||||
// Add flexcomp: create flex with auto-generated bodies/joints, return flex spec.
|
||||
// Nullable: type, dof, count, cellcount, spacing, scale, pos, quat, origin, file, vfs
|
||||
MJAPI mjsFlex* mjs_makeFlex(mjsBody* body, const char* name, const char* type, int dim,
|
||||
const char* dof, const int count[3], const int cellcount[3],
|
||||
const double spacing[3], const double scale[3], double radius,
|
||||
double mass, double inertiabox, int equality, int rigid, int flatskin,
|
||||
int elastic2d, const double pos[3], const double quat[4],
|
||||
const double origin[3], const char* file, const mjVFS* vfs);
|
||||
|
||||
// Add contact pair.
|
||||
// Nullable: def
|
||||
MJAPI mjsPair* mjs_addPair(mjSpec* s, const mjsDefault* def);
|
||||
|
||||
Reference in New Issue
Block a user