From 8da227aca6745243935d1d695c5e9ad221bedc91 Mon Sep 17 00:00:00 2001 From: Arnaud TANGUY Date: Fri, 2 Feb 2024 09:29:31 +0100 Subject: [PATCH] [visual] Fully remove scale, adapt python bindings --- binding/python/rbdyn/parsers/c_parsers.pxd | 2 +- binding/python/rbdyn/parsers/parsers.pyx | 8 ++++---- src/parsers/yaml.cpp | 4 +--- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/binding/python/rbdyn/parsers/c_parsers.pxd b/binding/python/rbdyn/parsers/c_parsers.pxd index d44bb446..cf24accc 100644 --- a/binding/python/rbdyn/parsers/c_parsers.pxd +++ b/binding/python/rbdyn/parsers/c_parsers.pxd @@ -21,7 +21,7 @@ cdef extern from "" namespace "rbd::parsers": cdef cppclass GeometryMesh "rbd::parsers::Geometry::Mesh": string filename - double scale + Vector3d scaleV cdef cppclass GeometryBox "rbd::parsers::Geometry::Box": Vector3d size diff --git a/binding/python/rbdyn/parsers/parsers.pyx b/binding/python/rbdyn/parsers/parsers.pyx index ad77f0e2..aa1e2a95 100644 --- a/binding/python/rbdyn/parsers/parsers.pyx +++ b/binding/python/rbdyn/parsers/parsers.pyx @@ -40,20 +40,20 @@ cdef class GeometryMesh(object): property filename: def __get__(self): return self.impl.filename - property scale: + property scaleV: def __get__(self): - return self.impl.scale + return eigen.Vector3dFromC(self.impl.scaleV) def __richcmp__(GeometryMesh self, GeometryMesh other, int op): if op == 2: return ( self.impl.filename == other.impl.filename - and self.impl.scale == other.impl.scale + and self.impl.scaleV == other.impl.scaleV ) elif op == 3: return ( self.impl.filename != other.impl.filename - and self.impl.scale != other.impl.scale + and self.impl.scaleV != other.impl.scaleV ) else: raise NotImplementedError("This comparison is not supported") diff --git a/src/parsers/yaml.cpp b/src/parsers/yaml.cpp index c774cd5d..c31dc038 100644 --- a/src/parsers/yaml.cpp +++ b/src/parsers/yaml.cpp @@ -317,13 +317,11 @@ bool RBDynFromYAML::parseGeometry(const YAML::Node & geometry, Geometry & data) if(maybeScaleV.size() == 3) { mesh_data.scaleV = Eigen::Map(maybeScaleV.data(), 3); - mesh_data.scale = mesh_data.scaleV(2); } else { assert(maybeScaleV.size() == 1); - mesh_data.scale = maybeScaleV[0]; - mesh_data.scaleV.setConstant(mesh_data.scale); + mesh_data.scaleV.setConstant(maybeScaleV[0]); } has_geometry = true; data.data = mesh_data;