Go to the documentation of this file.
37 #include <rc_genicam_api/config.h>
42 std::function<
void()>& sub_changed)
51 pub = nh.
advertise<rc_common_msgs::CameraParam>(
"left/camera_param", 1,
57 pub = nh.
advertise<rc_common_msgs::CameraParam>(
"right/camera_param", 1,
79 template <
class T>
inline rc_common_msgs::KeyValue getKeyValue(
const char *key, T value)
81 rc_common_msgs::KeyValue ret;
84 ret.value=std::to_string(value);
89 inline rc_common_msgs::KeyValue getKeyValueString(
const char *key,
const std::string &value)
91 rc_common_msgs::KeyValue ret;
108 rc_common_msgs::CameraParam
param;
111 param.header.stamp.sec = time / 1000000000ul;
112 param.header.stamp.nsec = time % 1000000000ul;
117 std::vector<std::string> lines;
119 uint32_t input_mask = 0;
120 uint32_t output_mask = 0;
121 for (
size_t i = 0; i < lines.size(); i++)
128 input_mask |= 1 << i;
133 output_mask |= 1 << i;
137 rc_common_msgs::KeyValue line_source;
138 line_source.key = lines[i];
140 param.line_source.push_back(line_source);
151 param.extra_data.push_back(getKeyValue(
"input_mask", input_mask));
152 param.extra_data.push_back(getKeyValue(
"output_mask", output_mask));
154 float out1_reduction = 0;
159 catch (
const std::exception&)
164 param.extra_data.push_back(getKeyValue(
"out1_reduction", out1_reduction));
169 param.extra_data.push_back(getKeyValue(
"auto_exposure_adapting", adapting));
171 catch (
const std::exception&)
const static int ComponentIntensity
double getFloat(const std::shared_ptr< GenApi::CNodeMapRef > &nodemap, const char *name, double *vmin=0, double *vmax=0, bool exception=false, bool igncache=false)
bool getBoolean(const std::shared_ptr< GenApi::CNodeMapRef > &nodemap, const char *name, bool exception=false, bool igncache=false)
uint64_t getTimestampNS() const
void requiresComponents(int &components, bool &color) override
Adds components and if color images are required to the given values.
void subChanged(const ros::SingleSubscriberPublisher &pub)
Called by publisher if subscription changed.
void publish(const boost::shared_ptr< M > &message) const
Publisher advertise(AdvertiseOptions &ops)
std::function< void()> sub_callback
std::string getEnum(const std::shared_ptr< GenApi::CNodeMapRef > &nodemap, const char *name, bool exception=false)
Interface for all publishers relating to images, point clouds or other stereo-camera data.
bool used() override
Returns true if there are subscribers to the topic.
void publish(const rcg::Buffer *buffer, uint32_t part, uint64_t pixelformat) override
Offers a buffer for publication.
bool setEnum(const std::shared_ptr< GenApi::CNodeMapRef > &nodemap, const char *name, const char *value, bool exception=false)
T param(const std::string ¶m_name, const T &default_val)
uint32_t getNumSubscribers() const
int64_t getInteger(const std::shared_ptr< GenApi::CNodeMapRef > &nodemap, const char *name, int64_t *vmin=0, int64_t *vmax=0, bool exception=false, bool igncache=false)
std::string getString(const std::shared_ptr< GenApi::CNodeMapRef > &nodemap, const char *name, bool exception=false, bool igncache=false)
CameraParamPublisher(ros::NodeHandle &nh, const std::string &frame_id, bool left, std::function< void()> &sub_changed)
LOG4CPP_EXPORT CategoryStream & left(CategoryStream &os)
std::shared_ptr< GenApi::CNodeMapRef > nodemap
rc_genicam_driver
Author(s): Heiko Hirschmueller
, Felix Ruess
autogenerated on Sat Oct 26 2024 02:04:09