Matrix creation simplification
This commit is contained in:
parent
1aa286f6a9
commit
114e42357a
|
@ -86,64 +86,20 @@ static void TransformList(const carla::geom::Transform &self, boost::python::lis
|
|||
}
|
||||
}
|
||||
|
||||
static boost::python::list BuildMatrix(const std::array<float, 16> &m) {
|
||||
boost::python::list r_out;
|
||||
boost::python::list r[4];
|
||||
for (uint8_t i = 0; i < 16; ++i) { r[uint8_t(i / 4)].append(m[i]); }
|
||||
for (uint8_t i = 0; i < 4; ++i) { r_out.append(r[i]); }
|
||||
return r_out;
|
||||
}
|
||||
|
||||
static auto GetTransformMatrix(const carla::geom::Transform &self) {
|
||||
const std::array<float, 16> tr = self.GetMatrix();
|
||||
boost::python::list py_tranf;
|
||||
boost::python::list rows[4];
|
||||
|
||||
rows[0].append(tr[0]);
|
||||
rows[0].append(tr[1]);
|
||||
rows[0].append(tr[2]);
|
||||
rows[0].append(tr[3]);
|
||||
rows[1].append(tr[4]);
|
||||
rows[1].append(tr[5]);
|
||||
rows[1].append(tr[6]);
|
||||
rows[1].append(tr[7]);
|
||||
rows[2].append(tr[8]);
|
||||
rows[2].append(tr[9]);
|
||||
rows[2].append(tr[10]);
|
||||
rows[2].append(tr[11]);
|
||||
rows[3].append(tr[12]);
|
||||
rows[3].append(tr[13]);
|
||||
rows[3].append(tr[14]);
|
||||
rows[3].append(tr[15]);
|
||||
|
||||
py_tranf.append(rows[0]);
|
||||
py_tranf.append(rows[1]);
|
||||
py_tranf.append(rows[2]);
|
||||
py_tranf.append(rows[3]);
|
||||
|
||||
return py_tranf;
|
||||
return BuildMatrix(self.GetMatrix());
|
||||
}
|
||||
|
||||
static auto GetInverseTransformMatrix(const carla::geom::Transform &self) {
|
||||
const std::array<float, 16> tr = self.GetInverseMatrix();
|
||||
boost::python::list py_tranf;
|
||||
boost::python::list rows[4];
|
||||
|
||||
rows[0].append(tr[0]);
|
||||
rows[0].append(tr[1]);
|
||||
rows[0].append(tr[2]);
|
||||
rows[0].append(tr[3]);
|
||||
rows[1].append(tr[4]);
|
||||
rows[1].append(tr[5]);
|
||||
rows[1].append(tr[6]);
|
||||
rows[1].append(tr[7]);
|
||||
rows[2].append(tr[8]);
|
||||
rows[2].append(tr[9]);
|
||||
rows[2].append(tr[10]);
|
||||
rows[2].append(tr[11]);
|
||||
rows[3].append(tr[12]);
|
||||
rows[3].append(tr[13]);
|
||||
rows[3].append(tr[14]);
|
||||
rows[3].append(tr[15]);
|
||||
|
||||
py_tranf.append(rows[0]);
|
||||
py_tranf.append(rows[1]);
|
||||
py_tranf.append(rows[2]);
|
||||
py_tranf.append(rows[3]);
|
||||
|
||||
return py_tranf;
|
||||
return BuildMatrix(self.GetInverseMatrix());
|
||||
}
|
||||
|
||||
void export_geom() {
|
||||
|
|
Loading…
Reference in New Issue