Skip to content

Commit a84901b

Browse files
committed
Use py_binding_tools
1 parent 391e41a commit a84901b

File tree

7 files changed

+11
-232
lines changed

7 files changed

+11
-232
lines changed

CMakeLists.txt

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ install(DIRECTORY include/ DESTINATION include)
213213
# Install shared resources
214214
install(DIRECTORY launch DESTINATION share/${PROJECT_NAME})
215215

216-
ament_export_targets(export_${PROJECT_NAME} rviz_visual_tools_binding_utilsTargets HAS_LIBRARY_TARGET)
216+
ament_export_targets(export_${PROJECT_NAME} HAS_LIBRARY_TARGET)
217217
ament_export_dependencies(geometry_msgs
218218
shape_msgs
219219
rclcpp
@@ -257,33 +257,21 @@ endif()
257257
find_package(Python3 REQUIRED COMPONENTS Interpreter Development)
258258
find_package(pybind11_vendor REQUIRED)
259259
find_package(pybind11 REQUIRED)
260+
find_package(py_binding_tools REQUIRED)
260261

261262
ament_python_install_package(rviz_visual_tools PACKAGE_DIR python/rviz_visual_tools)
262263

263-
add_library(rviz_visual_tools_binding_utils SHARED python/src/binding_utils.cpp)
264-
ament_target_dependencies(rviz_visual_tools_binding_utils rclcpp pybind11)
265-
target_include_directories(rviz_visual_tools_binding_utils PUBLIC
266-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/python/include>
267-
$<INSTALL_INTERFACE:include/rviz_visual_tools>
268-
)
269-
270264
pybind11_add_module(pyrviz_visual_tools python/src/rviz_visual_tools.cpp)
271-
target_link_libraries(pyrviz_visual_tools PRIVATE rviz_visual_tools rviz_visual_tools_binding_utils)
265+
target_link_libraries(pyrviz_visual_tools PRIVATE rviz_visual_tools py_binding_tools::py_binding_tools)
272266
ament_target_dependencies(pyrviz_visual_tools pybind11)
273-
install(
274-
TARGETS
275-
rviz_visual_tools_binding_utils
276-
EXPORT
277-
rviz_visual_tools_binding_utilsTargets
278-
ARCHIVE DESTINATION lib
279-
LIBRARY DESTINATION lib
280-
)
267+
281268
install(DIRECTORY python/include/ DESTINATION include/rviz_visual_tools)
282269
install(TARGETS pyrviz_visual_tools
283270
LIBRARY DESTINATION ${PYTHON_INSTALL_DIR}/rviz_visual_tools)
284271
install(PROGRAMS
285272
python/examples/rviz_visual_tools_demo.py
286273
DESTINATION lib/${PROJECT_NAME}
287274
)
275+
ament_export_dependencies(py_binding_tools)
288276

289277
ament_package()

package.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<depend>visualization_msgs</depend>
3939
<depend>std_msgs</depend>
4040
<depend>trajectory_msgs</depend>
41+
<depend>py_binding_tools</depend>
4142

4243
<build_depend>qtbase5-dev</build_depend>
4344
<build_depend>eigen</build_depend>

python/examples/rviz_visual_tools_demo.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
from threading import Thread
77
import numpy as np
88
from copy import deepcopy
9+
import rclcpp
910

1011
LOGGER = get_logger("rviz_visual_tools_demo")
1112

12-
rvt.init()
13-
node = rvt.RvizVisualToolsNode("rviz_visual_tools_demo")
13+
rclcpp.init()
14+
node = rclcpp.Node("rviz_visual_tools_demo")
1415
visual_tools = rvt.RvizVisualTools(node, "world", "/rviz_visual_tools")
1516
visual_tools.load_marker_publisher(True)
1617
visual_tools.delete_all_markers()

python/include/rviz_visual_tools/binding_utils.hpp

Lines changed: 0 additions & 121 deletions
This file was deleted.
Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
from rviz_visual_tools.pyrviz_visual_tools import (
2-
init,
3-
shutdown,
42
Scales,
53
Colors,
64
EulerConvention,
75
RvizVisualTools,
8-
RvizVisualToolsNode,
96
)

python/src/binding_utils.cpp

Lines changed: 0 additions & 57 deletions
This file was deleted.

python/src/rviz_visual_tools.cpp

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include <pybind11/eigen.h>
33
#include <pybind11/stl.h>
44
#include <rviz_visual_tools/rviz_visual_tools.hpp>
5-
#include <rviz_visual_tools/binding_utils.hpp>
5+
#include <py_binding_tools/ros_msg_typecasters.h>
66

77
namespace py = pybind11;
88
using py::literals::operator""_a;
@@ -11,36 +11,6 @@ namespace rviz_visual_tools
1111
{
1212
PYBIND11_MODULE(pyrviz_visual_tools, m)
1313
{
14-
py::class_<RvizVisualToolsNode, RvizVisualToolsNode::SharedPtr>(m, "RvizVisualToolsNode")
15-
.def(py::init<const std::string&>(), "node_name"_a)
16-
.def("spin_all", &RvizVisualToolsNode::spin_all, "timeout_millis"_a = 0)
17-
.def("start_spin_thread", &RvizVisualToolsNode::start_spin_thread)
18-
.def("stop_spin_thread", &RvizVisualToolsNode::stop_spin_thread);
19-
20-
/**Initialize ROS 2's global context.
21-
This function decorates a `rclcpp::init` invocation.
22-
*/
23-
m.def(
24-
"init",
25-
[](std::vector<std::string> args) {
26-
if (args.empty())
27-
{
28-
args = py::module::import("sys").attr("argv").cast<std::vector<std::string>>();
29-
}
30-
std::vector<const char*> raw_args;
31-
raw_args.reserve(args.size());
32-
for (const auto& arg : args)
33-
{
34-
raw_args.push_back(arg.c_str());
35-
}
36-
if (!rclcpp::ok())
37-
{
38-
rclcpp::init(raw_args.size(), raw_args.data());
39-
}
40-
},
41-
py::arg("args") = std::vector<std::string>{});
42-
m.def("shutdown", &rclcpp::shutdown);
43-
4414
py::enum_<Colors>(m, "Colors")
4515
.value("BLACK", Colors::BLACK)
4616
.value("BROWN", Colors::BROWN)
@@ -83,7 +53,7 @@ PYBIND11_MODULE(pyrviz_visual_tools, m)
8353
.value("ZXZ", EulerConvention::ZXZ);
8454

8555
py::class_<RvizVisualTools>(m, "RvizVisualTools")
86-
.def(py::init([](const RvizVisualToolsNode::SharedPtr& node, const std::string& base_frame,
56+
.def(py::init([](const rclcpp::Node::SharedPtr& node, const std::string& base_frame,
8757
const std::string& marker_topic) {
8858
return RvizVisualTools(base_frame, marker_topic, node);
8959
}))

0 commit comments

Comments
 (0)