Change row-flipping logic for heightfields.
Move row-flipping logic from `mjCModel::CopyBack` to `mjXWriter`. PiperOrigin-RevId: 842220322 Change-Id: I6fb09db6c9e8689f6e435f82f58dd3e7c4314478
This commit is contained in:
committed by
Copybara-Service
parent
925c533580
commit
c064abc3da
Vendored
+19
@@ -0,0 +1,19 @@
|
||||
<mujoco>
|
||||
|
||||
<asset>
|
||||
<hfield name="hfield" nrow="5" ncol="5" size=".8 .8 .8 .3"
|
||||
elevation="1 0 1 1 0
|
||||
0 1 1 0 1
|
||||
1 .5 1 0 1
|
||||
0 1 0 0 1
|
||||
0 1 0 0 1"/>
|
||||
</asset>
|
||||
|
||||
<include file="ray_swing.xml"/>
|
||||
|
||||
<worldbody>
|
||||
<body pos="-.5 .002 0" euler="10 50 -40" mocap="true">
|
||||
<geom type="hfield" hfield="hfield"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
@@ -38,10 +38,11 @@
|
||||
namespace mujoco {
|
||||
namespace {
|
||||
|
||||
using ::testing::ElementsAre;
|
||||
using ::testing::FloatEq;
|
||||
using ::testing::HasSubstr;
|
||||
using ::testing::Not;
|
||||
using ::testing::NotNull;
|
||||
using ::testing::FloatEq;
|
||||
|
||||
using XMLWriterTest = PluginTest;
|
||||
|
||||
@@ -998,6 +999,10 @@ TEST_F(XMLWriterTest, WritesHfield) {
|
||||
int size = model->hfield_nrow[0]*model->hfield_ncol[0];
|
||||
EXPECT_EQ(size, 6);
|
||||
|
||||
// check that the data is normalized and in row-major, bottom-to-top order
|
||||
EXPECT_THAT(AsVector(model->hfield_data, 6),
|
||||
ElementsAre(.8, 1, .4, .6, 0, .2));
|
||||
|
||||
// save and read, compare data
|
||||
mjModel* mtemp = LoadModelFromString(SaveAndReadXml(model));
|
||||
ASSERT_THAT(mtemp, NotNull());
|
||||
|
||||
Reference in New Issue
Block a user