From 2c7c069d15feb778f09b7d1669812c0dba932958 Mon Sep 17 00:00:00 2001 From: Michelle Guo Date: Fri, 15 Apr 2022 04:38:42 -0700 Subject: [PATCH 1/4] add getLocalVertices() --- python/_nimblephysics/dynamics/BodyNode.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/python/_nimblephysics/dynamics/BodyNode.cpp b/python/_nimblephysics/dynamics/BodyNode.cpp index 64c9f1383..2fa82e978 100644 --- a/python/_nimblephysics/dynamics/BodyNode.cpp +++ b/python/_nimblephysics/dynamics/BodyNode.cpp @@ -1007,6 +1007,12 @@ void BodyNode(py::module& m) .def( "removeAllShapeNodes", +[](dart::dynamics::BodyNode* self) { self->removeAllShapeNodes(); }) + .def( + "getLocalVertices", + +[](dart::dynamics::BodyNode* self) + -> const std::vector { + return self->getLocalVertices(); + }) .def( "getNumEndEffectors", +[](const dart::dynamics::BodyNode* self) -> std::size_t { From 17a2715ad8b461fae112b97b69e573488818b83b Mon Sep 17 00:00:00 2001 From: Michelle Guo Date: Fri, 15 Apr 2022 05:04:39 -0700 Subject: [PATCH 2/4] add MovingVertex --- python/_nimblephysics/dynamics/BodyNode.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/python/_nimblephysics/dynamics/BodyNode.cpp b/python/_nimblephysics/dynamics/BodyNode.cpp index 2fa82e978..a4ed685e5 100644 --- a/python/_nimblephysics/dynamics/BodyNode.cpp +++ b/python/_nimblephysics/dynamics/BodyNode.cpp @@ -171,6 +171,14 @@ void BodyNode(py::module& m) ::py::init(), ::py::arg("aspectProperties")); + ::py::class_(m, "MovingVertex") + .def(::py::init<>()) + .def_readwrite("pos", &dart::dynamics::BodyNode::MovingVertex::pos) + .def_readwrite("vel", &dart::dynamics::BodyNode::MovingVertex::vel) + .def_readwrite("accel", &dart::dynamics::BodyNode::MovingVertex::accel) + .def_readwrite( + "timestep", &dart::dynamics::BodyNode::MovingVertex::timestep); + ::py::class_< dart::dynamics::TemplatedJacobianNode, dart::dynamics::JacobianNode, @@ -1009,10 +1017,17 @@ void BodyNode(py::module& m) +[](dart::dynamics::BodyNode* self) { self->removeAllShapeNodes(); }) .def( "getLocalVertices", - +[](dart::dynamics::BodyNode* self) + +[](const dart::dynamics::BodyNode* self) -> const std::vector { return self->getLocalVertices(); }) + .def( + "getMovingVerticesInWorldSpace", + +[](const dart::dynamics::BodyNode* self, int timestep) + -> std::vector { + return self->getMovingVerticesInWorldSpace(timestep); + }, + ::py::arg("timestep") = -1) .def( "getNumEndEffectors", +[](const dart::dynamics::BodyNode* self) -> std::size_t { From 507d326857431c35a0b07d365d2fe1e09d18a51a Mon Sep 17 00:00:00 2001 From: Michelle Guo Date: Fri, 15 Apr 2022 05:04:58 -0700 Subject: [PATCH 3/4] add body node --- python/_nimblephysics/dynamics/BodyNode.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/_nimblephysics/dynamics/BodyNode.cpp b/python/_nimblephysics/dynamics/BodyNode.cpp index a4ed685e5..564725af2 100644 --- a/python/_nimblephysics/dynamics/BodyNode.cpp +++ b/python/_nimblephysics/dynamics/BodyNode.cpp @@ -176,6 +176,8 @@ void BodyNode(py::module& m) .def_readwrite("pos", &dart::dynamics::BodyNode::MovingVertex::pos) .def_readwrite("vel", &dart::dynamics::BodyNode::MovingVertex::vel) .def_readwrite("accel", &dart::dynamics::BodyNode::MovingVertex::accel) + .def_readwrite( + "bodyNode", &dart::dynamics::BodyNode::MovingVertex::bodyNode) .def_readwrite( "timestep", &dart::dynamics::BodyNode::MovingVertex::timestep); From 61ab8b24f54007bbe7b6e4fd6c8588e6317a5db9 Mon Sep 17 00:00:00 2001 From: Michelle Guo Date: Fri, 15 Apr 2022 05:17:23 -0700 Subject: [PATCH 4/4] add constructor args --- python/_nimblephysics/dynamics/BodyNode.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/python/_nimblephysics/dynamics/BodyNode.cpp b/python/_nimblephysics/dynamics/BodyNode.cpp index 564725af2..c6d322ab3 100644 --- a/python/_nimblephysics/dynamics/BodyNode.cpp +++ b/python/_nimblephysics/dynamics/BodyNode.cpp @@ -172,7 +172,18 @@ void BodyNode(py::module& m) ::py::arg("aspectProperties")); ::py::class_(m, "MovingVertex") - .def(::py::init<>()) + .def( + ::py::init< + Eigen::Vector3s, + Eigen::Vector3s, + Eigen::Vector3s, + dart::dynamics::BodyNode*, + int>(), + ::py::arg("pos"), + ::py::arg("vel"), + ::py::arg("accel"), + ::py::arg("bodyNode"), + ::py::arg("timestep")) .def_readwrite("pos", &dart::dynamics::BodyNode::MovingVertex::pos) .def_readwrite("vel", &dart::dynamics::BodyNode::MovingVertex::vel) .def_readwrite("accel", &dart::dynamics::BodyNode::MovingVertex::accel)