- Added passive forces plugins
- Added new `cable` composite type: * The `initial` parameter specifies the joint at the starting boundary: `free`, `ball`, or `none`. * The boundary bodies are exposed with the names:`B_left` and `B_right`. * The vertex initial positions can be specified directly in the XML with the parameter `vertex`. * The orientation of the body frame **is** the orientation of the material frame of the curve. - Added new `cable` passive force plugin: * Twist and bending stiffness can be set separately with the parameters `twist` and `bend`. * The stress-free configuration can be set to be the initial one or flat with the flag `flat`. * New cable example showing the formation of plectoneme. * New coil example. * New belt example showing interaction between twist and anisotropy. * Added test using cantilever exact solution. PiperOrigin-RevId: 480033694 Change-Id: I491271bce8fccb185961477e903e5a72d172c8a3
This commit is contained in:
committed by
Copybara-Service
parent
794ef0b771
commit
e250ff0d5a
@@ -20,7 +20,8 @@
|
||||
|
||||
typedef enum mjtPluginTypeBit_ {
|
||||
mjPLUGIN_ACTUATOR = 1<<0,
|
||||
mjPLUGIN_SENSOR = 1<<1
|
||||
mjPLUGIN_SENSOR = 1<<1,
|
||||
mjPLUGIN_PASSIVE = 1<<2,
|
||||
} mjtPluginTypeBit;
|
||||
|
||||
struct mjpPlugin_ {
|
||||
@@ -38,8 +39,8 @@ struct mjpPlugin_ {
|
||||
// dimension of the specified sensor's output (required only for sensor plugins)
|
||||
int (*nsensordata)(const mjModel* m, int instance, int sensor_id);
|
||||
|
||||
// called when a new mjData is being created (required)
|
||||
void (*init)(const mjModel* m, mjData* d, int instance);
|
||||
// called when a new mjData is being created (required), returns 0 on success or -1 on failure
|
||||
int (*init)(const mjModel* m, mjData* d, int instance);
|
||||
|
||||
// called when an mjData is being freed (optional)
|
||||
void (*destroy)(mjData* d, int instance);
|
||||
|
||||
Reference in New Issue
Block a user