Add deprecation warning for the Rope Composite type.

PiperOrigin-RevId: 494985209
Change-Id: I6ce7ca2aeae6f1e798bd4bda9b755852add26a36
This commit is contained in:
Alessio Quaglino
2022-12-13 04:35:02 -08:00
committed by Copybara-Service
parent 7076da6909
commit 3de2873883
3 changed files with 9 additions and 32 deletions
-32
View File
@@ -1,32 +0,0 @@
<!-- Copyright 2021 DeepMind Technologies Limited
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<mujoco model="Rope">
<include file="scene.xml"/>
<option timestep="0.002" jacobian="dense"/>
<size memory="2M"/>
<worldbody>
<body name="B10" pos="0 0 1">
<freejoint/>
<composite type="rope" count="21 1 1" spacing="0.04" offset="0 0 2">
<joint kind="main" damping="0.005"/>
<geom type="capsule" size=".01 .015" rgba=".8 .2 .1 1"/>
</composite>
</body>
</worldbody>
</mujoco>
+2
View File
@@ -297,6 +297,8 @@ bool mjCComposite::Make(mjCModel* model, mjCBody* body, char* error, int error_s
return MakeGrid(model, body, error, error_sz);
case mjCOMPTYPE_ROPE:
mju_warning("The \"rope\" composite type is deprecated. Please use \"cable\" instead.");
[[fallthrough]];
case mjCOMPTYPE_LOOP:
return MakeRope(model, body, error, error_sz);
+7
View File
@@ -20,6 +20,7 @@
#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include <absl/strings/str_format.h>
#include "src/cc/array_safety.h"
#include <mujoco/mjdata.h>
#include <mujoco/mjmodel.h>
#include <mujoco/mujoco.h>
@@ -72,9 +73,15 @@ TEST_F(UserCompositeTest, StretchAndTwistAllowed) {
</worldbody>
</mujoco>
)";
static char warning[1024];
warning[0] = '\0';
mju_user_warning = [](const char* msg) {
util::strcpy_arr(warning, msg);
};
std::array<char, 1024> error;
mjModel* m = LoadModelFromString(xml, error.data(), error.size());
EXPECT_THAT(m, NotNull());
EXPECT_THAT(warning, HasSubstr("deprecated"));
mj_deleteModel(m);
}