From ceedc1300979b14223508c78c6a6b055aebbc29a Mon Sep 17 00:00:00 2001 From: Eric Cousineau Date: Wed, 27 May 2020 12:49:26 -0400 Subject: [PATCH] py geometry: Bind HalfSpace.MakePose (#13414) * py geometry: Bind HalfSpace.MakePose --- bindings/pydrake/geometry_py.cc | 4 +++- bindings/pydrake/test/geometry_test.py | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bindings/pydrake/geometry_py.cc b/bindings/pydrake/geometry_py.cc index dcb4a7347151..e77b2daed2a9 100644 --- a/bindings/pydrake/geometry_py.cc +++ b/bindings/pydrake/geometry_py.cc @@ -589,7 +589,9 @@ void DoScalarIndependentDefinitions(py::module m) { .def("height", &Box::height, doc.Box.height.doc) .def("size", &Box::size, py_reference_internal, doc.Box.size.doc); py::class_(m, "HalfSpace", doc.HalfSpace.doc) - .def(py::init<>(), doc.HalfSpace.ctor.doc); + .def(py::init<>(), doc.HalfSpace.ctor.doc) + .def_static("MakePose", &HalfSpace::MakePose, py::arg("Hz_dir_F"), + py::arg("p_FB"), doc.HalfSpace.MakePose.doc); py::class_(m, "Mesh", doc.Mesh.doc) .def(py::init(), py::arg("absolute_filename"), py::arg("scale") = 1.0, doc.Mesh.ctor.doc) diff --git a/bindings/pydrake/test/geometry_test.py b/bindings/pydrake/test/geometry_test.py index d070101f916e..659d0d27e777 100644 --- a/bindings/pydrake/test/geometry_test.py +++ b/bindings/pydrake/test/geometry_test.py @@ -246,6 +246,7 @@ def test_shape_constructors(self): self.assertIsNot(shape, shape_copy) def test_shapes(self): + RigidTransform = RigidTransform_[float] sphere = mut.Sphere(radius=1.0) self.assertEqual(sphere.radius(), 1.0) cylinder = mut.Cylinder(radius=1.0, length=2.0) @@ -256,6 +257,8 @@ def test_shapes(self): self.assertEqual(box.depth(), 2.0) self.assertEqual(box.height(), 3.0) numpy_compare.assert_float_equal(box.size(), np.array([1.0, 2.0, 3.0])) + X_FH = mut.HalfSpace.MakePose(Hz_dir_F=[0, 1, 0], p_FB=[1, 1, 1]) + self.assertIsInstance(X_FH, RigidTransform) box_mesh_path = FindResourceOrThrow( "drake/systems/sensors/test/models/meshes/box.obj") mesh = mut.Mesh(absolute_filename=box_mesh_path, scale=1.0)