Program Listing for File tof.hpp
↰ Return to documentation for file (include/depthai_ros_driver/dai_nodes/sensors/tof.hpp)
#pragma once
#include "depthai_ros_driver/dai_nodes/base_node.hpp"
#include "depthai_ros_driver/dai_nodes/sensors/sensor_helpers.hpp"
namespace dai {
class Pipeline;
class Device;
class DataInputQueue;
class ADatatype;
namespace node {
class Camera;
class ToF;
class ImageAlign;
class XLinkIn;
} // namespace node
} // namespace dai
namespace rclcpp {
class Node;
class Parameter;
} // namespace rclcpp
namespace depthai_ros_driver {
namespace param_handlers {
class ToFParamHandler;
}
namespace dai_nodes {
namespace sensor_helpers {
class ImagePublisher;
} // namespace sensor_helpers
class ToF : public BaseNode {
public:
explicit ToF(const std::string& daiNodeName,
std::shared_ptr<rclcpp::Node> node,
std::shared_ptr<dai::Pipeline> pipeline,
dai::CameraBoardSocket boardSocket = dai::CameraBoardSocket::CAM_A);
~ToF();
void updateParams(const std::vector<rclcpp::Parameter>& params) override;
void setupQueues(std::shared_ptr<dai::Device> device) override;
void link(dai::Node::Input in, int linkType = 0) override;
dai::Node::Input getInput(int linkType = 0) override;
void setNames() override;
void setXinXout(std::shared_ptr<dai::Pipeline> pipeline) override;
std::vector<std::shared_ptr<sensor_helpers::ImagePublisher>> getPublishers() override;
void closeQueues() override;
private:
std::shared_ptr<sensor_helpers::ImagePublisher> tofPub;
std::shared_ptr<dai::node::Camera> camNode;
std::shared_ptr<dai::node::ToF> tofNode;
std::shared_ptr<dai::node::ImageAlign> alignNode;
std::unique_ptr<param_handlers::ToFParamHandler> ph;
dai::CameraBoardSocket boardSocket;
std::string tofQName;
};
} // namespace dai_nodes
} // namespace depthai_ros_driver