Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
# readability-named-parameter: Useful to fix lints about unused parameters
# readability-implicit-bool-conversion: We have decided that !ptr-type is cleaner than ptr-type==nullptr
# readability-magic-numbers: This encourages useless variables and extra lint lines
# performance-unnecessary-value-param: TODO(RSDK-3007) remove this and fix all lints.
# misc-unused-parameters: TODO(RSDK-3008) remove this and fix all lints.
# misc-include-cleaner: TODO(RSDK-5479) this is overly finnicky, add IWYU support and fix.
# readability-function-cognitive-complexity: No, complexity is subjective and sometimes necessary.
Expand All @@ -27,7 +26,6 @@ Checks: >
-readability-named-parameter,
-readability-implicit-bool-conversion,
-readability-magic-numbers,
-performance-unnecessary-value-param,
-misc-unused-parameters,
-misc-include-cleaner,
-readability-function-cognitive-complexity,
Expand Down
2 changes: 1 addition & 1 deletion src/viam/examples/modules/complex/base/impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ std::string find_motor(ResourceConfig cfg, std::string motor_name) {
return *motor_string;
}

void MyBase::reconfigure(Dependencies deps, ResourceConfig cfg) {
void MyBase::reconfigure(const Dependencies& deps, const ResourceConfig& cfg) {
// Downcast `left` and `right` dependencies to motors.
auto left = find_motor(cfg, "left");
auto right = find_motor(cfg, "right");
Expand Down
4 changes: 2 additions & 2 deletions src/viam/examples/modules/complex/base/impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ using namespace viam::sdk;
// specifies a static `validate` method that checks config validity.
class MyBase : public Base {
public:
MyBase(Dependencies deps, ResourceConfig cfg) : Base(cfg.name()) {
MyBase(const Dependencies& deps, const ResourceConfig& cfg) : Base(cfg.name()) {
this->reconfigure(deps, cfg);
};
void reconfigure(Dependencies deps, ResourceConfig cfg) override;
void reconfigure(const Dependencies& deps, const ResourceConfig& cfg) override;
static std::vector<std::string> validate(ResourceConfig cfg);

bool is_moving() override;
Expand Down
2 changes: 1 addition & 1 deletion src/viam/examples/modules/complex/gizmo/impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ std::string find_arg1(ResourceConfig cfg) {
return *arg1_string;
}

void MyGizmo::reconfigure(Dependencies deps, ResourceConfig cfg) {
void MyGizmo::reconfigure(const Dependencies& deps, const ResourceConfig& cfg) {
arg1_ = find_arg1(cfg);
}

Expand Down
4 changes: 2 additions & 2 deletions src/viam/examples/modules/complex/gizmo/impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ using namespace viam::sdk;
class MyGizmo : public Gizmo {
public:
MyGizmo(std::string name, std::string arg1) : Gizmo(std::move(name)), arg1_(std::move(arg1)){};
MyGizmo(Dependencies deps, ResourceConfig cfg) : Gizmo(cfg.name()) {
MyGizmo(const Dependencies& deps, const ResourceConfig& cfg) : Gizmo(cfg.name()) {
this->reconfigure(deps, cfg);
};
void reconfigure(Dependencies deps, ResourceConfig cfg) override;
void reconfigure(const Dependencies& deps, const ResourceConfig& cfg) override;
static std::vector<std::string> validate(ResourceConfig cfg);

bool do_one(std::string arg1) override;
Expand Down
2 changes: 1 addition & 1 deletion src/viam/examples/modules/complex/summation/impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ bool find_subtract(ResourceConfig cfg) {
return *subtract_bool;
}

void MySummation::reconfigure(Dependencies deps, ResourceConfig cfg) {
void MySummation::reconfigure(const Dependencies& deps, const ResourceConfig& cfg) {
subtract_ = find_subtract(cfg);
}

Expand Down
4 changes: 2 additions & 2 deletions src/viam/examples/modules/complex/summation/impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ class MySummation : public Summation {
public:
MySummation(std::string name, bool subtract)
: Summation(std::move(name)), subtract_(subtract){};
MySummation(Dependencies deps, ResourceConfig cfg) : Summation(cfg.name()) {
MySummation(const Dependencies& deps, const ResourceConfig& cfg) : Summation(cfg.name()) {
this->reconfigure(deps, cfg);
};
void reconfigure(Dependencies deps, ResourceConfig cfg) override;
void reconfigure(const Dependencies& deps, const ResourceConfig& cfg) override;
static std::vector<std::string> validate(ResourceConfig cfg);

double sum(std::vector<double> numbers) override;
Expand Down
10 changes: 5 additions & 5 deletions src/viam/sdk/common/linear_algebra.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,15 @@ std::array<double, 3>& Vector3::data() {
return this->data_;
}

viam::common::v1::Vector3 Vector3::to_proto(const Vector3& vec) {
viam::common::v1::Vector3 Vector3::to_proto() const {
viam::common::v1::Vector3 result;
result.set_x(vec.x());
result.set_y(vec.y());
result.set_z(vec.z());
result.set_x(x());
result.set_y(y());
result.set_z(z());
return result;
};
Comment on lines -48 to 54
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(flyby) this method was marked as static but just took an object ref as its only argument. I see no reason why this shouldn't just be a regular class method so I went ahead and made the change.


Vector3 Vector3::from_proto(viam::common::v1::Vector3 vec) {
Vector3 Vector3::from_proto(const viam::common::v1::Vector3& vec) {
return {vec.x(), vec.y(), vec.z()};
}

Expand Down
4 changes: 2 additions & 2 deletions src/viam/sdk/common/linear_algebra.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ class Vector3 {

const std::array<scalar_type, 3>& data() const;
std::array<scalar_type, 3>& data();
static viam::common::v1::Vector3 to_proto(const Vector3& vec);
static Vector3 from_proto(viam::common::v1::Vector3 vec);
viam::common::v1::Vector3 to_proto() const;
static Vector3 from_proto(const viam::common::v1::Vector3& vec);

private:
std::array<scalar_type, 3> data_;
Expand Down
4 changes: 2 additions & 2 deletions src/viam/sdk/common/proto_type.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ using google::protobuf::Struct;
using google::protobuf::Value;

// NOLINTNEXTLINE(misc-no-recursion)
Struct map_to_struct(AttributeMap dict) {
Struct map_to_struct(const AttributeMap& dict) {
Struct s;
if (!dict) {
return s;
Expand All @@ -37,7 +37,7 @@ Struct map_to_struct(AttributeMap dict) {
}

// NOLINTNEXTLINE(misc-no-recursion)
AttributeMap struct_to_map(Struct struct_) {
AttributeMap struct_to_map(const Struct& struct_) {
AttributeMap map =
std::make_shared<std::unordered_map<std::string, std::shared_ptr<ProtoType>>>();

Expand Down
4 changes: 2 additions & 2 deletions src/viam/sdk/common/proto_type.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ class ProtoType {
proto_type_;
};

AttributeMap struct_to_map(google::protobuf::Struct struct_);
google::protobuf::Struct map_to_struct(AttributeMap dict);
AttributeMap struct_to_map(const google::protobuf::Struct& struct_);
google::protobuf::Struct map_to_struct(const AttributeMap& dict);

} // namespace sdk
} // namespace viam
2 changes: 1 addition & 1 deletion src/viam/sdk/common/world_state.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class WorldState {

WorldState() {}
WorldState(std::vector<geometries_in_frame> obstacles, std::vector<transform> transforms)
: obstacles_(obstacles), transforms_(transforms) {}
: obstacles_(std::move(obstacles)), transforms_(std::move(transforms)) {}

friend bool operator==(const WorldState& lhs, const WorldState& rhs);
friend bool operator==(const geometries_in_frame& lhs, const geometries_in_frame& rhs);
Expand Down
8 changes: 4 additions & 4 deletions src/viam/sdk/components/base/client.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ void BaseClient::set_power(const Vector3& linear,
return make_client_helper(this, *stub_, &StubType::SetPower)
.with(extra,
[&](auto& request) {
*request.mutable_linear() = Vector3::to_proto(linear);
*request.mutable_angular() = Vector3::to_proto(angular);
*request.mutable_linear() = linear.to_proto();
*request.mutable_angular() = angular.to_proto();
})
.invoke();
}
Expand All @@ -64,8 +64,8 @@ void BaseClient::set_velocity(const Vector3& linear,
return make_client_helper(this, *stub_, &StubType::SetVelocity)
.with(extra,
[&](auto& request) {
*request.mutable_linear() = Vector3::to_proto(linear);
*request.mutable_angular() = Vector3::to_proto(angular);
*request.mutable_linear() = linear.to_proto();
*request.mutable_angular() = angular.to_proto();
})
.invoke();
}
Expand Down
8 changes: 4 additions & 4 deletions src/viam/sdk/components/board/board.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ API API::traits<Board>::api() {
return {kRDK, kComponent, "board"};
}

Board::status Board::from_proto(viam::common::v1::BoardStatus proto) {
Board::status Board::from_proto(const viam::common::v1::BoardStatus& proto) {
Board::status status;
for (const auto& analog : proto.analogs()) {
status.analog_reader_values.emplace(analog.first, analog.second.value());
Expand All @@ -31,11 +31,11 @@ Board::status Board::from_proto(viam::common::v1::BoardStatus proto) {
return status;
}

Board::analog_value Board::from_proto(viam::common::v1::AnalogStatus proto) {
Board::analog_value Board::from_proto(const viam::common::v1::AnalogStatus& proto) {
return proto.value();
}

Board::digital_value Board::from_proto(viam::common::v1::DigitalInterruptStatus proto) {
Board::digital_value Board::from_proto(const viam::common::v1::DigitalInterruptStatus& proto) {
return proto.value();
}

Expand All @@ -55,7 +55,7 @@ Board::power_mode Board::from_proto(viam::component::board::v1::PowerMode proto)
}
}

viam::common::v1::BoardStatus Board::to_proto(status status) {
viam::common::v1::BoardStatus Board::to_proto(const status& status) {
viam::common::v1::BoardStatus proto;
for (const auto& analog : status.analog_reader_values) {
proto.mutable_analogs()->insert({analog.first, to_proto(analog.second)});
Expand Down
8 changes: 4 additions & 4 deletions src/viam/sdk/components/board/board.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,19 +52,19 @@ class Board : public Component {
API api() const override;

/// @brief Creates a `status` struct from its proto representation.
static status from_proto(viam::common::v1::BoardStatus proto);
static status from_proto(const viam::common::v1::BoardStatus& proto);

/// @brief Creates a `analog_value` struct from its proto representation.
static analog_value from_proto(viam::common::v1::AnalogStatus proto);
static analog_value from_proto(const viam::common::v1::AnalogStatus& proto);

/// @brief Creates a `digital_value` struct from its proto representation.
static digital_value from_proto(viam::common::v1::DigitalInterruptStatus proto);
static digital_value from_proto(const viam::common::v1::DigitalInterruptStatus& proto);

/// @brief Creates a `power_mode` enum from its proto representation.
static power_mode from_proto(viam::component::board::v1::PowerMode proto);

/// @brief Converts a `status` struct to its proto representation.
static viam::common::v1::BoardStatus to_proto(status status);
static viam::common::v1::BoardStatus to_proto(const status& status);

/// @brief Converts a `analog_value` struct to its proto representation.
static viam::common::v1::AnalogStatus to_proto(analog_value analog_value);
Expand Down
22 changes: 13 additions & 9 deletions src/viam/sdk/components/camera/camera.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ std::string Camera::format_to_MIME_string(viam::component::camera::v1::Format fo
}
}

::viam::component::camera::v1::Format Camera::MIME_string_to_format(std::string mime_string) {
::viam::component::camera::v1::Format Camera::MIME_string_to_format(
const std::string& mime_string) {
if (mime_string == "image/vnd.viam.rgba") {
return viam::component::camera::v1::FORMAT_RAW_RGBA;
}
Expand All @@ -66,7 +67,7 @@ ::viam::component::camera::v1::Format Camera::MIME_string_to_format(std::string
return viam::component::camera::v1::FORMAT_UNSPECIFIED;
}

Camera::raw_image Camera::from_proto(viam::component::camera::v1::GetImageResponse proto) {
Camera::raw_image Camera::from_proto(const viam::component::camera::v1::GetImageResponse& proto) {
Camera::raw_image raw_image;
std::string img_string = proto.image();
const std::vector<unsigned char> bytes(img_string.begin(), img_string.end());
Expand All @@ -76,7 +77,8 @@ Camera::raw_image Camera::from_proto(viam::component::camera::v1::GetImageRespon
return raw_image;
}

Camera::image_collection Camera::from_proto(viam::component::camera::v1::GetImagesResponse proto) {
Camera::image_collection Camera::from_proto(
const viam::component::camera::v1::GetImagesResponse& proto) {
Camera::image_collection image_collection;
std::vector<Camera::raw_image> images;
for (const auto& img : proto.images()) {
Expand All @@ -93,7 +95,8 @@ Camera::image_collection Camera::from_proto(viam::component::camera::v1::GetImag
return image_collection;
}

Camera::point_cloud Camera::from_proto(viam::component::camera::v1::GetPointCloudResponse proto) {
Camera::point_cloud Camera::from_proto(
const viam::component::camera::v1::GetPointCloudResponse& proto) {
Camera::point_cloud point_cloud;
std::string pc_string = proto.point_cloud();
const std::vector<unsigned char> bytes(pc_string.begin(), pc_string.end());
Expand All @@ -103,7 +106,7 @@ Camera::point_cloud Camera::from_proto(viam::component::camera::v1::GetPointClou
}

Camera::intrinsic_parameters Camera::from_proto(
viam::component::camera::v1::IntrinsicParameters proto) {
const viam::component::camera::v1::IntrinsicParameters& proto) {
Camera::intrinsic_parameters params;
// NOLINTNEXTLINE(bugprone-narrowing-conversions)
params.width_px = proto.width_px();
Expand All @@ -117,14 +120,15 @@ Camera::intrinsic_parameters Camera::from_proto(
}

Camera::distortion_parameters Camera::from_proto(
viam::component::camera::v1::DistortionParameters proto) {
const viam::component::camera::v1::DistortionParameters& proto) {
Camera::distortion_parameters params;
params.model = proto.model();
params.parameters = {proto.parameters().begin(), proto.parameters().end()};
return params;
}

Camera::properties Camera::from_proto(viam::component::camera::v1::GetPropertiesResponse proto) {
Camera::properties Camera::from_proto(
const viam::component::camera::v1::GetPropertiesResponse& proto) {
Camera::distortion_parameters distortion_parameters;
Camera::intrinsic_parameters intrinsic_parameters;
Camera::properties properties;
Expand All @@ -145,7 +149,7 @@ Camera::properties Camera::from_proto(viam::component::camera::v1::GetProperties
}

viam::component::camera::v1::IntrinsicParameters Camera::to_proto(
Camera::intrinsic_parameters params) {
const Camera::intrinsic_parameters& params) {
viam::component::camera::v1::IntrinsicParameters proto;
proto.set_width_px(params.width_px);
proto.set_height_px(params.height_px);
Expand All @@ -156,7 +160,7 @@ viam::component::camera::v1::IntrinsicParameters Camera::to_proto(
return proto;
}
viam::component::camera::v1::DistortionParameters Camera::to_proto(
Camera::distortion_parameters params) {
const Camera::distortion_parameters& params) {
viam::component::camera::v1::DistortionParameters proto;
*proto.mutable_model() = params.model;
*proto.mutable_parameters() = {params.parameters.begin(), params.parameters.end()};
Expand Down
20 changes: 11 additions & 9 deletions src/viam/sdk/components/camera/camera.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,32 +90,34 @@ class Camera : public Component {
static std::string format_to_MIME_string(viam::component::camera::v1::Format format);

/// @brief convert a MIME type string with a protobuf format enum.
static viam::component::camera::v1::Format MIME_string_to_format(std::string mime_string);
static viam::component::camera::v1::Format MIME_string_to_format(
const std::string& mime_string);

/// @brief Creates a `raw_image` struct from its proto representation.
static raw_image from_proto(viam::component::camera::v1::GetImageResponse proto);
static raw_image from_proto(const viam::component::camera::v1::GetImageResponse& proto);

/// @brief Creates a `image_collection` struct from its proto representation.
static image_collection from_proto(viam::component::camera::v1::GetImagesResponse proto);
static image_collection from_proto(const viam::component::camera::v1::GetImagesResponse& proto);

/// @brief Creates a `point_cloud` struct from its proto representation.
static point_cloud from_proto(viam::component::camera::v1::GetPointCloudResponse proto);
static point_cloud from_proto(const viam::component::camera::v1::GetPointCloudResponse& proto);

/// @brief creates an `intrinsic_parameters` struct from its proto representation.
static intrinsic_parameters from_proto(viam::component::camera::v1::IntrinsicParameters proto);
static intrinsic_parameters from_proto(
const viam::component::camera::v1::IntrinsicParameters& proto);

/// @brief creats a `distortion_parameters` struct from its proto representation.
static distortion_parameters from_proto(
viam::component::camera::v1::DistortionParameters proto);
const viam::component::camera::v1::DistortionParameters& proto);

/// @brief creates a `properties` struct from its proto representation.
static properties from_proto(viam::component::camera::v1::GetPropertiesResponse proto);
static properties from_proto(const viam::component::camera::v1::GetPropertiesResponse& proto);

/// @brief converts a `distortion_parameters` struct to its proto representation.
static viam::component::camera::v1::DistortionParameters to_proto(distortion_parameters);
static viam::component::camera::v1::DistortionParameters to_proto(const distortion_parameters&);

/// @brief converts an `intrinsic_parameters` struct to its proto representation.
static viam::component::camera::v1::IntrinsicParameters to_proto(intrinsic_parameters);
static viam::component::camera::v1::IntrinsicParameters to_proto(const intrinsic_parameters&);

/// @brief Send/receive arbitrary commands to the resource.
/// @param Command the command to execute.
Expand Down
11 changes: 7 additions & 4 deletions src/viam/sdk/components/encoder/encoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,17 @@ Encoder::position_type Encoder::from_proto(viam::component::encoder::v1::Positio
}
}

Encoder::position Encoder::from_proto(viam::component::encoder::v1::GetPositionResponse proto) {
Encoder::position Encoder::from_proto(
const viam::component::encoder::v1::GetPositionResponse& proto) {
Encoder::position position;
position.value = proto.value();

position.type = from_proto(proto.position_type());
return position;
}

Encoder::properties Encoder::from_proto(viam::component::encoder::v1::GetPropertiesResponse proto) {
Encoder::properties Encoder::from_proto(
const viam::component::encoder::v1::GetPropertiesResponse& proto) {
Encoder::properties properties;
properties.ticks_count_supported = proto.ticks_count_supported();

Expand All @@ -72,15 +74,16 @@ viam::component::encoder::v1::PositionType Encoder::to_proto(position_type posit
}
}

viam::component::encoder::v1::GetPositionResponse Encoder::to_proto(position position) {
viam::component::encoder::v1::GetPositionResponse Encoder::to_proto(const position& position) {
viam::component::encoder::v1::GetPositionResponse proto;
proto.set_value(position.value);

proto.set_position_type(to_proto(position.type));
return proto;
}

viam::component::encoder::v1::GetPropertiesResponse Encoder::to_proto(properties properties) {
viam::component::encoder::v1::GetPropertiesResponse Encoder::to_proto(
const properties& properties) {
viam::component::encoder::v1::GetPropertiesResponse proto;
proto.set_ticks_count_supported(properties.ticks_count_supported);

Expand Down
Loading