Refactor handling of auto-limits.

PiperOrigin-RevId: 605972151
Change-Id: If468af2081182787178d805124f2d2c90ee29951
This commit is contained in:
Yuval Tassa
2024-02-10 22:00:04 -08:00
committed by Copybara-Service
parent cebd2a657e
commit 3601026b1d
6 changed files with 87 additions and 77 deletions
+19
View File
@@ -347,6 +347,11 @@ class mjCJoint : public mjCBase, private mjmJoint {
// used by mjXWriter and mjCModel
const std::vector<double>& get_userdata() { return userdata_; }
// public getters
bool is_limited() const { return limited_; }
bool is_actfrclimited() const { return actfrclimited_; }
private:
mjCJoint(mjCModel* = 0, mjCDef* = 0);
@@ -354,6 +359,8 @@ class mjCJoint : public mjCBase, private mjmJoint {
void PointToLocal(void);
mjCBody* body; // joint's body
bool limited_; // actual (inferred) value of limited
bool actfrclimited_; // actual (inferred) value of actfrclimited
// variable-size data
std::vector<double> userdata_;
std::vector<double> spec_userdata_;
@@ -1081,12 +1088,16 @@ class mjCTendon : public mjCBase, private mjmTendon {
void CopyFromSpec();
void PointToLocal();
// public getters
bool is_limited() const { return limited_; }
private:
mjCTendon(mjCModel* = 0, mjCDef* = 0); // constructor
~mjCTendon(); // destructor
void Compile(void); // compiler
int matid; // material id for rendering
bool limited_; // actual (inferred) value of limited
// variable-size data
std::string material_;
@@ -1169,6 +1180,11 @@ class mjCActuator : public mjCBase, private mjmActuator {
const std::string& get_slidersite() { return spec_slidersite_; }
const std::string& get_refsite() { return spec_refsite_; }
// public getters
bool is_ctrllimited() const { return ctrllimited_; }
bool is_forcelimited() const { return forcelimited_; }
bool is_actlimited() const { return actlimited_; }
private:
mjCActuator(mjCModel* = 0, mjCDef* = 0); // constructor
void Compile(void); // compiler
@@ -1176,6 +1192,9 @@ class mjCActuator : public mjCBase, private mjmActuator {
void MakePointerLocal();
int trnid[2]; // id of transmission target
bool ctrllimited_; // actual (inferred) value of ctrllimited
bool forcelimited_; // actual (inferred) value of forcelimited
bool actlimited_; // actual (inferred) value of actlimited
// variable-size data
std::string target_;