Skip to content

Commit

Permalink
Get user specified parameters at startup
Browse files Browse the repository at this point in the history
  • Loading branch information
john-maidbot committed May 11, 2024
1 parent eb4d1d6 commit fe52157
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 5 deletions.
23 changes: 18 additions & 5 deletions draco_point_cloud_transport/src/draco_publisher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ void DracoPublisher::declareParameters(const std::string & base_topic)
declareParam<int>(
encode_speed_paramDescriptor.name, config_.encode_speed,
encode_speed_paramDescriptor);
getParam<int>(encode_speed_paramDescriptor.name, config_.encode_speed);

rcl_interfaces::msg::ParameterDescriptor decode_speed_paramDescriptor;
decode_speed_paramDescriptor.name = "decode_speed";
Expand All @@ -99,6 +100,7 @@ void DracoPublisher::declareParameters(const std::string & base_topic)
declareParam<int>(
decode_speed_paramDescriptor.name, config_.decode_speed,
decode_speed_paramDescriptor);
getParam<int>(decode_speed_paramDescriptor.name, config_.decode_speed);

rcl_interfaces::msg::ParameterDescriptor encode_method_paramDescriptor;
encode_method_paramDescriptor.name = "encode_method";
Expand All @@ -113,13 +115,15 @@ void DracoPublisher::declareParameters(const std::string & base_topic)
declareParam<int>(
encode_method_paramDescriptor.name, config_.encode_method,
encode_method_paramDescriptor);
getParam<int>(encode_method_paramDescriptor.name, config_.encode_method);

rcl_interfaces::msg::ParameterDescriptor deduplicate_paramDescriptor;
deduplicate_paramDescriptor.name = "deduplicate";
deduplicate_paramDescriptor.type = rcl_interfaces::msg::ParameterType::PARAMETER_BOOL;
deduplicate_paramDescriptor.description =
"Remove duplicate point entries.";
declareParam<bool>(deduplicate_paramDescriptor.name, true, deduplicate_paramDescriptor);
getParam<bool>(deduplicate_paramDescriptor.name, config_.deduplicate);

rcl_interfaces::msg::ParameterDescriptor force_quantization_paramDescriptor;
force_quantization_paramDescriptor.name = "force_quantization";
Expand All @@ -130,6 +134,7 @@ void DracoPublisher::declareParameters(const std::string & base_topic)
declareParam<bool>(
force_quantization_paramDescriptor.name, config_.force_quantization,
force_quantization_paramDescriptor);
getParam<bool>(force_quantization_paramDescriptor.name, config_.force_quantization);

rcl_interfaces::msg::ParameterDescriptor quantization_POSITION_paramDescriptor;
quantization_POSITION_paramDescriptor.name = "quantization_POSITION";
Expand All @@ -143,8 +148,9 @@ void DracoPublisher::declareParameters(const std::string & base_topic)
.set__to_value(31)
.set__step(1)});
declareParam<int>(
quantization_POSITION_paramDescriptor.name, config_.quantization_NORMAL,
quantization_POSITION_paramDescriptor.name, config_.quantization_POSITION,
quantization_POSITION_paramDescriptor);
getParam<int>(quantization_POSITION_paramDescriptor.name, config_.quantization_POSITION);

rcl_interfaces::msg::ParameterDescriptor quantization_NORMAL_paramDescriptor;
quantization_NORMAL_paramDescriptor.name = "quantization_NORMAL";
Expand All @@ -157,8 +163,9 @@ void DracoPublisher::declareParameters(const std::string & base_topic)
.set__to_value(31)
.set__step(1)});
declareParam<int>(
quantization_NORMAL_paramDescriptor.name, config_.quantization_COLOR,
quantization_NORMAL_paramDescriptor.name, config_.quantization_NORMAL,
quantization_NORMAL_paramDescriptor);
getParam<int>(quantization_NORMAL_paramDescriptor.name, config_.quantization_NORMAL);

rcl_interfaces::msg::ParameterDescriptor quantization_COLOR_paramDescriptor;
quantization_COLOR_paramDescriptor.name = "quantization_COLOR";
Expand All @@ -171,8 +178,9 @@ void DracoPublisher::declareParameters(const std::string & base_topic)
.set__to_value(31)
.set__step(1)});
declareParam<int>(
quantization_COLOR_paramDescriptor.name, config_.quantization_TEX_COORD,
quantization_COLOR_paramDescriptor.name, config_.quantization_COLOR,
quantization_COLOR_paramDescriptor);
getParam<int>(quantization_COLOR_paramDescriptor.name, config_.quantization_COLOR);

rcl_interfaces::msg::ParameterDescriptor quantization_TEX_COORD_paramDescriptor;
quantization_TEX_COORD_paramDescriptor.name = "quantization_TEX_COORD";
Expand All @@ -186,8 +194,9 @@ void DracoPublisher::declareParameters(const std::string & base_topic)
.set__to_value(31)
.set__step(1)});
declareParam<int>(
quantization_TEX_COORD_paramDescriptor.name, config_.quantization_GENERIC,
quantization_TEX_COORD_paramDescriptor.name, config_.quantization_TEX_COORD,
quantization_TEX_COORD_paramDescriptor);
getParam<int>(quantization_TEX_COORD_paramDescriptor.name, config_.quantization_TEX_COORD);

rcl_interfaces::msg::ParameterDescriptor quantization_GENERIC_paramDescriptor;
quantization_GENERIC_paramDescriptor.name = "quantization_GENERIC";
Expand All @@ -201,8 +210,9 @@ void DracoPublisher::declareParameters(const std::string & base_topic)
.set__to_value(31)
.set__step(1)});
declareParam<int>(
quantization_GENERIC_paramDescriptor.name, config_.quantization_POSITION,
quantization_GENERIC_paramDescriptor.name, config_.quantization_GENERIC,
quantization_GENERIC_paramDescriptor);
getParam<int>(quantization_GENERIC_paramDescriptor.name, config_.quantization_GENERIC);

rcl_interfaces::msg::ParameterDescriptor expert_quantization_paramDescriptor;
expert_quantization_paramDescriptor.name = "expert_quantization";
Expand All @@ -214,6 +224,7 @@ void DracoPublisher::declareParameters(const std::string & base_topic)
declareParam<bool>(
expert_quantization_paramDescriptor.name, config_.expert_quantization,
expert_quantization_paramDescriptor);
getParam<bool>(expert_quantization_paramDescriptor.name, config_.expert_quantization);

rcl_interfaces::msg::ParameterDescriptor expert_attribute_types_paramDescriptor;
expert_attribute_types_paramDescriptor.name = "expert_attribute_types";
Expand All @@ -225,7 +236,9 @@ void DracoPublisher::declareParameters(const std::string & base_topic)
declareParam<bool>(
expert_attribute_types_paramDescriptor.name, config_.expert_attribute_types,
expert_attribute_types_paramDescriptor);
getParam<bool>(expert_attribute_types_paramDescriptor.name, config_.expert_attribute_types);

// we call get param at runtime to get the latest value for these
declareParam<std::string>("attribute_mapping.attribute_type.x", "POSITION");
declareParam<std::string>("attribute_mapping.attribute_type.y", "POSITION");
declareParam<std::string>("attribute_mapping.attribute_type.z", "POSITION");
Expand Down
5 changes: 5 additions & 0 deletions draco_point_cloud_transport/src/draco_subscriber.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,15 @@ namespace draco_point_cloud_transport
void DracoSubscriber::declareParameters()
{
declareParam<bool>(std::string("SkipDequantizationPOSITION"), false);
getParam<bool>(std::string("SkipDequantizationPOSITION"), config_.SkipDequantizationPOSITION);
declareParam<bool>(std::string("SkipDequantizationNORMAL"), false);
getParam<bool>(std::string("SkipDequantizationNORMAL"), config_.SkipDequantizationNORMAL);
declareParam<bool>(std::string("SkipDequantizationCOLOR"), false);
getParam<bool>(std::string("SkipDequantizationCOLOR"), config_.SkipDequantizationCOLOR);
declareParam<bool>(std::string("SkipDequantizationTEX_COORD"), false);
getParam<bool>(std::string("SkipDequantizationTEX_COORD"), config_.SkipDequantizationTEX_COORD);
declareParam<bool>(std::string("SkipDequantizationGENERIC"), false);
getParam<bool>(std::string("SkipDequantizationGENERIC"), config_.SkipDequantizationGENERIC);

auto param_change_callback =
[this](std::vector<rclcpp::Parameter> parameters) -> rcl_interfaces::msg::SetParametersResult
Expand Down
1 change: 1 addition & 0 deletions zlib_point_cloud_transport/src/zlib_publisher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ void ZlibPublisher::declareParameters(const std::string & base_topic)
declareParam<int>(
encode_level_paramDescriptor.name, this->encode_level_,
encode_level_paramDescriptor);
getParam<int>(encode_level_paramDescriptor.name, this->encode_level_);

auto param_change_callback =
[this](const std::vector<rclcpp::Parameter> & parameters) -> rcl_interfaces::msg::
Expand Down
1 change: 1 addition & 0 deletions zstd_point_cloud_transport/src/zstd_publisher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ void ZstdPublisher::declareParameters(const std::string & base_topic)
declareParam<int>(
encode_level_paramDescriptor.name, this->encode_level_,
encode_level_paramDescriptor);
getParam<int>(encode_level_paramDescriptor.name, this->encode_level_);

auto param_change_callback =
[this](const std::vector<rclcpp::Parameter> & parameters) -> rcl_interfaces::msg::
Expand Down

0 comments on commit fe52157

Please sign in to comment.