Skip to main content

VisualizeCameraFrustum Class

Publishes a visualization marker showing a camera frustum as a LINE_LIST. More...

Declaration

class moveit_pro::behaviors::VisualizeCameraFrustum { ... }

Included Headers

#include <visualize_camera_frustum.hpp>

Base class

classSharedResourcesNode<BehaviorTreeNodeT>

The SharedResourcesNode class provides a BehaviorContext object when constructing a BehaviorTree.Cpp node. More...

Public Constructors Index

VisualizeCameraFrustum (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)

Public Member Functions Index

BT::NodeStatustick () override

Private Member Attributes Index

std::shared_ptr< rclcpp::Publisher< visualization_msgs::msg::MarkerArray > >marker_publisher_
std::stringmarker_namespace_ = fmt::format("VisualizeCameraFrustum{}", ++instance_counter_)

Public Static Functions Index

static BT::PortsListprovidedPorts ()
static BT::KeyValueVectormetadata ()

Public Static Attributes Index

static constexpr autokPortIDCameraPose = "camera_pose"
static constexpr autokPortIDNearPlane = "near_plane"
static constexpr autokPortIDFarPlane = "far_plane"
static constexpr autokPortIDHorizontalFov = "horizontal_fov"
static constexpr autokPortIDVerticalFov = "vertical_fov"
static constexpr autokPortIDMarkerNamespace = "marker_namespace"

Private Static Attributes Index

static std::atomic< int >instance_counter_ { 0 }

Description

Publishes a visualization marker showing a camera frustum as a LINE_LIST.

Visualizes a camera frustum by publishing LINE_LIST markers showing the near plane, far plane, and the four connecting edges between them. The camera pose uses the optical frame convention: Z forward (viewing direction), X right, Y down.

Each instance gets a unique marker namespace (VisualizeCameraFrustum1, VisualizeCameraFrustum2, ...) so multiple frustums can coexist without overwriting each other.

Data Port NamePort TypeObject Type
camera_poseinputgeometry_msgs::msg::PoseStamped
near_planeinputdouble
far_planeinputdouble
horizontal_fovinputdouble
vertical_fovinputdouble
marker_namespaceinputstd::string

Definition at line 41 of file visualize_camera_frustum.hpp.

Public Constructors

VisualizeCameraFrustum()

moveit_pro::behaviors::VisualizeCameraFrustum::VisualizeCameraFrustum (const std::string & name, const BT::NodeConfiguration & config, const std::shared_ptr< BehaviorContext > & shared_resources)

Declaration at line 51 of file visualize_camera_frustum.hpp, definition at line 137 of file visualize_camera_frustum.cpp.

Public Member Functions

tick()

BT::NodeStatus moveit_pro::behaviors::VisualizeCameraFrustum::tick ()

Declaration at line 58 of file visualize_camera_frustum.hpp, definition at line 166 of file visualize_camera_frustum.cpp.

Private Member Attributes

marker_namespace_

std::string moveit_pro::behaviors::VisualizeCameraFrustum::marker_namespace_ = fmt::format("VisualizeCameraFrustum{}", ++instance_counter_)

Definition at line 65 of file visualize_camera_frustum.hpp.

marker_publisher_

std::shared_ptr<rclcpp::Publisher<visualization_msgs::msg::MarkerArray> > moveit_pro::behaviors::VisualizeCameraFrustum::marker_publisher_

Definition at line 62 of file visualize_camera_frustum.hpp.

Public Static Functions

metadata()

BT::KeyValueVector moveit_pro::behaviors::VisualizeCameraFrustum::metadata ()
static

Declaration at line 56 of file visualize_camera_frustum.hpp, definition at line 160 of file visualize_camera_frustum.cpp.

providedPorts()

BT::PortsList moveit_pro::behaviors::VisualizeCameraFrustum::providedPorts ()
static

Declaration at line 54 of file visualize_camera_frustum.hpp, definition at line 145 of file visualize_camera_frustum.cpp.

Public Static Attributes

kPortIDCameraPose

constexpr auto moveit_pro::behaviors::VisualizeCameraFrustum::kPortIDCameraPose = "camera_pose"
constexpr static

Definition at line 44 of file visualize_camera_frustum.hpp.

kPortIDFarPlane

constexpr auto moveit_pro::behaviors::VisualizeCameraFrustum::kPortIDFarPlane = "far_plane"
constexpr static

Definition at line 46 of file visualize_camera_frustum.hpp.

kPortIDHorizontalFov

constexpr auto moveit_pro::behaviors::VisualizeCameraFrustum::kPortIDHorizontalFov = "horizontal_fov"
constexpr static

Definition at line 47 of file visualize_camera_frustum.hpp.

kPortIDMarkerNamespace

constexpr auto moveit_pro::behaviors::VisualizeCameraFrustum::kPortIDMarkerNamespace = "marker_namespace"
constexpr static

Definition at line 49 of file visualize_camera_frustum.hpp.

kPortIDNearPlane

constexpr auto moveit_pro::behaviors::VisualizeCameraFrustum::kPortIDNearPlane = "near_plane"
constexpr static

Definition at line 45 of file visualize_camera_frustum.hpp.

kPortIDVerticalFov

constexpr auto moveit_pro::behaviors::VisualizeCameraFrustum::kPortIDVerticalFov = "vertical_fov"
constexpr static

Definition at line 48 of file visualize_camera_frustum.hpp.

Private Static Attributes

instance_counter_

std::atomic< int > moveit_pro::behaviors::VisualizeCameraFrustum::instance_counter_ { 0 }
static

Definition at line 68 of file visualize_camera_frustum.hpp.


The documentation for this class was generated from the following files:


Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.