diff --git a/CMakeLists.txt b/CMakeLists.txt index ceccf718..35499371 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,9 @@ find_package(ignition-cmake3 REQUIRED) #============================================================================ # Configure the project #============================================================================ -ign_configure_project(VERSION_SUFFIX pre1) +ign_configure_project( + REPLACE_IGNITION_INCLUDE_PATH gz/msgs + VERSION_SUFFIX pre1) #============================================================================ # Set project-specific options @@ -115,7 +117,7 @@ configure_file(${CMAKE_SOURCE_DIR}/tutorials.md.in ${CMAKE_BINARY_DIR}/tutorials ign_create_docs( API_MAINPAGE_MD "${CMAKE_BINARY_DIR}/api.md" TUTORIALS_MAINPAGE_MD "${CMAKE_BINARY_DIR}/tutorials.md" - AUTOGENERATED_DOC "${CMAKE_BINARY_DIR}/include/ignition/msgs/" + AUTOGENERATED_DOC "${CMAKE_BINARY_DIR}/include/gz/msgs/" TAGFILES "${IGNITION-MATH_DOXYGEN_TAGFILE} = ${IGNITION-MATH_API_URL}" ) diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index e1a31811..4b2bdd7b 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt @@ -1 +1,2 @@ -add_subdirectory(ignition/msgs) +add_subdirectory(gz) +install(DIRECTORY ignition DESTINATION ${IGN_INCLUDE_INSTALL_DIR_FULL}) diff --git a/include/gz/CMakeLists.txt b/include/gz/CMakeLists.txt new file mode 100644 index 00000000..bdf8afc6 --- /dev/null +++ b/include/gz/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(msgs) diff --git a/include/gz/msgs/CMakeLists.txt b/include/gz/msgs/CMakeLists.txt new file mode 100644 index 00000000..217e08e0 --- /dev/null +++ b/include/gz/msgs/CMakeLists.txt @@ -0,0 +1,4 @@ +ign_install_all_headers( + GENERATED_HEADERS + MessageTypes.hh +) diff --git a/include/gz/msgs/Factory.hh b/include/gz/msgs/Factory.hh new file mode 100644 index 00000000..4217a908 --- /dev/null +++ b/include/gz/msgs/Factory.hh @@ -0,0 +1,135 @@ +/* + * Copyright (C) 2016 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ +#ifndef GZ_MSGS_FACTORY_HH_ +#define GZ_MSGS_FACTORY_HH_ + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable: 4100 4512 4127 4068 4244 4267 4251 4146) +#endif +#include +#ifdef _MSC_VER +#pragma warning(pop) +#endif + +#include +#include +#include +#include + +#include "gz/msgs/config.hh" +#include "gz/msgs/Export.hh" + +namespace ignition +{ + namespace msgs + { + // Inline bracket to help doxygen filtering. + inline namespace IGNITION_MSGS_VERSION_NAMESPACE { + // + /// \typedef FactoryFn + /// \brief Prototype for message factory generation + typedef std::unique_ptr (*FactoryFn) (); + + /// \class Factory Factory.hh ignition/msgs.hh + /// \brief A factory that generates protobuf message based on a string type. + /// This class will also try to load all Protobuf descriptors specified + /// in the IGN_DESCRIPTOR_PATH environment variable on program start. + class IGNITION_MSGS_VISIBLE Factory + { + /// \brief Register a message. + /// \param[in] _msgType Type of message to register. + /// \param[in] _factoryfn Function that generates the message. + public: static void Register(const std::string &_msgType, + FactoryFn _factoryfn); + + /// \brief Create a new instance of a message. + /// \param[in] _msgType Type of message to create. + /// \return Pointer to a google protobuf message. Null if the message + /// type could not be handled. + public: template + static std::unique_ptr New(const std::string &_msgType) + { + return std::unique_ptr( + static_cast(New(_msgType).release())); + } + + /// \brief Create a new instance of a message. + /// \param[in] _msgType Type of message to create. + /// \param[in] _args Message arguments. This will populate the message. + /// \return Pointer to a google protobuf message. Null if the message + /// type could not be handled. + public: template + static std::unique_ptr New(const std::string &_msgType, + const std::string &_args) + { + return std::unique_ptr( + static_cast(New(_msgType, _args).release())); + } + + /// \brief Create a new instance of a message. + /// \param[in] _msgType Type of message to create. + /// \return Pointer to a google protobuf message. Null if the message + /// type could not be handled. + public: static std::unique_ptr New( + const std::string &_msgType); + + /// \brief Create a new instance of a message. + /// \param[in] _msgType Type of message to create. + /// \param[in] _args Message arguments. This will populate the message. + /// \return Pointer to a google protobuf message. Null if the message + /// type could not be handled. + public: static std::unique_ptr New( + const std::string &_msgType, const std::string &_args); + + /// \brief Get all the message types + /// \param[out] _types Vector of strings of the message types. + public: static void Types(std::vector &_types); + + /// \brief Load a collection of descriptor .desc files. + /// \param[in] _paths A set of directories containing .desc decriptor + /// files. Each directory should be separated by ":". + public: static void LoadDescriptors(const std::string &_paths); + + /// \brief A list of registered message types + private: static std::map *msgMap; + }; + + /// \brief Static message registration macro + /// + /// Use this macro to register messages. + /// \param[in] _msgtype Message type name. + /// \param[in] _classname Class name for message. + #define IGN_REGISTER_STATIC_MSG(_msgtype, _classname) \ + IGNITION_MSGS_VISIBLE \ + std::unique_ptr New##_classname() \ + { \ + return std::unique_ptr(\ + new ignition::msgs::_classname); \ + } \ + class IGNITION_MSGS_VISIBLE IgnMsg##_classname \ + { \ + public: IgnMsg##_classname() \ + { \ + ignition::msgs::Factory::Register(_msgtype, New##_classname);\ + } \ + }; \ + static IgnMsg##_classname IgnitionMessagesInitializer##_classname; + } + } +} +#endif diff --git a/include/gz/msgs/Filesystem.hh b/include/gz/msgs/Filesystem.hh new file mode 100644 index 00000000..dba32301 --- /dev/null +++ b/include/gz/msgs/Filesystem.hh @@ -0,0 +1,93 @@ +/* + * Copyright 2018 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef GZ_MSGS_FILESYSTEM_HH_ +#define GZ_MSGS_FILESYSTEM_HH_ + +#include +#include + +#include +#include + +namespace ignition +{ + namespace msgs + { + /// \brief Options for how to handle errors that occur in functions that + /// manipulate the filesystem. + enum FilesystemWarningOp + { + /// \brief Errors that occur during filesystem manipulation should be + /// logged as warnings using ignwarn. (Recommended) + FSWO_LOG_WARNINGS = 0, + + /// \brief Errors that occur during filesystem manipulation should not be + /// logged. The user will be responsible for checking the system's error + /// flags. + FSWO_SUPPRESS_WARNINGS + }; + + // /// \internal + class DirIterPrivate; + + /// \class DirIter Filesystem.hh + /// \brief A class for iterating over all items in a directory. + class IGNITION_MSGS_VISIBLE DirIter + { + /// \brief Constructor. + /// \param[in] _in Directory to iterate over. + public: explicit DirIter(const std::string &_in); + + /// \brief Constructor for end element. + public: DirIter(); + + /// \brief Dereference operator; returns current directory record. + /// \return A string representing the entire path of the directory record. + public: std::string operator*() const; + + /// \brief Pre-increment operator; moves to next directory record. + /// \return This iterator. + public: const DirIter& operator++(); + + /// \brief Comparison operator to see if this iterator is at the + /// same point as another iterator. + /// \param[in] _other The other iterator to compare against. + /// \return true if the iterators are equal, false otherwise. + public: bool operator!=(const DirIter &_other) const; + + /// \brief Destructor + public: ~DirIter(); + + /// \brief Move to the next directory record, skipping . and .. records. + private: void Next(); + + /// \brief Set the internal variable to the empty string. + private: void SetInternalEmpty(); + + /// \brief Close an open directory handle. + private: void CloseHandle(); + + IGN_UTILS_WARN_IGNORE__DLL_INTERFACE_MISSING + /// \brief Private data. + private: std::unique_ptr dataPtr; + IGN_UTILS_WARN_RESUME__DLL_INTERFACE_MISSING + }; + } +} + +#endif diff --git a/include/gz/msgs/PointCloudPackedUtils.hh b/include/gz/msgs/PointCloudPackedUtils.hh new file mode 100644 index 00000000..30ccf4d6 --- /dev/null +++ b/include/gz/msgs/PointCloudPackedUtils.hh @@ -0,0 +1,139 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +// Inspired by +// https://github.com/ros/common_msgs/blob/275b09a/sensor_msgs/include/sensor_msgs/point_cloud2_iterator.h + +#ifndef GZ_MSGS_POINTCLOUDPACKEDUTILS_HH_ +#define GZ_MSGS_POINTCLOUDPACKEDUTILS_HH_ + +#include + +#include +#include +#include +#include + +#include "gz/msgs/config.hh" +#include "gz/msgs/detail/PointCloudPackedUtils.hh" + +namespace ignition +{ +namespace msgs +{ +/// \brief Class that can iterate over a PointCloudPacked message. +/// +/// E.g, you create your message and reserve space for data as follows: +/// +/// \code{.cpp} +/// ignition::msgs::PointCloudPacked pcMsg; +/// ignition::msgs::InitPointCloudPacked(pcMsg, "my_new_frame", false, +/// {{"a", PointCloudPacked::Field::FLOAT32}}); +/// pcMsg.mutable_data()->resize(numPts * pcMsg.point_step()); +/// \endcode +/// +/// For iterating over "a", you do : +/// +/// \code{.cpp} +/// ignition::msgs::PointCloudPackedIterator iterA(pcMsg, "a"); +/// \endcode +/// +/// And then access it through iterA[0] or *iterA. +/// +/// For iterating over RGBA, you can access each element as uint8_t: +/// +/// \code{.cpp} +/// ignition::msgs::PointCloudPackedIterator iterR(pcMsg, "r"); +/// ignition::msgs::PointCloudPackedIterator iterG(pcMsg, "g"); +/// ignition::msgs::PointCloudPackedIterator iterB(pcMsg, "b"); +/// ignition::msgs::PointCloudPackedIterator iterA(pcMsg, "a"); +/// \endcode +/// +/// \tparam FieldType Type of the element being iterated upon +template +class PointCloudPackedIterator + : public PointCloudPackedIteratorBase< + FieldType, FieldType, char, PointCloudPacked, PointCloudPackedIterator> +{ + // Documentation inherited + public: PointCloudPackedIterator(PointCloudPacked &_cloudMsg, + const std::string &_fieldName) + : PointCloudPackedIteratorBase + ::PointCloudPackedIteratorBase(_cloudMsg, _fieldName) + { + } +}; + +/// \brief Same as a PointCloudPackedIterator but for const data +/// \tparam FieldType Type of the element being iterated upon +template +class PointCloudPackedConstIterator + : public PointCloudPackedIteratorBase< + FieldType, const FieldType, const char, const PointCloudPacked, + PointCloudPackedConstIterator> +{ + public: PointCloudPackedConstIterator( + const PointCloudPacked &_cloudMsg, + const std::string &_fieldName) + : PointCloudPackedIteratorBase::PointCloudPackedIteratorBase(_cloudMsg, _fieldName) + { + } +}; + +/// \brief Return the size of a datatype (which is an enum of +/// ignition::msgs::PointCloudPacked::Field) in bytes. +/// \param[in] _dataType One of the enums of +/// ignition::msgs::PointCloudPacked::Field +/// \return Size in bytes. Returns -1 if the type is unknown. +inline int sizeOfPointField( + PointCloudPacked::Field::DataType _dataType) +{ + if ((_dataType == PointCloudPacked::Field::INT8) || + (_dataType == PointCloudPacked::Field::UINT8)) + { + return 1; + } + else if ((_dataType == PointCloudPacked::Field::INT16) || + (_dataType == PointCloudPacked::Field::UINT16)) + { + return 2; + } + else if ((_dataType == PointCloudPacked::Field::INT32) || + (_dataType == PointCloudPacked::Field::UINT32) || + (_dataType == PointCloudPacked::Field::FLOAT32)) + { + return 4; + } + else if (_dataType == PointCloudPacked::Field::FLOAT64) + { + return 8; + } + else + { + std::cerr << "PointCloudPacked::Field of type [" << _dataType + << "] does not exist" << std::endl; + } + return -1; +} +} +} + +#endif diff --git a/include/gz/msgs/Utility.hh b/include/gz/msgs/Utility.hh new file mode 100644 index 00000000..aa7298b6 --- /dev/null +++ b/include/gz/msgs/Utility.hh @@ -0,0 +1,500 @@ +/* + * Copyright (C) 2016 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ +#ifndef GZ_MSGS_UTILITY_HH_ +#define GZ_MSGS_UTILITY_HH_ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "gz/msgs/config.hh" +#include "gz/msgs/Export.hh" +#include "gz/msgs/MessageTypes.hh" + +/// \file Utility.hh +/// \brief Utility functions that support conversion between message type +/// and ignition math types. + +namespace ignition +{ + namespace msgs + { + // Inline bracket to help doxygen filtering. + inline namespace IGNITION_MSGS_VERSION_NAMESPACE { + // + /// \brief Convert a msgs::Vector3d to an ignition::math::Vector + /// \param[in] _v The vector to convert + /// \return An ignition::math::Vector3d object + IGNITION_MSGS_VISIBLE + ignition::math::Vector3d Convert(const msgs::Vector3d &_v); + + /// \brief Convert a msgs::Vector2d to an ignition::math::Vector2d + /// \param[in] _v The vector2 to convert + /// \return An ignition::math::Vector2d object + IGNITION_MSGS_VISIBLE + ignition::math::Vector2d Convert(const msgs::Vector2d &_v); + + /// \brief Convert a msgs::Quaternion to an ignition::math::Quaterniond + /// \param[in] _q The quaternion to convert + /// \return An ignition::math::Quaterniond object + IGNITION_MSGS_VISIBLE + ignition::math::Quaterniond Convert(const msgs::Quaternion &_q); + + /// \brief Convert a msgs::Pose to an ignition::math::Pose3d + /// \param[in] _p The pose to convert + /// \return An ignition::math::Pose3d object + IGNITION_MSGS_VISIBLE + ignition::math::Pose3d Convert(const msgs::Pose &_p); + + /// \brief Convert a msgs::Color to a math::Color + /// \param[in] _c The color to convert + /// \return A math::Color object + IGNITION_MSGS_VISIBLE + math::Color Convert(const msgs::Color &_c); + + /// \brief Convert a msgs::PlaneGeom to an ignition::math::Planed + /// \param[in] _p The plane to convert + /// \return An ignition::math::Planed object + IGNITION_MSGS_VISIBLE + ignition::math::Planed Convert(const msgs::PlaneGeom &_p); + + /// \brief Convert a msgs::Inertial to an ignition::math::Inertiald + /// \param[in] _i The inertial to convert + /// \return An ignition::math::Inertiald object + IGNITION_MSGS_VISIBLE + math::Inertiald Convert(const msgs::Inertial &_i); + + /// \brief Convert a msgs::SphericalCoordinates to an + /// ignition::math::SphericalCoordinates + /// \param[in] _coord The spherical coordinates to convert + /// \return An ignition::math::SphericalCoordinates object + IGNITION_MSGS_VISIBLE + math::SphericalCoordinates Convert( + const msgs::SphericalCoordinates &_coord); + + /// \brief Convert a msgs::AxisAlignedBox to an + /// ignition::math::AxisAlignedBox + /// \param[in] _b The axis aligned box to convert + /// \return An ignition::math::AxisAlignedBox object + IGNITION_MSGS_VISIBLE + math::AxisAlignedBox Convert(const msgs::AxisAlignedBox &_b); + + /// \brief Convert ignition::math::AxisAlignedBox to + /// msgs::AxisAlignedBox. + /// \param[in] _b The axis aligned box to convert + /// \return An ignition::math::AxisAlignedBox object + IGNITION_MSGS_VISIBLE + msgs::AxisAlignedBox Convert(const math::AxisAlignedBox &_b); + + /// \brief Convert a msgs::StringMsg to an std::string + /// \param[in] _m The message to convert + /// \return An std::string object + IGNITION_MSGS_VISIBLE + std::string Convert(const msgs::StringMsg &_m); + + /// \brief Convert a msgs::Boolean to a bool + /// \param[in] _m The message to convert + /// \return An bool object + IGNITION_MSGS_VISIBLE + bool Convert(const msgs::Boolean &_m); + + /// \brief Convert a msgs::Int32 to an int32_t + /// \param[in] _m The message to convert + /// \return An int32_t object + IGNITION_MSGS_VISIBLE + int32_t Convert(const msgs::Int32 &_m); + + /// \brief Convert a msgs::UInt32 to a uint32_t + /// \param[in] _m The message to convert + /// \return An uint32_t object + IGNITION_MSGS_VISIBLE + uint32_t Convert(const msgs::UInt32 &_m); + + /// \brief Convert a msgs::Int64 to an int64_t + /// \param[in] _m The message to convert + /// \return An int64_t object + IGNITION_MSGS_VISIBLE + int64_t Convert(const msgs::Int64 &_m); + + /// \brief Convert a msgs::UInt64 to a uint64_t + /// \param[in] _m The message to convert + /// \return An uint64_t object + IGNITION_MSGS_VISIBLE + uint64_t Convert(const msgs::UInt64 &_m); + + /// \brief Convert a msgs::Double to a double + /// \param[in] _m The message to convert + /// \return An double object + IGNITION_MSGS_VISIBLE + double Convert(const msgs::Double &_m); + + /// \brief Convert a msgs::Float to a float + /// \param[in] _m The message to convert + /// \return An float object + IGNITION_MSGS_VISIBLE + float Convert(const msgs::Float &_m); + + /// \brief Convert a msgs::Time to a std::chrono::steady_clock::duration + /// \param[in] _time The message to convert + /// \return A std::chrono::steady_clock::duration object + IGNITION_MSGS_VISIBLE + std::chrono::steady_clock::duration Convert(const msgs::Time &_time); + + /// \brief Convert a ignition::math::Vector3d to a msgs::Vector3d + /// \param[in] _v The vector to convert + /// \return A msgs::Vector3d object + IGNITION_MSGS_VISIBLE + msgs::Vector3d Convert(const ignition::math::Vector3d &_v); + + /// \brief Convert a ignition::math::Vector2d to a msgs::Vector2d + /// \param[in] _v The vector to convert + /// \return A msgs::Vector2d object + IGNITION_MSGS_VISIBLE + msgs::Vector2d Convert(const ignition::math::Vector2d &_v); + + /// \brief Convert a ignition::math::Quaterniond to a msgs::Quaternion + /// \param[in] _q The quaternion to convert + /// \return A msgs::Quaternion object + IGNITION_MSGS_VISIBLE + msgs::Quaternion Convert(const ignition::math::Quaterniond &_q); + + /// \brief Convert a ignition::math::Pose3d to a msgs::Pose + /// \param[in] _p The pose to convert + /// \return A msgs::Pose object + IGNITION_MSGS_VISIBLE + msgs::Pose Convert(const ignition::math::Pose3d &_p); + + /// \brief Convert a math::Color to a msgs::Color + /// \param[in] _c The color to convert + /// \return A msgs::Color object + IGNITION_MSGS_VISIBLE + msgs::Color Convert(const math::Color &_c); + + /// \brief Convert an math::Inertiald to a msgs::Inertial + /// \param[in] _i The Inertiald to convert + /// \return A msgs::Inertial object + IGNITION_MSGS_VISIBLE + msgs::Inertial Convert(const math::Inertiald &_i); + + /// \brief Convert an math::MassMatrix3d to a msgs::Inertial + /// \param[in] _m The MassMatrix3d to convert + /// \return A msgs::Inertial object + IGNITION_MSGS_VISIBLE + msgs::Inertial Convert(const math::MassMatrix3d &_m); + + /// \brief Convert an math::SphericalCoordinates to a + /// msgs::SphericalCoordinates + /// \param[in] _coord The SphericalCoordinates to convert + /// \return A msgs::SphericalCoordinates object + IGNITION_MSGS_VISIBLE + msgs::SphericalCoordinates Convert( + const math::SphericalCoordinates &_coord); + + /// \brief Convert a ignition::math::Planed to a msgs::PlaneGeom + /// \param[in] _p The plane to convert + /// \return A msgs::PlaneGeom object + IGNITION_MSGS_VISIBLE + msgs::PlaneGeom Convert(const ignition::math::Planed &_p); + + /// \brief Convert an std::string to a msgs::StringMsg + /// \param[in] _s The string to convert + /// \return A msgs::StringMsg object + IGNITION_MSGS_VISIBLE + msgs::StringMsg Convert(const std::string &_s); + + /// \brief Convert a bool to a msgs::Boolean + /// \param[in] _b The bool to convert + /// \return A msgs::Boolean object + IGNITION_MSGS_VISIBLE + msgs::Boolean Convert(const bool &_b); + + /// \brief Convert an int32_t to a msgs::Int32 + /// \param[in] _i The int32_t to convert + /// \return A msgs::Int32 object + IGNITION_MSGS_VISIBLE + msgs::Int32 Convert(const int32_t &_i); + + /// \brief Convert a uint32_t to a msgs::UInt32 + /// \param[in] _u The uint32_t to convert + /// \return A msgs::UInt32 object + IGNITION_MSGS_VISIBLE + msgs::UInt32 Convert(const uint32_t &_u); + + /// \brief Convert an int64_t to a msgs::Int64 + /// \param[in] _i The int64_t to convert + /// \return A msgs::Int64 object + IGNITION_MSGS_VISIBLE + msgs::Int64 Convert(const int64_t &_i); + + /// \brief Convert a uint64_t to a msgs::UInt64 + /// \param[in] _u The uint64_t to convert + /// \return A msgs::UInt64 object + IGNITION_MSGS_VISIBLE + msgs::UInt64 Convert(const uint64_t &_u); + + /// \brief Convert a double to a msgs::Double + /// \param[in] _d The double to convert + /// \return A msgs::Double object + IGNITION_MSGS_VISIBLE + msgs::Double Convert(const double &_d); + + /// \brief Convert a float to a msgs::Float + /// \param[in] _f The float to convert + /// \return A msgs::Float object + IGNITION_MSGS_VISIBLE + msgs::Float Convert(const float &_f); + + /// \brief Convert a std::chrono::steady_clock::duration to a msgs::Time + /// \param[in] _time_point The std::chrono::system_clock::duration to + /// convert + /// \return A msgs::Time object + IGNITION_MSGS_VISIBLE + msgs::Time Convert( + const std::chrono::steady_clock::duration &_time_point); + + /// \brief Convert a string to a msgs::Joint::Type enum. + /// \param[in] _str Joint type string. + /// \return A msgs::Joint::Type enum. Defaults to REVOLUTE + /// if _str is unrecognized. + IGNITION_MSGS_VISIBLE + msgs::Joint::Type ConvertJointType(const std::string &_str); + + /// \brief Convert a msgs::Joint::Type to a string. + /// \param[in] _type A msgs::Joint::Type enum. + /// \return Joint type string. Returns "unknown" if + /// _type is unrecognized. + IGNITION_MSGS_VISIBLE + std::string ConvertJointType(const msgs::Joint::Type &_type); + + /// \brief Convert a string to a msgs::Geometry::Type enum. + /// \param[in] _str Geometry type string. + /// \return A msgs::Geometry::Type enum. + IGNITION_MSGS_VISIBLE + msgs::Geometry::Type ConvertGeometryType(const std::string &_str); + + /// \brief Convert a msgs::Geometry::Type to a string. + /// \param[in] _type A msgs::Geometry::Type enum. + /// \return Geometry type string. + IGNITION_MSGS_VISIBLE + std::string ConvertGeometryType(const msgs::Geometry::Type _type); + + /// \brief Convert a string to a msgs::PixelFormatType enum. + /// \param[in] _str PixelFormatType string. + /// \return A msgs::PixelFormatType enum. + IGNITION_MSGS_VISIBLE + msgs::PixelFormatType ConvertPixelFormatType(const std::string &_str); + + /// \brief Convert a PixelFormatType to a string. This can be used for + /// debugging purposes. + // \param[in] _t PixelFormatType enum value. + /// \return String version of PixelFormatType. + IGNITION_MSGS_VISIBLE + std::string ConvertPixelFormatType(const msgs::PixelFormatType &_t); + + /// \brief Convert a string to a msgs::Material::ShaderType enum. + /// \param[in] _str Shader type string. + /// \return A msgs::Material::ShaderType enum. Defaults to VERTEX + /// if _str is unrecognized. + IGNITION_MSGS_VISIBLE + msgs::Material::ShaderType ConvertShaderType(const std::string &_str); + + /// \brief Convert a msgs::ShaderType to a string. + /// \param[in] _type A msgs::ShaderType enum. + /// \return Shader type string. Returns "unknown" if + /// _type is unrecognized. + IGNITION_MSGS_VISIBLE + std::string ConvertShaderType(const msgs::Material::ShaderType &_type); + + /// \brief Set a msgs::Vector3d from an ignition::math::Vector3d + /// \param[out] _pt A msgs::Vector3d pointer + /// \param[in] _v An ignition::math::Vector3d reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Vector3d *_pt, const ignition::math::Vector3d &_v); + + /// \brief Set a msgs::Vector2d from an ignition::math::Vector2d + /// \param[out] _pt A msgs::Vector2d pointer + /// \param[in] _v An ignition::math::Vector2d reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Vector2d *_pt, const ignition::math::Vector2d &_v); + + /// \brief Set a msgs::Quaternion from an ignition::math::Quaterniond + /// \param[out] _q A msgs::Quaternion pointer + /// \param[in] _v An ignition::math::Quaterniond reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Quaternion *_q, const ignition::math::Quaterniond &_v); + + /// \brief Set a msgs::Pose from an ignition::math::Pose3d + /// \param[out] _p A msgs::Pose pointer + /// \param[in] _v An ignition::math::Pose3d reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Pose *_p, const ignition::math::Pose3d &_v); + + /// \brief Set a msgs::Color from a math::Color + /// \param[out] _c A msgs::Color pointer + /// \param[in] _v A math::Color reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Color *_c, const math::Color &_v); + + /// \brief Set a msgs::Inertial from an math::Inertiald + /// \param[out] _i A msgs::Inertial pointer + /// \param[in] _m An math::Inertiald reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Inertial *_i, const math::Inertiald &_m); + + /// \brief Set a msgs::Inertial from an math::MassMatrix3d + /// \param[out] _i A msgs::Inertial pointer + /// \param[in] _m An math::MassMatrix3d reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Inertial *_i, const math::MassMatrix3d &_m); + + /// \brief Set a msgs::SphericalCoordinates from a + /// math::SphericalCoordinates + /// \param[out] _sc A msgs::SphericalCoordinates pointer + /// \param[in] _m An math::SphericalCoordinates reference + IGNITION_MSGS_VISIBLE + void Set(msgs::SphericalCoordinates *_sc, + const math::SphericalCoordinates &_m); + + /// \brief Set a msgs::Plane from an ignition::math::Planed + /// \param[out] _p A msgs::Plane pointer + /// \param[in] _v An ignition::math::Planed reference + IGNITION_MSGS_VISIBLE + void Set(msgs::PlaneGeom *_p, const ignition::math::Planed &_v); + + /// \brief Set a msgs::StringMsg from an std::string + /// \param[out] _p A msgs::StringMsg pointer + /// \param[in] _v An std::string reference + IGNITION_MSGS_VISIBLE + void Set(msgs::StringMsg *_p, const std::string &_v); + + /// \brief Set a msgs::Boolean from a bool + /// \param[out] _p A msgs::Boolean pointer + /// \param[in] _v An bool reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Boolean *_p, const bool &_v); + + /// \brief Set a msgs::Int32 from an int32_t + /// \param[out] _p A msgs::Int32 pointer + /// \param[in] _v An int32_t reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Int32 *_p, const int32_t &_v); + + /// \brief Set a msgs::UInt32 from a uint32_t + /// \param[out] _p A msgs::UInt32 pointer + /// \param[in] _v An uint32_t reference + IGNITION_MSGS_VISIBLE + void Set(msgs::UInt32 *_p, const uint32_t &_v); + + /// \brief Set a msgs::Int64 from an int64_t + /// \param[out] _p A msgs::Int64 pointer + /// \param[in] _v An int64_t reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Int64 *_p, const int64_t &_v); + + /// \brief Set a msgs::UInt64 from an uint64_t + /// \param[out] _p A msgs::UInt64 pointer + /// \param[in] _v An uint64_t reference + IGNITION_MSGS_VISIBLE + void Set(msgs::UInt64 *_p, const uint64_t &_v); + + /// \brief Set a msgs::Double from a double + /// \param[out] _p A msgs::Double pointer + /// \param[in] _v An double reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Double *_p, const double &_v); + + /// \brief Set a msgs::Float from a float + /// \param[out] _p A msgs::Float pointer + /// \param[in] _v An float reference + IGNITION_MSGS_VISIBLE + void Set(msgs::Float *_p, const float &_v); + + /// \brief Set a msgs::AxisAlignedBox from a math::AxisAlignedBox + /// \param[out] _b A msgs::AxisAlignedBox pointer + /// \param[in] _v An math::AxisAlignedBox reference + IGNITION_MSGS_VISIBLE + void Set(msgs::AxisAlignedBox *_b, const math::AxisAlignedBox &_v); + + /// \brief This function will set the header and field members of + /// a PointCloudPacked message. This will clear existing values in the + /// PointCloudPacked field and header. + /// \param[out] _msg The message to initialize. + /// \param[in] _frameId Name of the "frame_id". This will be stored as + /// key = "frame_id", value = _frameId in the message header. + /// \param[in] _memoryAligned If true, then each pair in the _fields + /// vector will be aligned at word (sizeof(size_t)) boundaries. + /// Additionally, the `point_step` of the _msg will be set to the + /// nearest word boundary. + /// \param[in] _fields The fields to add to the message. The following + /// strings are reserved, and will generate a set of fields + /// automatically. + /// + /// * "xyz" : This will add the "x", "y", and "z" fields. + IGNITION_MSGS_VISIBLE + void InitPointCloudPacked(msgs::PointCloudPacked &_msg, + const std::string &_frameId, bool _memoryAligned, + const std::vector> &_fields); + + /// \brief Convert a Discovery::Type to a string. This can be used for + /// debugging purposes. + // \param[in] _t Type of the discovery message. + /// \return String version of Discovery::Type. + IGNITION_MSGS_VISIBLE + std::string ToString(const msgs::Discovery::Type &_t); + + /// \brief Convert the contents of a model.config file, in the form of + /// an XML string, to a FuelMetadata message. + /// + /// Only the latest versioned model is added to the meta data message. + /// + /// The `` and `` tags are ignored. + /// + /// \param[in] _modelConfigStr A string containing XML data that matches + /// the model.config format. + /// \param[out] _meta The message that receives the converted data. + /// \return True if the conversion was successful. + IGNITION_MSGS_VISIBLE + bool ConvertFuelMetadata(const std::string &_modelConfigStr, + msgs::FuelMetadata &_meta); + + /// \brief Convert a FuelMetadata message to a string containing XML + /// data that matches the model.config format. + /// + /// The model.config format contains only a subset of the information in + /// a metadata message. The extra information in the metadata message is + /// discarded. + /// + /// \param[in] _meta The FuelMetadata message to convert. + /// \param[out] _modelConfigStr XML string containing the converted + /// message data. + /// \return True if the conversion was successful. + IGNITION_MSGS_VISIBLE + bool ConvertFuelMetadata(const msgs::FuelMetadata &_meta, + std::string &_modelConfigStr); + } + } +} +#endif diff --git a/include/gz/msgs/actor.pb.h b/include/gz/msgs/actor.pb.h new file mode 100644 index 00000000..b19df7dd --- /dev/null +++ b/include/gz/msgs/actor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/actuators.pb.h b/include/gz/msgs/actuators.pb.h new file mode 100644 index 00000000..93915000 --- /dev/null +++ b/include/gz/msgs/actuators.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/air_pressure_sensor.pb.h b/include/gz/msgs/air_pressure_sensor.pb.h new file mode 100644 index 00000000..584ca552 --- /dev/null +++ b/include/gz/msgs/air_pressure_sensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/altimeter.pb.h b/include/gz/msgs/altimeter.pb.h new file mode 100644 index 00000000..b1e13c75 --- /dev/null +++ b/include/gz/msgs/altimeter.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/altimeter_sensor.pb.h b/include/gz/msgs/altimeter_sensor.pb.h new file mode 100644 index 00000000..a57acf90 --- /dev/null +++ b/include/gz/msgs/altimeter_sensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/annotated_axis_aligned_2d_box.pb.h b/include/gz/msgs/annotated_axis_aligned_2d_box.pb.h new file mode 100644 index 00000000..246e9ffe --- /dev/null +++ b/include/gz/msgs/annotated_axis_aligned_2d_box.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/annotated_axis_aligned_2d_box_v.pb.h b/include/gz/msgs/annotated_axis_aligned_2d_box_v.pb.h new file mode 100644 index 00000000..12d689a6 --- /dev/null +++ b/include/gz/msgs/annotated_axis_aligned_2d_box_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/annotated_oriented_3d_box.pb.h b/include/gz/msgs/annotated_oriented_3d_box.pb.h new file mode 100644 index 00000000..131e3daf --- /dev/null +++ b/include/gz/msgs/annotated_oriented_3d_box.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/annotated_oriented_3d_box_v.pb.h b/include/gz/msgs/annotated_oriented_3d_box_v.pb.h new file mode 100644 index 00000000..ef9adb3c --- /dev/null +++ b/include/gz/msgs/annotated_oriented_3d_box_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/any.pb.h b/include/gz/msgs/any.pb.h new file mode 100644 index 00000000..98b93da5 --- /dev/null +++ b/include/gz/msgs/any.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/atmosphere.pb.h b/include/gz/msgs/atmosphere.pb.h new file mode 100644 index 00000000..4cda3037 --- /dev/null +++ b/include/gz/msgs/atmosphere.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/axis.pb.h b/include/gz/msgs/axis.pb.h new file mode 100644 index 00000000..bac92daf --- /dev/null +++ b/include/gz/msgs/axis.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/axis_aligned_2d_box.pb.h b/include/gz/msgs/axis_aligned_2d_box.pb.h new file mode 100644 index 00000000..cd5a11eb --- /dev/null +++ b/include/gz/msgs/axis_aligned_2d_box.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/axis_aligned_box.pb.h b/include/gz/msgs/axis_aligned_box.pb.h new file mode 100644 index 00000000..785b9879 --- /dev/null +++ b/include/gz/msgs/axis_aligned_box.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/battery.pb.h b/include/gz/msgs/battery.pb.h new file mode 100644 index 00000000..94ef9f05 --- /dev/null +++ b/include/gz/msgs/battery.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/battery_state.pb.h b/include/gz/msgs/battery_state.pb.h new file mode 100644 index 00000000..decf40b7 --- /dev/null +++ b/include/gz/msgs/battery_state.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/boolean.pb.h b/include/gz/msgs/boolean.pb.h new file mode 100644 index 00000000..6d54a288 --- /dev/null +++ b/include/gz/msgs/boolean.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/boxgeom.pb.h b/include/gz/msgs/boxgeom.pb.h new file mode 100644 index 00000000..df59a427 --- /dev/null +++ b/include/gz/msgs/boxgeom.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/bytes.pb.h b/include/gz/msgs/bytes.pb.h new file mode 100644 index 00000000..1bcf9a0a --- /dev/null +++ b/include/gz/msgs/bytes.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/camera_cmd.pb.h b/include/gz/msgs/camera_cmd.pb.h new file mode 100644 index 00000000..e2f531d0 --- /dev/null +++ b/include/gz/msgs/camera_cmd.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/camera_info.pb.h b/include/gz/msgs/camera_info.pb.h new file mode 100644 index 00000000..18a9c73e --- /dev/null +++ b/include/gz/msgs/camera_info.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/camera_lens.pb.h b/include/gz/msgs/camera_lens.pb.h new file mode 100644 index 00000000..d432fcb9 --- /dev/null +++ b/include/gz/msgs/camera_lens.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/camerasensor.pb.h b/include/gz/msgs/camerasensor.pb.h new file mode 100644 index 00000000..d9ebecf3 --- /dev/null +++ b/include/gz/msgs/camerasensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/capsulegeom.pb.h b/include/gz/msgs/capsulegeom.pb.h new file mode 100644 index 00000000..ee0bfaa7 --- /dev/null +++ b/include/gz/msgs/capsulegeom.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/cessna.pb.h b/include/gz/msgs/cessna.pb.h new file mode 100644 index 00000000..9f06685c --- /dev/null +++ b/include/gz/msgs/cessna.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/clock.pb.h b/include/gz/msgs/clock.pb.h new file mode 100644 index 00000000..3933b3cb --- /dev/null +++ b/include/gz/msgs/clock.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/cmd_vel2d.pb.h b/include/gz/msgs/cmd_vel2d.pb.h new file mode 100644 index 00000000..750d9785 --- /dev/null +++ b/include/gz/msgs/cmd_vel2d.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/collision.pb.h b/include/gz/msgs/collision.pb.h new file mode 100644 index 00000000..19792d61 --- /dev/null +++ b/include/gz/msgs/collision.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/color.pb.h b/include/gz/msgs/color.pb.h new file mode 100644 index 00000000..35e92f8b --- /dev/null +++ b/include/gz/msgs/color.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/conegeom.pb.h b/include/gz/msgs/conegeom.pb.h new file mode 100644 index 00000000..dd560ff4 --- /dev/null +++ b/include/gz/msgs/conegeom.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/ignition/msgs/config.hh.in b/include/gz/msgs/config.hh.in similarity index 100% rename from include/ignition/msgs/config.hh.in rename to include/gz/msgs/config.hh.in diff --git a/include/gz/msgs/contact.pb.h b/include/gz/msgs/contact.pb.h new file mode 100644 index 00000000..0c9ae1a4 --- /dev/null +++ b/include/gz/msgs/contact.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/contacts.pb.h b/include/gz/msgs/contacts.pb.h new file mode 100644 index 00000000..74c83515 --- /dev/null +++ b/include/gz/msgs/contacts.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/contactsensor.pb.h b/include/gz/msgs/contactsensor.pb.h new file mode 100644 index 00000000..86600451 --- /dev/null +++ b/include/gz/msgs/contactsensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/cylindergeom.pb.h b/include/gz/msgs/cylindergeom.pb.h new file mode 100644 index 00000000..8d207874 --- /dev/null +++ b/include/gz/msgs/cylindergeom.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/dataframe.pb.h b/include/gz/msgs/dataframe.pb.h new file mode 100644 index 00000000..7b47fd1c --- /dev/null +++ b/include/gz/msgs/dataframe.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/density.pb.h b/include/gz/msgs/density.pb.h new file mode 100644 index 00000000..f2bc1ea7 --- /dev/null +++ b/include/gz/msgs/density.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/ignition/msgs/detail/PointCloudPackedUtils.hh b/include/gz/msgs/detail/PointCloudPackedUtils.hh similarity index 98% rename from include/ignition/msgs/detail/PointCloudPackedUtils.hh rename to include/gz/msgs/detail/PointCloudPackedUtils.hh index f810b2a5..59fadebd 100644 --- a/include/ignition/msgs/detail/PointCloudPackedUtils.hh +++ b/include/gz/msgs/detail/PointCloudPackedUtils.hh @@ -18,15 +18,15 @@ // Inspired by // https://github.com/ros/common_msgs/blob/275b09a/sensor_msgs/include/sensor_msgs/point_cloud2_iterator.h -#ifndef IGNITION_MSGS_DETAIL_POINTCLOUDPACKEDUTILS_HH_ -#define IGNITION_MSGS_DETAIL_POINTCLOUDPACKEDUTILS_HH_ +#ifndef GZ_MSGS_DETAIL_POINTCLOUDPACKEDUTILS_HH_ +#define GZ_MSGS_DETAIL_POINTCLOUDPACKEDUTILS_HH_ -#include +#include #include #include -#include "ignition/msgs/config.hh" +#include "gz/msgs/config.hh" namespace ignition { diff --git a/include/gz/msgs/diagnostics.pb.h b/include/gz/msgs/diagnostics.pb.h new file mode 100644 index 00000000..0355413f --- /dev/null +++ b/include/gz/msgs/diagnostics.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/discovery.pb.h b/include/gz/msgs/discovery.pb.h new file mode 100644 index 00000000..e3cac389 --- /dev/null +++ b/include/gz/msgs/discovery.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/distortion.pb.h b/include/gz/msgs/distortion.pb.h new file mode 100644 index 00000000..1f3398b6 --- /dev/null +++ b/include/gz/msgs/distortion.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/double.pb.h b/include/gz/msgs/double.pb.h new file mode 100644 index 00000000..89332fdb --- /dev/null +++ b/include/gz/msgs/double.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/double_v.pb.h b/include/gz/msgs/double_v.pb.h new file mode 100644 index 00000000..65a5017b --- /dev/null +++ b/include/gz/msgs/double_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/duration.pb.h b/include/gz/msgs/duration.pb.h new file mode 100644 index 00000000..c7e46dd1 --- /dev/null +++ b/include/gz/msgs/duration.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/ellipsoidgeom.pb.h b/include/gz/msgs/ellipsoidgeom.pb.h new file mode 100644 index 00000000..3af820c9 --- /dev/null +++ b/include/gz/msgs/ellipsoidgeom.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/empty.pb.h b/include/gz/msgs/empty.pb.h new file mode 100644 index 00000000..1af4b5da --- /dev/null +++ b/include/gz/msgs/empty.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/entity.pb.h b/include/gz/msgs/entity.pb.h new file mode 100644 index 00000000..4689a10b --- /dev/null +++ b/include/gz/msgs/entity.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/entity_factory.pb.h b/include/gz/msgs/entity_factory.pb.h new file mode 100644 index 00000000..c7b9a3c7 --- /dev/null +++ b/include/gz/msgs/entity_factory.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/entity_factory_v.pb.h b/include/gz/msgs/entity_factory_v.pb.h new file mode 100644 index 00000000..ba61e50d --- /dev/null +++ b/include/gz/msgs/entity_factory_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/float.pb.h b/include/gz/msgs/float.pb.h new file mode 100644 index 00000000..43b37705 --- /dev/null +++ b/include/gz/msgs/float.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/float_v.pb.h b/include/gz/msgs/float_v.pb.h new file mode 100644 index 00000000..6fa65ac9 --- /dev/null +++ b/include/gz/msgs/float_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/fluid.pb.h b/include/gz/msgs/fluid.pb.h new file mode 100644 index 00000000..8049f521 --- /dev/null +++ b/include/gz/msgs/fluid.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/fluid_pressure.pb.h b/include/gz/msgs/fluid_pressure.pb.h new file mode 100644 index 00000000..bb1f8c79 --- /dev/null +++ b/include/gz/msgs/fluid_pressure.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/fog.pb.h b/include/gz/msgs/fog.pb.h new file mode 100644 index 00000000..1b6a2ac5 --- /dev/null +++ b/include/gz/msgs/fog.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/friction.pb.h b/include/gz/msgs/friction.pb.h new file mode 100644 index 00000000..51423290 --- /dev/null +++ b/include/gz/msgs/friction.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/fuel_metadata.pb.h b/include/gz/msgs/fuel_metadata.pb.h new file mode 100644 index 00000000..9c7ac42c --- /dev/null +++ b/include/gz/msgs/fuel_metadata.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/geometry.pb.h b/include/gz/msgs/geometry.pb.h new file mode 100644 index 00000000..03439cf9 --- /dev/null +++ b/include/gz/msgs/geometry.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/gps.pb.h b/include/gz/msgs/gps.pb.h new file mode 100644 index 00000000..6eb5b456 --- /dev/null +++ b/include/gz/msgs/gps.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/gps_sensor.pb.h b/include/gz/msgs/gps_sensor.pb.h new file mode 100644 index 00000000..f4e755d9 --- /dev/null +++ b/include/gz/msgs/gps_sensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/gui.pb.h b/include/gz/msgs/gui.pb.h new file mode 100644 index 00000000..3b747c91 --- /dev/null +++ b/include/gz/msgs/gui.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/gui_camera.pb.h b/include/gz/msgs/gui_camera.pb.h new file mode 100644 index 00000000..d464a501 --- /dev/null +++ b/include/gz/msgs/gui_camera.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/header.pb.h b/include/gz/msgs/header.pb.h new file mode 100644 index 00000000..d52e22f0 --- /dev/null +++ b/include/gz/msgs/header.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/heightmapgeom.pb.h b/include/gz/msgs/heightmapgeom.pb.h new file mode 100644 index 00000000..bde839c0 --- /dev/null +++ b/include/gz/msgs/heightmapgeom.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/hydra.pb.h b/include/gz/msgs/hydra.pb.h new file mode 100644 index 00000000..67ba641f --- /dev/null +++ b/include/gz/msgs/hydra.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/image.pb.h b/include/gz/msgs/image.pb.h new file mode 100644 index 00000000..3dea8353 --- /dev/null +++ b/include/gz/msgs/image.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/imagegeom.pb.h b/include/gz/msgs/imagegeom.pb.h new file mode 100644 index 00000000..1ed9307d --- /dev/null +++ b/include/gz/msgs/imagegeom.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/imu.pb.h b/include/gz/msgs/imu.pb.h new file mode 100644 index 00000000..eaf498f0 --- /dev/null +++ b/include/gz/msgs/imu.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/imu_sensor.pb.h b/include/gz/msgs/imu_sensor.pb.h new file mode 100644 index 00000000..4f3cbcd3 --- /dev/null +++ b/include/gz/msgs/imu_sensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/inertial.pb.h b/include/gz/msgs/inertial.pb.h new file mode 100644 index 00000000..4e92c83f --- /dev/null +++ b/include/gz/msgs/inertial.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/int32.pb.h b/include/gz/msgs/int32.pb.h new file mode 100644 index 00000000..c124959b --- /dev/null +++ b/include/gz/msgs/int32.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/int32_v.pb.h b/include/gz/msgs/int32_v.pb.h new file mode 100644 index 00000000..e1865417 --- /dev/null +++ b/include/gz/msgs/int32_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/int64.pb.h b/include/gz/msgs/int64.pb.h new file mode 100644 index 00000000..cccea418 --- /dev/null +++ b/include/gz/msgs/int64.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/int64_v.pb.h b/include/gz/msgs/int64_v.pb.h new file mode 100644 index 00000000..cfa37411 --- /dev/null +++ b/include/gz/msgs/int64_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/joint.pb.h b/include/gz/msgs/joint.pb.h new file mode 100644 index 00000000..ab99b270 --- /dev/null +++ b/include/gz/msgs/joint.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/joint_animation.pb.h b/include/gz/msgs/joint_animation.pb.h new file mode 100644 index 00000000..f186c197 --- /dev/null +++ b/include/gz/msgs/joint_animation.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/joint_cmd.pb.h b/include/gz/msgs/joint_cmd.pb.h new file mode 100644 index 00000000..9b066376 --- /dev/null +++ b/include/gz/msgs/joint_cmd.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/joint_trajectory.pb.h b/include/gz/msgs/joint_trajectory.pb.h new file mode 100644 index 00000000..bf8624e1 --- /dev/null +++ b/include/gz/msgs/joint_trajectory.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/joint_trajectory_point.pb.h b/include/gz/msgs/joint_trajectory_point.pb.h new file mode 100644 index 00000000..ee1a6c73 --- /dev/null +++ b/include/gz/msgs/joint_trajectory_point.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/joint_wrench.pb.h b/include/gz/msgs/joint_wrench.pb.h new file mode 100644 index 00000000..5e0eee0d --- /dev/null +++ b/include/gz/msgs/joint_wrench.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/joy.pb.h b/include/gz/msgs/joy.pb.h new file mode 100644 index 00000000..b908e805 --- /dev/null +++ b/include/gz/msgs/joy.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/joystick.pb.h b/include/gz/msgs/joystick.pb.h new file mode 100644 index 00000000..b76ba93c --- /dev/null +++ b/include/gz/msgs/joystick.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/laserscan.pb.h b/include/gz/msgs/laserscan.pb.h new file mode 100644 index 00000000..08ce0d91 --- /dev/null +++ b/include/gz/msgs/laserscan.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/lidar_sensor.pb.h b/include/gz/msgs/lidar_sensor.pb.h new file mode 100644 index 00000000..014455f9 --- /dev/null +++ b/include/gz/msgs/lidar_sensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/light.pb.h b/include/gz/msgs/light.pb.h new file mode 100644 index 00000000..3ed34ef8 --- /dev/null +++ b/include/gz/msgs/light.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/link.pb.h b/include/gz/msgs/link.pb.h new file mode 100644 index 00000000..fd00c53f --- /dev/null +++ b/include/gz/msgs/link.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/link_data.pb.h b/include/gz/msgs/link_data.pb.h new file mode 100644 index 00000000..de348cbf --- /dev/null +++ b/include/gz/msgs/link_data.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/log_control.pb.h b/include/gz/msgs/log_control.pb.h new file mode 100644 index 00000000..9a40ce49 --- /dev/null +++ b/include/gz/msgs/log_control.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/log_playback_control.pb.h b/include/gz/msgs/log_playback_control.pb.h new file mode 100644 index 00000000..802fed3f --- /dev/null +++ b/include/gz/msgs/log_playback_control.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/log_playback_stats.pb.h b/include/gz/msgs/log_playback_stats.pb.h new file mode 100644 index 00000000..a5b41460 --- /dev/null +++ b/include/gz/msgs/log_playback_stats.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/log_status.pb.h b/include/gz/msgs/log_status.pb.h new file mode 100644 index 00000000..9e21ad59 --- /dev/null +++ b/include/gz/msgs/log_status.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/logical_camera_image.pb.h b/include/gz/msgs/logical_camera_image.pb.h new file mode 100644 index 00000000..97967109 --- /dev/null +++ b/include/gz/msgs/logical_camera_image.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/logical_camera_sensor.pb.h b/include/gz/msgs/logical_camera_sensor.pb.h new file mode 100644 index 00000000..ebc84a03 --- /dev/null +++ b/include/gz/msgs/logical_camera_sensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/magnetometer.pb.h b/include/gz/msgs/magnetometer.pb.h new file mode 100644 index 00000000..447b779e --- /dev/null +++ b/include/gz/msgs/magnetometer.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/magnetometer_sensor.pb.h b/include/gz/msgs/magnetometer_sensor.pb.h new file mode 100644 index 00000000..939543ec --- /dev/null +++ b/include/gz/msgs/magnetometer_sensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/marker.pb.h b/include/gz/msgs/marker.pb.h new file mode 100644 index 00000000..33cee472 --- /dev/null +++ b/include/gz/msgs/marker.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/marker_v.pb.h b/include/gz/msgs/marker_v.pb.h new file mode 100644 index 00000000..ef6d6ac4 --- /dev/null +++ b/include/gz/msgs/marker_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/material.pb.h b/include/gz/msgs/material.pb.h new file mode 100644 index 00000000..258ee711 --- /dev/null +++ b/include/gz/msgs/material.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/meshgeom.pb.h b/include/gz/msgs/meshgeom.pb.h new file mode 100644 index 00000000..88f71f0b --- /dev/null +++ b/include/gz/msgs/meshgeom.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/model.pb.h b/include/gz/msgs/model.pb.h new file mode 100644 index 00000000..cd48f9b1 --- /dev/null +++ b/include/gz/msgs/model.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/model_configuration.pb.h b/include/gz/msgs/model_configuration.pb.h new file mode 100644 index 00000000..0f47edcc --- /dev/null +++ b/include/gz/msgs/model_configuration.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/model_v.pb.h b/include/gz/msgs/model_v.pb.h new file mode 100644 index 00000000..a8895ddf --- /dev/null +++ b/include/gz/msgs/model_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/navsat.pb.h b/include/gz/msgs/navsat.pb.h new file mode 100644 index 00000000..c663f4ec --- /dev/null +++ b/include/gz/msgs/navsat.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/navsat_sensor.pb.h b/include/gz/msgs/navsat_sensor.pb.h new file mode 100644 index 00000000..d3e08cdb --- /dev/null +++ b/include/gz/msgs/navsat_sensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/occupancy_grid.pb.h b/include/gz/msgs/occupancy_grid.pb.h new file mode 100644 index 00000000..ed50a268 --- /dev/null +++ b/include/gz/msgs/occupancy_grid.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/odometry.pb.h b/include/gz/msgs/odometry.pb.h new file mode 100644 index 00000000..4091a249 --- /dev/null +++ b/include/gz/msgs/odometry.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/odometry_with_covariance.pb.h b/include/gz/msgs/odometry_with_covariance.pb.h new file mode 100644 index 00000000..42902304 --- /dev/null +++ b/include/gz/msgs/odometry_with_covariance.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/oriented_3d_box.pb.h b/include/gz/msgs/oriented_3d_box.pb.h new file mode 100644 index 00000000..727a0132 --- /dev/null +++ b/include/gz/msgs/oriented_3d_box.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/packet.pb.h b/include/gz/msgs/packet.pb.h new file mode 100644 index 00000000..a1e6ac13 --- /dev/null +++ b/include/gz/msgs/packet.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/param.pb.h b/include/gz/msgs/param.pb.h new file mode 100644 index 00000000..14117aeb --- /dev/null +++ b/include/gz/msgs/param.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/param_v.pb.h b/include/gz/msgs/param_v.pb.h new file mode 100644 index 00000000..60f9b9c1 --- /dev/null +++ b/include/gz/msgs/param_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/particle_emitter.pb.h b/include/gz/msgs/particle_emitter.pb.h new file mode 100644 index 00000000..9a3d53a0 --- /dev/null +++ b/include/gz/msgs/particle_emitter.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/particle_emitter_v.pb.h b/include/gz/msgs/particle_emitter_v.pb.h new file mode 100644 index 00000000..0f570d6a --- /dev/null +++ b/include/gz/msgs/particle_emitter_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/performance_sensor_metrics.pb.h b/include/gz/msgs/performance_sensor_metrics.pb.h new file mode 100644 index 00000000..96c41786 --- /dev/null +++ b/include/gz/msgs/performance_sensor_metrics.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/physics.pb.h b/include/gz/msgs/physics.pb.h new file mode 100644 index 00000000..612c0479 --- /dev/null +++ b/include/gz/msgs/physics.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/pid.pb.h b/include/gz/msgs/pid.pb.h new file mode 100644 index 00000000..04f7f9e6 --- /dev/null +++ b/include/gz/msgs/pid.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/planegeom.pb.h b/include/gz/msgs/planegeom.pb.h new file mode 100644 index 00000000..e27034ed --- /dev/null +++ b/include/gz/msgs/planegeom.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/plugin.pb.h b/include/gz/msgs/plugin.pb.h new file mode 100644 index 00000000..bb79839a --- /dev/null +++ b/include/gz/msgs/plugin.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/plugin_v.pb.h b/include/gz/msgs/plugin_v.pb.h new file mode 100644 index 00000000..f64ba858 --- /dev/null +++ b/include/gz/msgs/plugin_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/pointcloud.pb.h b/include/gz/msgs/pointcloud.pb.h new file mode 100644 index 00000000..46f090dc --- /dev/null +++ b/include/gz/msgs/pointcloud.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/pointcloud_packed.pb.h b/include/gz/msgs/pointcloud_packed.pb.h new file mode 100644 index 00000000..1979c787 --- /dev/null +++ b/include/gz/msgs/pointcloud_packed.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/polylinegeom.pb.h b/include/gz/msgs/polylinegeom.pb.h new file mode 100644 index 00000000..8cc32b9a --- /dev/null +++ b/include/gz/msgs/polylinegeom.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/pose.pb.h b/include/gz/msgs/pose.pb.h new file mode 100644 index 00000000..f6df1562 --- /dev/null +++ b/include/gz/msgs/pose.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/pose_animation.pb.h b/include/gz/msgs/pose_animation.pb.h new file mode 100644 index 00000000..271a8239 --- /dev/null +++ b/include/gz/msgs/pose_animation.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/pose_trajectory.pb.h b/include/gz/msgs/pose_trajectory.pb.h new file mode 100644 index 00000000..8a9df010 --- /dev/null +++ b/include/gz/msgs/pose_trajectory.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/pose_v.pb.h b/include/gz/msgs/pose_v.pb.h new file mode 100644 index 00000000..90f84755 --- /dev/null +++ b/include/gz/msgs/pose_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/pose_with_covariance.pb.h b/include/gz/msgs/pose_with_covariance.pb.h new file mode 100644 index 00000000..75352087 --- /dev/null +++ b/include/gz/msgs/pose_with_covariance.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/projector.pb.h b/include/gz/msgs/projector.pb.h new file mode 100644 index 00000000..0aefe04c --- /dev/null +++ b/include/gz/msgs/projector.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/propagation_grid.pb.h b/include/gz/msgs/propagation_grid.pb.h new file mode 100644 index 00000000..0b3641f4 --- /dev/null +++ b/include/gz/msgs/propagation_grid.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/propagation_particle.pb.h b/include/gz/msgs/propagation_particle.pb.h new file mode 100644 index 00000000..90abd319 --- /dev/null +++ b/include/gz/msgs/propagation_particle.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/publish.pb.h b/include/gz/msgs/publish.pb.h new file mode 100644 index 00000000..22812a7b --- /dev/null +++ b/include/gz/msgs/publish.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/publishers.pb.h b/include/gz/msgs/publishers.pb.h new file mode 100644 index 00000000..d8aca36d --- /dev/null +++ b/include/gz/msgs/publishers.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/quaternion.pb.h b/include/gz/msgs/quaternion.pb.h new file mode 100644 index 00000000..8a06b503 --- /dev/null +++ b/include/gz/msgs/quaternion.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/raysensor.pb.h b/include/gz/msgs/raysensor.pb.h new file mode 100644 index 00000000..45ec6e54 --- /dev/null +++ b/include/gz/msgs/raysensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/request.pb.h b/include/gz/msgs/request.pb.h new file mode 100644 index 00000000..9f751e8e --- /dev/null +++ b/include/gz/msgs/request.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/response.pb.h b/include/gz/msgs/response.pb.h new file mode 100644 index 00000000..ad7ad5d3 --- /dev/null +++ b/include/gz/msgs/response.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/rest_login.pb.h b/include/gz/msgs/rest_login.pb.h new file mode 100644 index 00000000..81464267 --- /dev/null +++ b/include/gz/msgs/rest_login.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/rest_logout.pb.h b/include/gz/msgs/rest_logout.pb.h new file mode 100644 index 00000000..cb0922ca --- /dev/null +++ b/include/gz/msgs/rest_logout.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/rest_post.pb.h b/include/gz/msgs/rest_post.pb.h new file mode 100644 index 00000000..143deb96 --- /dev/null +++ b/include/gz/msgs/rest_post.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/rest_response.pb.h b/include/gz/msgs/rest_response.pb.h new file mode 100644 index 00000000..db503347 --- /dev/null +++ b/include/gz/msgs/rest_response.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/road.pb.h b/include/gz/msgs/road.pb.h new file mode 100644 index 00000000..5a32c57e --- /dev/null +++ b/include/gz/msgs/road.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/scene.pb.h b/include/gz/msgs/scene.pb.h new file mode 100644 index 00000000..58082cab --- /dev/null +++ b/include/gz/msgs/scene.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/sdf_generator_config.pb.h b/include/gz/msgs/sdf_generator_config.pb.h new file mode 100644 index 00000000..d90469d1 --- /dev/null +++ b/include/gz/msgs/sdf_generator_config.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/selection.pb.h b/include/gz/msgs/selection.pb.h new file mode 100644 index 00000000..f4cfa8b0 --- /dev/null +++ b/include/gz/msgs/selection.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/sensor.pb.h b/include/gz/msgs/sensor.pb.h new file mode 100644 index 00000000..0e2bb3ce --- /dev/null +++ b/include/gz/msgs/sensor.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/sensor_noise.pb.h b/include/gz/msgs/sensor_noise.pb.h new file mode 100644 index 00000000..71ab12b3 --- /dev/null +++ b/include/gz/msgs/sensor_noise.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/sensor_v.pb.h b/include/gz/msgs/sensor_v.pb.h new file mode 100644 index 00000000..95876fd6 --- /dev/null +++ b/include/gz/msgs/sensor_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/serialized.pb.h b/include/gz/msgs/serialized.pb.h new file mode 100644 index 00000000..6584a306 --- /dev/null +++ b/include/gz/msgs/serialized.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/serialized_map.pb.h b/include/gz/msgs/serialized_map.pb.h new file mode 100644 index 00000000..6f467fa9 --- /dev/null +++ b/include/gz/msgs/serialized_map.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/server_control.pb.h b/include/gz/msgs/server_control.pb.h new file mode 100644 index 00000000..9345c57c --- /dev/null +++ b/include/gz/msgs/server_control.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/shadows.pb.h b/include/gz/msgs/shadows.pb.h new file mode 100644 index 00000000..1c710253 --- /dev/null +++ b/include/gz/msgs/shadows.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/sim_event.pb.h b/include/gz/msgs/sim_event.pb.h new file mode 100644 index 00000000..1b390263 --- /dev/null +++ b/include/gz/msgs/sim_event.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/sky.pb.h b/include/gz/msgs/sky.pb.h new file mode 100644 index 00000000..dfa69153 --- /dev/null +++ b/include/gz/msgs/sky.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/sonar.pb.h b/include/gz/msgs/sonar.pb.h new file mode 100644 index 00000000..5b9f5944 --- /dev/null +++ b/include/gz/msgs/sonar.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/spheregeom.pb.h b/include/gz/msgs/spheregeom.pb.h new file mode 100644 index 00000000..4ab5d117 --- /dev/null +++ b/include/gz/msgs/spheregeom.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/spherical_coordinates.pb.h b/include/gz/msgs/spherical_coordinates.pb.h new file mode 100644 index 00000000..050310f9 --- /dev/null +++ b/include/gz/msgs/spherical_coordinates.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/statistic.pb.h b/include/gz/msgs/statistic.pb.h new file mode 100644 index 00000000..94156dd5 --- /dev/null +++ b/include/gz/msgs/statistic.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/stringmsg.pb.h b/include/gz/msgs/stringmsg.pb.h new file mode 100644 index 00000000..b2fd054a --- /dev/null +++ b/include/gz/msgs/stringmsg.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/stringmsg_v.pb.h b/include/gz/msgs/stringmsg_v.pb.h new file mode 100644 index 00000000..c4e8e58b --- /dev/null +++ b/include/gz/msgs/stringmsg_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/subscribe.pb.h b/include/gz/msgs/subscribe.pb.h new file mode 100644 index 00000000..b7e0faeb --- /dev/null +++ b/include/gz/msgs/subscribe.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/surface.pb.h b/include/gz/msgs/surface.pb.h new file mode 100644 index 00000000..d44e235a --- /dev/null +++ b/include/gz/msgs/surface.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/tactile.pb.h b/include/gz/msgs/tactile.pb.h new file mode 100644 index 00000000..17eae539 --- /dev/null +++ b/include/gz/msgs/tactile.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/test.pb.h b/include/gz/msgs/test.pb.h new file mode 100644 index 00000000..1d46c4c2 --- /dev/null +++ b/include/gz/msgs/test.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/time.pb.h b/include/gz/msgs/time.pb.h new file mode 100644 index 00000000..1f10488c --- /dev/null +++ b/include/gz/msgs/time.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/topic_info.pb.h b/include/gz/msgs/topic_info.pb.h new file mode 100644 index 00000000..89a0fcf5 --- /dev/null +++ b/include/gz/msgs/topic_info.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/track_visual.pb.h b/include/gz/msgs/track_visual.pb.h new file mode 100644 index 00000000..1dd49b7a --- /dev/null +++ b/include/gz/msgs/track_visual.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/twist.pb.h b/include/gz/msgs/twist.pb.h new file mode 100644 index 00000000..b6a1a262 --- /dev/null +++ b/include/gz/msgs/twist.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/twist_with_covariance.pb.h b/include/gz/msgs/twist_with_covariance.pb.h new file mode 100644 index 00000000..964c3b4e --- /dev/null +++ b/include/gz/msgs/twist_with_covariance.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/uint32.pb.h b/include/gz/msgs/uint32.pb.h new file mode 100644 index 00000000..b48c7de5 --- /dev/null +++ b/include/gz/msgs/uint32.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/uint32_v.pb.h b/include/gz/msgs/uint32_v.pb.h new file mode 100644 index 00000000..365e59e5 --- /dev/null +++ b/include/gz/msgs/uint32_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/uint64.pb.h b/include/gz/msgs/uint64.pb.h new file mode 100644 index 00000000..4dd1ace3 --- /dev/null +++ b/include/gz/msgs/uint64.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/uint64_v.pb.h b/include/gz/msgs/uint64_v.pb.h new file mode 100644 index 00000000..85d1f40d --- /dev/null +++ b/include/gz/msgs/uint64_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/undo_redo.pb.h b/include/gz/msgs/undo_redo.pb.h new file mode 100644 index 00000000..39379785 --- /dev/null +++ b/include/gz/msgs/undo_redo.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/user_cmd.pb.h b/include/gz/msgs/user_cmd.pb.h new file mode 100644 index 00000000..ddaddd20 --- /dev/null +++ b/include/gz/msgs/user_cmd.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/user_cmd_stats.pb.h b/include/gz/msgs/user_cmd_stats.pb.h new file mode 100644 index 00000000..71ad1c47 --- /dev/null +++ b/include/gz/msgs/user_cmd_stats.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/vector2d.pb.h b/include/gz/msgs/vector2d.pb.h new file mode 100644 index 00000000..67b19300 --- /dev/null +++ b/include/gz/msgs/vector2d.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/vector3d.pb.h b/include/gz/msgs/vector3d.pb.h new file mode 100644 index 00000000..696115fc --- /dev/null +++ b/include/gz/msgs/vector3d.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/version.pb.h b/include/gz/msgs/version.pb.h new file mode 100644 index 00000000..c217f2a2 --- /dev/null +++ b/include/gz/msgs/version.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/version_range.pb.h b/include/gz/msgs/version_range.pb.h new file mode 100644 index 00000000..81d0ec1f --- /dev/null +++ b/include/gz/msgs/version_range.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/versioned_name.pb.h b/include/gz/msgs/versioned_name.pb.h new file mode 100644 index 00000000..1e990d2b --- /dev/null +++ b/include/gz/msgs/versioned_name.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/video_record.pb.h b/include/gz/msgs/video_record.pb.h new file mode 100644 index 00000000..ace93167 --- /dev/null +++ b/include/gz/msgs/video_record.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/visual.pb.h b/include/gz/msgs/visual.pb.h new file mode 100644 index 00000000..903d37c4 --- /dev/null +++ b/include/gz/msgs/visual.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/visual_v.pb.h b/include/gz/msgs/visual_v.pb.h new file mode 100644 index 00000000..a7497e81 --- /dev/null +++ b/include/gz/msgs/visual_v.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/web_request.pb.h b/include/gz/msgs/web_request.pb.h new file mode 100644 index 00000000..ad797160 --- /dev/null +++ b/include/gz/msgs/web_request.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/wheel_slip_parameters_cmd.pb.h b/include/gz/msgs/wheel_slip_parameters_cmd.pb.h new file mode 100644 index 00000000..3db52472 --- /dev/null +++ b/include/gz/msgs/wheel_slip_parameters_cmd.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/wind.pb.h b/include/gz/msgs/wind.pb.h new file mode 100644 index 00000000..28a4559b --- /dev/null +++ b/include/gz/msgs/wind.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/wireless_node.pb.h b/include/gz/msgs/wireless_node.pb.h new file mode 100644 index 00000000..3b676758 --- /dev/null +++ b/include/gz/msgs/wireless_node.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/wireless_nodes.pb.h b/include/gz/msgs/wireless_nodes.pb.h new file mode 100644 index 00000000..072b599b --- /dev/null +++ b/include/gz/msgs/wireless_nodes.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/world_control.pb.h b/include/gz/msgs/world_control.pb.h new file mode 100644 index 00000000..7d18314b --- /dev/null +++ b/include/gz/msgs/world_control.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/world_control_state.pb.h b/include/gz/msgs/world_control_state.pb.h new file mode 100644 index 00000000..91a78a48 --- /dev/null +++ b/include/gz/msgs/world_control_state.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/world_modify.pb.h b/include/gz/msgs/world_modify.pb.h new file mode 100644 index 00000000..20a14c12 --- /dev/null +++ b/include/gz/msgs/world_modify.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/world_reset.pb.h b/include/gz/msgs/world_reset.pb.h new file mode 100644 index 00000000..64db7191 --- /dev/null +++ b/include/gz/msgs/world_reset.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/world_stats.pb.h b/include/gz/msgs/world_stats.pb.h new file mode 100644 index 00000000..17262e7b --- /dev/null +++ b/include/gz/msgs/world_stats.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/gz/msgs/wrench.pb.h b/include/gz/msgs/wrench.pb.h new file mode 100644 index 00000000..da37b6c6 --- /dev/null +++ b/include/gz/msgs/wrench.pb.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/ignition/msgs.hh b/include/ignition/msgs.hh new file mode 100644 index 00000000..fdb1b8fc --- /dev/null +++ b/include/ignition/msgs.hh @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/ignition/msgs/CMakeLists.txt b/include/ignition/msgs/CMakeLists.txt deleted file mode 100644 index dfa5743b..00000000 --- a/include/ignition/msgs/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -ign_install_all_headers( - GENERATED_HEADERS - MessageTypes.hh - EXCLUDE_FILES - SuppressWarning.hh -) - -install( - FILES - SuppressWarning.hh - DESTINATION ${IGN_INCLUDE_INSTALL_DIR_FULL}/${PROJECT_INCLUDE_DIR} -) diff --git a/include/ignition/msgs/Export.hh b/include/ignition/msgs/Export.hh new file mode 100644 index 00000000..5726ff00 --- /dev/null +++ b/include/ignition/msgs/Export.hh @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/ignition/msgs/Factory.hh b/include/ignition/msgs/Factory.hh index fdb0fcf5..305c4d19 100644 --- a/include/ignition/msgs/Factory.hh +++ b/include/ignition/msgs/Factory.hh @@ -13,123 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. * -*/ -#ifndef IGNITION_MSGS_FACTORY_HH_ -#define IGNITION_MSGS_FACTORY_HH_ + */ -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable: 4100 4512 4127 4068 4244 4267 4251 4146) -#endif -#include -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include -#include -#include -#include - -#include "ignition/msgs/config.hh" -#include "ignition/msgs/Export.hh" - -namespace ignition -{ - namespace msgs - { - // Inline bracket to help doxygen filtering. - inline namespace IGNITION_MSGS_VERSION_NAMESPACE { - // - /// \typedef FactoryFn - /// \brief Prototype for message factory generation - typedef std::unique_ptr (*FactoryFn) (); - - /// \class Factory Factory.hh ignition/msgs.hh - /// \brief A factory that generates protobuf message based on a string type. - /// This class will also try to load all Protobuf descriptors specified - /// in the IGN_DESCRIPTOR_PATH environment variable on program start. - class IGNITION_MSGS_VISIBLE Factory - { - /// \brief Register a message. - /// \param[in] _msgType Type of message to register. - /// \param[in] _factoryfn Function that generates the message. - public: static void Register(const std::string &_msgType, - FactoryFn _factoryfn); - - /// \brief Create a new instance of a message. - /// \param[in] _msgType Type of message to create. - /// \return Pointer to a google protobuf message. Null if the message - /// type could not be handled. - public: template - static std::unique_ptr New(const std::string &_msgType) - { - return std::unique_ptr( - static_cast(New(_msgType).release())); - } - - /// \brief Create a new instance of a message. - /// \param[in] _msgType Type of message to create. - /// \param[in] _args Message arguments. This will populate the message. - /// \return Pointer to a google protobuf message. Null if the message - /// type could not be handled. - public: template - static std::unique_ptr New(const std::string &_msgType, - const std::string &_args) - { - return std::unique_ptr( - static_cast(New(_msgType, _args).release())); - } - - /// \brief Create a new instance of a message. - /// \param[in] _msgType Type of message to create. - /// \return Pointer to a google protobuf message. Null if the message - /// type could not be handled. - public: static std::unique_ptr New( - const std::string &_msgType); - - /// \brief Create a new instance of a message. - /// \param[in] _msgType Type of message to create. - /// \param[in] _args Message arguments. This will populate the message. - /// \return Pointer to a google protobuf message. Null if the message - /// type could not be handled. - public: static std::unique_ptr New( - const std::string &_msgType, const std::string &_args); - - /// \brief Get all the message types - /// \param[out] _types Vector of strings of the message types. - public: static void Types(std::vector &_types); - - /// \brief Load a collection of descriptor .desc files. - /// \param[in] _paths A set of directories containing .desc decriptor - /// files. Each directory should be separated by ":". - public: static void LoadDescriptors(const std::string &_paths); - - /// \brief A list of registered message types - private: static std::map *msgMap; - }; - - /// \brief Static message registration macro - /// - /// Use this macro to register messages. - /// \param[in] _msgtype Message type name. - /// \param[in] _classname Class name for message. - #define IGN_REGISTER_STATIC_MSG(_msgtype, _classname) \ - IGNITION_MSGS_VISIBLE \ - std::unique_ptr New##_classname() \ - { \ - return std::unique_ptr(\ - new ignition::msgs::_classname); \ - } \ - class IGNITION_MSGS_VISIBLE IgnMsg##_classname \ - { \ - public: IgnMsg##_classname() \ - { \ - ignition::msgs::Factory::Register(_msgtype, New##_classname);\ - } \ - }; \ - static IgnMsg##_classname IgnitionMessagesInitializer##_classname; - } - } -} -#endif +#include diff --git a/include/ignition/msgs/Filesystem.hh b/include/ignition/msgs/Filesystem.hh index b9aacbf2..a7cb588c 100644 --- a/include/ignition/msgs/Filesystem.hh +++ b/include/ignition/msgs/Filesystem.hh @@ -15,79 +15,4 @@ * */ -#ifndef IGNITION_MSGS_FILESYSTEM_HH_ -#define IGNITION_MSGS_FILESYSTEM_HH_ - -#include -#include - -#include -#include - -namespace ignition -{ - namespace msgs - { - /// \brief Options for how to handle errors that occur in functions that - /// manipulate the filesystem. - enum FilesystemWarningOp - { - /// \brief Errors that occur during filesystem manipulation should be - /// logged as warnings using ignwarn. (Recommended) - FSWO_LOG_WARNINGS = 0, - - /// \brief Errors that occur during filesystem manipulation should not be - /// logged. The user will be responsible for checking the system's error - /// flags. - FSWO_SUPPRESS_WARNINGS - }; - - // /// \internal - class DirIterPrivate; - - /// \class DirIter Filesystem.hh - /// \brief A class for iterating over all items in a directory. - class IGNITION_MSGS_VISIBLE DirIter - { - /// \brief Constructor. - /// \param[in] _in Directory to iterate over. - public: explicit DirIter(const std::string &_in); - - /// \brief Constructor for end element. - public: DirIter(); - - /// \brief Dereference operator; returns current directory record. - /// \return A string representing the entire path of the directory record. - public: std::string operator*() const; - - /// \brief Pre-increment operator; moves to next directory record. - /// \return This iterator. - public: const DirIter& operator++(); - - /// \brief Comparison operator to see if this iterator is at the - /// same point as another iterator. - /// \param[in] _other The other iterator to compare against. - /// \return true if the iterators are equal, false otherwise. - public: bool operator!=(const DirIter &_other) const; - - /// \brief Destructor - public: ~DirIter(); - - /// \brief Move to the next directory record, skipping . and .. records. - private: void Next(); - - /// \brief Set the internal variable to the empty string. - private: void SetInternalEmpty(); - - /// \brief Close an open directory handle. - private: void CloseHandle(); - - IGN_UTILS_WARN_IGNORE__DLL_INTERFACE_MISSING - /// \brief Private data. - private: std::unique_ptr dataPtr; - IGN_UTILS_WARN_RESUME__DLL_INTERFACE_MISSING - }; - } -} - -#endif +#include diff --git a/include/ignition/msgs/MessageTypes.hh b/include/ignition/msgs/MessageTypes.hh new file mode 100644 index 00000000..48fc1293 --- /dev/null +++ b/include/ignition/msgs/MessageTypes.hh @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +#include diff --git a/include/ignition/msgs/PointCloudPackedUtils.hh b/include/ignition/msgs/PointCloudPackedUtils.hh index b83ad1cf..0e2a7d60 100644 --- a/include/ignition/msgs/PointCloudPackedUtils.hh +++ b/include/ignition/msgs/PointCloudPackedUtils.hh @@ -13,127 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. * -*/ + */ -// Inspired by -// https://github.com/ros/common_msgs/blob/275b09a/sensor_msgs/include/sensor_msgs/point_cloud2_iterator.h - -#ifndef IGNITION_MSGS_POINTCLOUDPACKEDUTILS_HH_ -#define IGNITION_MSGS_POINTCLOUDPACKEDUTILS_HH_ - -#include - -#include -#include -#include -#include - -#include "ignition/msgs/config.hh" -#include "ignition/msgs/detail/PointCloudPackedUtils.hh" - -namespace ignition -{ -namespace msgs -{ -/// \brief Class that can iterate over a PointCloudPacked message. -/// -/// E.g, you create your message and reserve space for data as follows: -/// -/// \code{.cpp} -/// ignition::msgs::PointCloudPacked pcMsg; -/// ignition::msgs::InitPointCloudPacked(pcMsg, "my_new_frame", false, -/// {{"a", PointCloudPacked::Field::FLOAT32}}); -/// pcMsg.mutable_data()->resize(numPts * pcMsg.point_step()); -/// \endcode -/// -/// For iterating over "a", you do : -/// -/// \code{.cpp} -/// ignition::msgs::PointCloudPackedIterator iterA(pcMsg, "a"); -/// \endcode -/// -/// And then access it through iterA[0] or *iterA. -/// -/// For iterating over RGBA, you can access each element as uint8_t: -/// -/// \code{.cpp} -/// ignition::msgs::PointCloudPackedIterator iterR(pcMsg, "r"); -/// ignition::msgs::PointCloudPackedIterator iterG(pcMsg, "g"); -/// ignition::msgs::PointCloudPackedIterator iterB(pcMsg, "b"); -/// ignition::msgs::PointCloudPackedIterator iterA(pcMsg, "a"); -/// \endcode -/// -/// \tparam FieldType Type of the element being iterated upon -template -class PointCloudPackedIterator - : public PointCloudPackedIteratorBase< - FieldType, FieldType, char, PointCloudPacked, PointCloudPackedIterator> -{ - // Documentation inherited - public: PointCloudPackedIterator(PointCloudPacked &_cloudMsg, - const std::string &_fieldName) - : PointCloudPackedIteratorBase - ::PointCloudPackedIteratorBase(_cloudMsg, _fieldName) - { - } -}; - -/// \brief Same as a PointCloudPackedIterator but for const data -/// \tparam FieldType Type of the element being iterated upon -template -class PointCloudPackedConstIterator - : public PointCloudPackedIteratorBase< - FieldType, const FieldType, const char, const PointCloudPacked, - PointCloudPackedConstIterator> -{ - public: PointCloudPackedConstIterator( - const PointCloudPacked &_cloudMsg, - const std::string &_fieldName) - : PointCloudPackedIteratorBase::PointCloudPackedIteratorBase(_cloudMsg, _fieldName) - { - } -}; - -/// \brief Return the size of a datatype (which is an enum of -/// ignition::msgs::PointCloudPacked::Field) in bytes. -/// \param[in] _dataType One of the enums of -/// ignition::msgs::PointCloudPacked::Field -/// \return Size in bytes. Returns -1 if the type is unknown. -inline int sizeOfPointField( - PointCloudPacked::Field::DataType _dataType) -{ - if ((_dataType == PointCloudPacked::Field::INT8) || - (_dataType == PointCloudPacked::Field::UINT8)) - { - return 1; - } - else if ((_dataType == PointCloudPacked::Field::INT16) || - (_dataType == PointCloudPacked::Field::UINT16)) - { - return 2; - } - else if ((_dataType == PointCloudPacked::Field::INT32) || - (_dataType == PointCloudPacked::Field::UINT32) || - (_dataType == PointCloudPacked::Field::FLOAT32)) - { - return 4; - } - else if (_dataType == PointCloudPacked::Field::FLOAT64) - { - return 8; - } - else - { - std::cerr << "PointCloudPacked::Field of type [" << _dataType - << "] does not exist" << std::endl; - } - return -1; -} -} -} - -#endif +#include diff --git a/include/ignition/msgs/Utility.hh b/include/ignition/msgs/Utility.hh index e353920e..f01c9965 100644 --- a/include/ignition/msgs/Utility.hh +++ b/include/ignition/msgs/Utility.hh @@ -13,488 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. * -*/ -#ifndef IGNITION_MSGS_UTILITY_HH_ -#define IGNITION_MSGS_UTILITY_HH_ + */ -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include "ignition/msgs/config.hh" -#include "ignition/msgs/Export.hh" -#include "ignition/msgs/MessageTypes.hh" - -/// \file Utility.hh -/// \brief Utility functions that support conversion between message type -/// and ignition math types. - -namespace ignition -{ - namespace msgs - { - // Inline bracket to help doxygen filtering. - inline namespace IGNITION_MSGS_VERSION_NAMESPACE { - // - /// \brief Convert a msgs::Vector3d to an ignition::math::Vector - /// \param[in] _v The vector to convert - /// \return An ignition::math::Vector3d object - IGNITION_MSGS_VISIBLE - ignition::math::Vector3d Convert(const msgs::Vector3d &_v); - - /// \brief Convert a msgs::Vector2d to an ignition::math::Vector2d - /// \param[in] _v The vector2 to convert - /// \return An ignition::math::Vector2d object - IGNITION_MSGS_VISIBLE - ignition::math::Vector2d Convert(const msgs::Vector2d &_v); - - /// \brief Convert a msgs::Quaternion to an ignition::math::Quaterniond - /// \param[in] _q The quaternion to convert - /// \return An ignition::math::Quaterniond object - IGNITION_MSGS_VISIBLE - ignition::math::Quaterniond Convert(const msgs::Quaternion &_q); - - /// \brief Convert a msgs::Pose to an ignition::math::Pose3d - /// \param[in] _p The pose to convert - /// \return An ignition::math::Pose3d object - IGNITION_MSGS_VISIBLE - ignition::math::Pose3d Convert(const msgs::Pose &_p); - - /// \brief Convert a msgs::Color to a math::Color - /// \param[in] _c The color to convert - /// \return A math::Color object - IGNITION_MSGS_VISIBLE - math::Color Convert(const msgs::Color &_c); - - /// \brief Convert a msgs::PlaneGeom to an ignition::math::Planed - /// \param[in] _p The plane to convert - /// \return An ignition::math::Planed object - IGNITION_MSGS_VISIBLE - ignition::math::Planed Convert(const msgs::PlaneGeom &_p); - - /// \brief Convert a msgs::Inertial to an ignition::math::Inertiald - /// \param[in] _i The inertial to convert - /// \return An ignition::math::Inertiald object - IGNITION_MSGS_VISIBLE - math::Inertiald Convert(const msgs::Inertial &_i); - - /// \brief Convert a msgs::SphericalCoordinates to an - /// ignition::math::SphericalCoordinates - /// \param[in] _coord The spherical coordinates to convert - /// \return An ignition::math::SphericalCoordinates object - IGNITION_MSGS_VISIBLE - math::SphericalCoordinates Convert( - const msgs::SphericalCoordinates &_coord); - - /// \brief Convert a msgs::AxisAlignedBox to an - /// ignition::math::AxisAlignedBox - /// \param[in] _b The axis aligned box to convert - /// \return An ignition::math::AxisAlignedBox object - IGNITION_MSGS_VISIBLE - math::AxisAlignedBox Convert(const msgs::AxisAlignedBox &_b); - - /// \brief Convert ignition::math::AxisAlignedBox to - /// msgs::AxisAlignedBox. - /// \param[in] _b The axis aligned box to convert - /// \return An ignition::math::AxisAlignedBox object - IGNITION_MSGS_VISIBLE - msgs::AxisAlignedBox Convert(const math::AxisAlignedBox &_b); - - /// \brief Convert a msgs::StringMsg to an std::string - /// \param[in] _m The message to convert - /// \return An std::string object - IGNITION_MSGS_VISIBLE - std::string Convert(const msgs::StringMsg &_m); - - /// \brief Convert a msgs::Boolean to a bool - /// \param[in] _m The message to convert - /// \return An bool object - IGNITION_MSGS_VISIBLE - bool Convert(const msgs::Boolean &_m); - - /// \brief Convert a msgs::Int32 to an int32_t - /// \param[in] _m The message to convert - /// \return An int32_t object - IGNITION_MSGS_VISIBLE - int32_t Convert(const msgs::Int32 &_m); - - /// \brief Convert a msgs::UInt32 to a uint32_t - /// \param[in] _m The message to convert - /// \return An uint32_t object - IGNITION_MSGS_VISIBLE - uint32_t Convert(const msgs::UInt32 &_m); - - /// \brief Convert a msgs::Int64 to an int64_t - /// \param[in] _m The message to convert - /// \return An int64_t object - IGNITION_MSGS_VISIBLE - int64_t Convert(const msgs::Int64 &_m); - - /// \brief Convert a msgs::UInt64 to a uint64_t - /// \param[in] _m The message to convert - /// \return An uint64_t object - IGNITION_MSGS_VISIBLE - uint64_t Convert(const msgs::UInt64 &_m); - - /// \brief Convert a msgs::Double to a double - /// \param[in] _m The message to convert - /// \return An double object - IGNITION_MSGS_VISIBLE - double Convert(const msgs::Double &_m); - - /// \brief Convert a msgs::Float to a float - /// \param[in] _m The message to convert - /// \return An float object - IGNITION_MSGS_VISIBLE - float Convert(const msgs::Float &_m); - - /// \brief Convert a msgs::Time to a std::chrono::steady_clock::duration - /// \param[in] _time The message to convert - /// \return A std::chrono::steady_clock::duration object - IGNITION_MSGS_VISIBLE - std::chrono::steady_clock::duration Convert(const msgs::Time &_time); - - /// \brief Convert a ignition::math::Vector3d to a msgs::Vector3d - /// \param[in] _v The vector to convert - /// \return A msgs::Vector3d object - IGNITION_MSGS_VISIBLE - msgs::Vector3d Convert(const ignition::math::Vector3d &_v); - - /// \brief Convert a ignition::math::Vector2d to a msgs::Vector2d - /// \param[in] _v The vector to convert - /// \return A msgs::Vector2d object - IGNITION_MSGS_VISIBLE - msgs::Vector2d Convert(const ignition::math::Vector2d &_v); - - /// \brief Convert a ignition::math::Quaterniond to a msgs::Quaternion - /// \param[in] _q The quaternion to convert - /// \return A msgs::Quaternion object - IGNITION_MSGS_VISIBLE - msgs::Quaternion Convert(const ignition::math::Quaterniond &_q); - - /// \brief Convert a ignition::math::Pose3d to a msgs::Pose - /// \param[in] _p The pose to convert - /// \return A msgs::Pose object - IGNITION_MSGS_VISIBLE - msgs::Pose Convert(const ignition::math::Pose3d &_p); - - /// \brief Convert a math::Color to a msgs::Color - /// \param[in] _c The color to convert - /// \return A msgs::Color object - IGNITION_MSGS_VISIBLE - msgs::Color Convert(const math::Color &_c); - - /// \brief Convert an math::Inertiald to a msgs::Inertial - /// \param[in] _i The Inertiald to convert - /// \return A msgs::Inertial object - IGNITION_MSGS_VISIBLE - msgs::Inertial Convert(const math::Inertiald &_i); - - /// \brief Convert an math::MassMatrix3d to a msgs::Inertial - /// \param[in] _m The MassMatrix3d to convert - /// \return A msgs::Inertial object - IGNITION_MSGS_VISIBLE - msgs::Inertial Convert(const math::MassMatrix3d &_m); - - /// \brief Convert an math::SphericalCoordinates to a - /// msgs::SphericalCoordinates - /// \param[in] _coord The SphericalCoordinates to convert - /// \return A msgs::SphericalCoordinates object - IGNITION_MSGS_VISIBLE - msgs::SphericalCoordinates Convert( - const math::SphericalCoordinates &_coord); - - /// \brief Convert a ignition::math::Planed to a msgs::PlaneGeom - /// \param[in] _p The plane to convert - /// \return A msgs::PlaneGeom object - IGNITION_MSGS_VISIBLE - msgs::PlaneGeom Convert(const ignition::math::Planed &_p); - - /// \brief Convert an std::string to a msgs::StringMsg - /// \param[in] _s The string to convert - /// \return A msgs::StringMsg object - IGNITION_MSGS_VISIBLE - msgs::StringMsg Convert(const std::string &_s); - - /// \brief Convert a bool to a msgs::Boolean - /// \param[in] _b The bool to convert - /// \return A msgs::Boolean object - IGNITION_MSGS_VISIBLE - msgs::Boolean Convert(const bool &_b); - - /// \brief Convert an int32_t to a msgs::Int32 - /// \param[in] _i The int32_t to convert - /// \return A msgs::Int32 object - IGNITION_MSGS_VISIBLE - msgs::Int32 Convert(const int32_t &_i); - - /// \brief Convert a uint32_t to a msgs::UInt32 - /// \param[in] _u The uint32_t to convert - /// \return A msgs::UInt32 object - IGNITION_MSGS_VISIBLE - msgs::UInt32 Convert(const uint32_t &_u); - - /// \brief Convert an int64_t to a msgs::Int64 - /// \param[in] _i The int64_t to convert - /// \return A msgs::Int64 object - IGNITION_MSGS_VISIBLE - msgs::Int64 Convert(const int64_t &_i); - - /// \brief Convert a uint64_t to a msgs::UInt64 - /// \param[in] _u The uint64_t to convert - /// \return A msgs::UInt64 object - IGNITION_MSGS_VISIBLE - msgs::UInt64 Convert(const uint64_t &_u); - - /// \brief Convert a double to a msgs::Double - /// \param[in] _d The double to convert - /// \return A msgs::Double object - IGNITION_MSGS_VISIBLE - msgs::Double Convert(const double &_d); - - /// \brief Convert a float to a msgs::Float - /// \param[in] _f The float to convert - /// \return A msgs::Float object - IGNITION_MSGS_VISIBLE - msgs::Float Convert(const float &_f); - - /// \brief Convert a std::chrono::steady_clock::duration to a msgs::Time - /// \param[in] _time_point The std::chrono::system_clock::duration to - /// convert - /// \return A msgs::Time object - IGNITION_MSGS_VISIBLE - msgs::Time Convert( - const std::chrono::steady_clock::duration &_time_point); - - /// \brief Convert a string to a msgs::Joint::Type enum. - /// \param[in] _str Joint type string. - /// \return A msgs::Joint::Type enum. Defaults to REVOLUTE - /// if _str is unrecognized. - IGNITION_MSGS_VISIBLE - msgs::Joint::Type ConvertJointType(const std::string &_str); - - /// \brief Convert a msgs::Joint::Type to a string. - /// \param[in] _type A msgs::Joint::Type enum. - /// \return Joint type string. Returns "unknown" if - /// _type is unrecognized. - IGNITION_MSGS_VISIBLE - std::string ConvertJointType(const msgs::Joint::Type &_type); - - /// \brief Convert a string to a msgs::Geometry::Type enum. - /// \param[in] _str Geometry type string. - /// \return A msgs::Geometry::Type enum. - IGNITION_MSGS_VISIBLE - msgs::Geometry::Type ConvertGeometryType(const std::string &_str); - - /// \brief Convert a msgs::Geometry::Type to a string. - /// \param[in] _type A msgs::Geometry::Type enum. - /// \return Geometry type string. - IGNITION_MSGS_VISIBLE - std::string ConvertGeometryType(const msgs::Geometry::Type _type); - - /// \brief Convert a string to a msgs::PixelFormatType enum. - /// \param[in] _str PixelFormatType string. - /// \return A msgs::PixelFormatType enum. - IGNITION_MSGS_VISIBLE - msgs::PixelFormatType ConvertPixelFormatType(const std::string &_str); - - /// \brief Convert a PixelFormatType to a string. This can be used for - /// debugging purposes. - // \param[in] _t PixelFormatType enum value. - /// \return String version of PixelFormatType. - IGNITION_MSGS_VISIBLE - std::string ConvertPixelFormatType(const msgs::PixelFormatType &_t); - - /// \brief Convert a string to a msgs::Material::ShaderType enum. - /// \param[in] _str Shader type string. - /// \return A msgs::Material::ShaderType enum. Defaults to VERTEX - /// if _str is unrecognized. - IGNITION_MSGS_VISIBLE - msgs::Material::ShaderType ConvertShaderType(const std::string &_str); - - /// \brief Convert a msgs::ShaderType to a string. - /// \param[in] _type A msgs::ShaderType enum. - /// \return Shader type string. Returns "unknown" if - /// _type is unrecognized. - IGNITION_MSGS_VISIBLE - std::string ConvertShaderType(const msgs::Material::ShaderType &_type); - - /// \brief Set a msgs::Vector3d from an ignition::math::Vector3d - /// \param[out] _pt A msgs::Vector3d pointer - /// \param[in] _v An ignition::math::Vector3d reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Vector3d *_pt, const ignition::math::Vector3d &_v); - - /// \brief Set a msgs::Vector2d from an ignition::math::Vector2d - /// \param[out] _pt A msgs::Vector2d pointer - /// \param[in] _v An ignition::math::Vector2d reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Vector2d *_pt, const ignition::math::Vector2d &_v); - - /// \brief Set a msgs::Quaternion from an ignition::math::Quaterniond - /// \param[out] _q A msgs::Quaternion pointer - /// \param[in] _v An ignition::math::Quaterniond reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Quaternion *_q, const ignition::math::Quaterniond &_v); - - /// \brief Set a msgs::Pose from an ignition::math::Pose3d - /// \param[out] _p A msgs::Pose pointer - /// \param[in] _v An ignition::math::Pose3d reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Pose *_p, const ignition::math::Pose3d &_v); - - /// \brief Set a msgs::Color from a math::Color - /// \param[out] _c A msgs::Color pointer - /// \param[in] _v A math::Color reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Color *_c, const math::Color &_v); - - /// \brief Set a msgs::Inertial from an math::Inertiald - /// \param[out] _i A msgs::Inertial pointer - /// \param[in] _m An math::Inertiald reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Inertial *_i, const math::Inertiald &_m); - - /// \brief Set a msgs::Inertial from an math::MassMatrix3d - /// \param[out] _i A msgs::Inertial pointer - /// \param[in] _m An math::MassMatrix3d reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Inertial *_i, const math::MassMatrix3d &_m); - - /// \brief Set a msgs::SphericalCoordinates from a - /// math::SphericalCoordinates - /// \param[out] _sc A msgs::SphericalCoordinates pointer - /// \param[in] _m An math::SphericalCoordinates reference - IGNITION_MSGS_VISIBLE - void Set(msgs::SphericalCoordinates *_sc, - const math::SphericalCoordinates &_m); - - /// \brief Set a msgs::Plane from an ignition::math::Planed - /// \param[out] _p A msgs::Plane pointer - /// \param[in] _v An ignition::math::Planed reference - IGNITION_MSGS_VISIBLE - void Set(msgs::PlaneGeom *_p, const ignition::math::Planed &_v); - - /// \brief Set a msgs::StringMsg from an std::string - /// \param[out] _p A msgs::StringMsg pointer - /// \param[in] _v An std::string reference - IGNITION_MSGS_VISIBLE - void Set(msgs::StringMsg *_p, const std::string &_v); - - /// \brief Set a msgs::Boolean from a bool - /// \param[out] _p A msgs::Boolean pointer - /// \param[in] _v An bool reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Boolean *_p, const bool &_v); - - /// \brief Set a msgs::Int32 from an int32_t - /// \param[out] _p A msgs::Int32 pointer - /// \param[in] _v An int32_t reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Int32 *_p, const int32_t &_v); - - /// \brief Set a msgs::UInt32 from a uint32_t - /// \param[out] _p A msgs::UInt32 pointer - /// \param[in] _v An uint32_t reference - IGNITION_MSGS_VISIBLE - void Set(msgs::UInt32 *_p, const uint32_t &_v); - - /// \brief Set a msgs::Int64 from an int64_t - /// \param[out] _p A msgs::Int64 pointer - /// \param[in] _v An int64_t reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Int64 *_p, const int64_t &_v); - - /// \brief Set a msgs::UInt64 from an uint64_t - /// \param[out] _p A msgs::UInt64 pointer - /// \param[in] _v An uint64_t reference - IGNITION_MSGS_VISIBLE - void Set(msgs::UInt64 *_p, const uint64_t &_v); - - /// \brief Set a msgs::Double from a double - /// \param[out] _p A msgs::Double pointer - /// \param[in] _v An double reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Double *_p, const double &_v); - - /// \brief Set a msgs::Float from a float - /// \param[out] _p A msgs::Float pointer - /// \param[in] _v An float reference - IGNITION_MSGS_VISIBLE - void Set(msgs::Float *_p, const float &_v); - - /// \brief Set a msgs::AxisAlignedBox from a math::AxisAlignedBox - /// \param[out] _b A msgs::AxisAlignedBox pointer - /// \param[in] _v An math::AxisAlignedBox reference - IGNITION_MSGS_VISIBLE - void Set(msgs::AxisAlignedBox *_b, const math::AxisAlignedBox &_v); - - /// \brief This function will set the header and field members of - /// a PointCloudPacked message. This will clear existing values in the - /// PointCloudPacked field and header. - /// \param[out] _msg The message to initialize. - /// \param[in] _frameId Name of the "frame_id". This will be stored as - /// key = "frame_id", value = _frameId in the message header. - /// \param[in] _memoryAligned If true, then each pair in the _fields - /// vector will be aligned at word (sizeof(size_t)) boundaries. - /// Additionally, the `point_step` of the _msg will be set to the - /// nearest word boundary. - /// \param[in] _fields The fields to add to the message. The following - /// strings are reserved, and will generate a set of fields - /// automatically. - /// - /// * "xyz" : This will add the "x", "y", and "z" fields. - IGNITION_MSGS_VISIBLE - void InitPointCloudPacked(msgs::PointCloudPacked &_msg, - const std::string &_frameId, bool _memoryAligned, - const std::vector> &_fields); - - /// \brief Convert a Discovery::Type to a string. This can be used for - /// debugging purposes. - // \param[in] _t Type of the discovery message. - /// \return String version of Discovery::Type. - IGNITION_MSGS_VISIBLE - std::string ToString(const msgs::Discovery::Type &_t); - - /// \brief Convert the contents of a model.config file, in the form of - /// an XML string, to a FuelMetadata message. - /// - /// Only the latest versioned model is added to the meta data message. - /// - /// The `` and `` tags are ignored. - /// - /// \param[in] _modelConfigStr A string containing XML data that matches - /// the model.config format. - /// \param[out] _meta The message that receives the converted data. - /// \return True if the conversion was successful. - IGNITION_MSGS_VISIBLE - bool ConvertFuelMetadata(const std::string &_modelConfigStr, - msgs::FuelMetadata &_meta); - - /// \brief Convert a FuelMetadata message to a string containing XML - /// data that matches the model.config format. - /// - /// The model.config format contains only a subset of the information in - /// a metadata message. The extra information in the metadata message is - /// discarded. - /// - /// \param[in] _meta The FuelMetadata message to convert. - /// \param[out] _modelConfigStr XML string containing the converted - /// message data. - /// \return True if the conversion was successful. - IGNITION_MSGS_VISIBLE - bool ConvertFuelMetadata(const msgs::FuelMetadata &_meta, - std::string &_modelConfigStr); - } - } -} -#endif +#include diff --git a/include/ignition/msgs/config.hh b/include/ignition/msgs/config.hh new file mode 100644 index 00000000..0662068d --- /dev/null +++ b/include/ignition/msgs/config.hh @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/include/ignition/msgs/test_config.h b/include/ignition/msgs/test_config.h new file mode 100644 index 00000000..704e6f0f --- /dev/null +++ b/include/ignition/msgs/test_config.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2018 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include diff --git a/proto/CMakeLists.txt b/proto/CMakeLists.txt index d1c7ec2f..9a47c2d8 100644 --- a/proto/CMakeLists.txt +++ b/proto/CMakeLists.txt @@ -1,3 +1,8 @@ +install( + DIRECTORY gz + DESTINATION "${IGN_INCLUDE_INSTALL_DIR_FULL}" + COMPONENT proto + FILES_MATCHING PATTERN "*.proto") install( DIRECTORY ignition diff --git a/proto/gz/msgs/actor.proto b/proto/gz/msgs/actor.proto new file mode 100644 index 00000000..65a542b7 --- /dev/null +++ b/proto/gz/msgs/actor.proto @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ActorProtos"; + +/// \ingroup gz.msgs +/// \interface Actor +/// \brief Message for an actor + +import "gz/msgs/entity.proto"; +import "gz/msgs/header.proto"; +import "gz/msgs/pose.proto"; + +message Actor +{ + message Animation + { + /// \brief Unique name for animation + string name = 1; + + /// \brief Path to animation file. Accepted formats: COLLADA, BVH + string filename = 2; + + /// \brief Scale for the animation skeleton + float scale = 3; + + /// \brief Set to true so the animation is interpolated on X + bool interpolate_x = 4; + } + + message Waypoint + { + /// \brief Time in seconds, counted from the beginning of the script + float time = 1; + + /// \brief Pose to be reached at the given time + Pose pose = 2; + } + + message Trajectory + { + /// \brief Unique id for a trajectory + uint32 id = 1; + + /// \brief Type of an animation + string type = 2; + + /// \brief Tension of the trajectory spline + float tension = 3; + + /// \brief Points in the trajectory + repeated Waypoint waypoints = 4; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief A unique name for the actor + Entity entity = 2; + + /// \brief Pose of the actor + Pose pose = 3; + + /// \brief Skin file which defines a visual + /// and the underlying skeleton which moves it + string skin_filename = 4; + + /// \brief Scale the skin's size + float skin_scale = 5; + + /// \brief Animations for the skeleton in the skin + repeated Animation animations = 6; + + /// \brief Set this to true for the script to be repeated in a loop + bool script_loop = 7; + + /// \brief Time (in secs) to wait before starting the script + float script_delay_start = 8; + + /// \brief Set to true if the animation should start + /// as soon as the simulation starts playing + bool script_auto_start = 9; + + /// \brief A series of keyframes to be followed + repeated Trajectory trajectories = 10; + + /// \brief Unique id of actor's parent + Entity parent = 11; +} diff --git a/proto/gz/msgs/actuators.proto b/proto/gz/msgs/actuators.proto new file mode 100644 index 00000000..61ee4786 --- /dev/null +++ b/proto/gz/msgs/actuators.proto @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ActuatorsProtos"; + +/// \ingroup gz.msgs +/// \interface Actuators +/// \brief Commands to be sent to the actuator[s]. + +import "gz/msgs/header.proto"; + +/// \brief Actuator commands. +message Actuators +{ + // Optional header data. + Header header = 1; + + /// \brief Position of the actuators in [rad] for angular actuators + /// and [m] for linear actuators. + repeated double position = 2; + + /// \brief Velocities of the actuators in [rad/s] for angular actuators + /// and [m/s] for linear actuators. + repeated double velocity = 3; + + /// \brief Everything that does not fit the above, + /// normalized between [-1 ... 1]. + repeated double normalized = 4; +} diff --git a/proto/gz/msgs/air_pressure_sensor.proto b/proto/gz/msgs/air_pressure_sensor.proto new file mode 100644 index 00000000..5af61b65 --- /dev/null +++ b/proto/gz/msgs/air_pressure_sensor.proto @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "AirPressureSensorProtos"; + +/// \ingroup gz.msgs +/// \interface AirPressureSensor +/// \brief Definition of an air pressure sensor + +import "gz/msgs/header.proto"; +import "gz/msgs/sensor_noise.proto"; + +/// \brief Message that describes an air pressure sensor. +message AirPressureSensor +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Reference altitude in meters. This value can be used by a sensor + /// implementation to augment the altitude of the sensor. For example, if + /// you are using simulation, instead of creating a 1000 m mountain model on + /// which to place your sensor, you could instead set this value to 1000 and + /// place your model on a ground plane with a Z height of zero. + double reference_altitude = 2; + + /// \brief Sensor pressure noise. + SensorNoise pressure_noise = 3; +} diff --git a/proto/gz/msgs/altimeter.proto b/proto/gz/msgs/altimeter.proto new file mode 100644 index 00000000..67c3f706 --- /dev/null +++ b/proto/gz/msgs/altimeter.proto @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "AltimeterProtos"; + +/// \ingroup gz.msgs +/// \interface Altimeter +/// \brief Data from an altimeter sensor + +import "gz/msgs/header.proto"; + +/// \brief Altimeter sensor data +message Altimeter +{ + // Other Optional header data + Header header = 1; /// Optional header data + + /// \brief Vertical position data, in meters. + double vertical_position = 2; + + /// \brief Vertical velocity data, in meters/second. + double vertical_velocity = 3; + + /// \brief Vertical reference. + double vertical_reference = 4; +} diff --git a/proto/gz/msgs/altimeter_sensor.proto b/proto/gz/msgs/altimeter_sensor.proto new file mode 100644 index 00000000..f939675f --- /dev/null +++ b/proto/gz/msgs/altimeter_sensor.proto @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "AltimeterSensorProtos"; + +/// \ingroup gz.msgs +/// \interface AltimeterSensor +/// \brief Definition of an altimeter sensor + +import "gz/msgs/header.proto"; +import "gz/msgs/sensor_noise.proto"; + +/// \brief Message that describes an altimeter sensor. +message AltimeterSensor +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Noise parameters for the vertical position. + SensorNoise vertical_position_noise = 2; + + /// \brief Noise parameters for the vertical velocity. + SensorNoise vertical_velocity_noise = 3; +} diff --git a/proto/gz/msgs/annotated_axis_aligned_2d_box.proto b/proto/gz/msgs/annotated_axis_aligned_2d_box.proto new file mode 100644 index 00000000..32502fbe --- /dev/null +++ b/proto/gz/msgs/annotated_axis_aligned_2d_box.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "AnnotatedAxisAligned2DBoxProtos"; + +/// \ingroup gz.msgs +/// \interface AnnotatedAxisAligned2DBox +/// \brief A 2D axis aligned box with label + +import "gz/msgs/header.proto"; +import "gz/msgs/axis_aligned_2d_box.proto"; + +message AnnotatedAxisAligned2DBox +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Axis aligned 2d bounding box + AxisAligned2DBox box = 2; + + /// \brief Label (class) of the box's object + uint32 label = 3; +} diff --git a/proto/gz/msgs/annotated_axis_aligned_2d_box_v.proto b/proto/gz/msgs/annotated_axis_aligned_2d_box_v.proto new file mode 100644 index 00000000..ad13a131 --- /dev/null +++ b/proto/gz/msgs/annotated_axis_aligned_2d_box_v.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "AnnotatedAxisAligned2DBox_VProtos"; + +/// \ingroup gz.msgs +/// \interface AnnotatedAxisAligned2DBox_V +/// \brief A message for a vector of annotated axis aligned 2d boxes + +import "gz/msgs/header.proto"; +import "gz/msgs/annotated_axis_aligned_2d_box.proto"; + +message AnnotatedAxisAligned2DBox_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief vector of 2d annotated boxes + repeated AnnotatedAxisAligned2DBox annotated_box = 2; +} diff --git a/proto/gz/msgs/annotated_oriented_3d_box.proto b/proto/gz/msgs/annotated_oriented_3d_box.proto new file mode 100644 index 00000000..4d57f732 --- /dev/null +++ b/proto/gz/msgs/annotated_oriented_3d_box.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "AnnotatedOriented3DBoxProtos"; + +/// \ingroup gz.msgs +/// \interface AnnotatedOriented3DBox +/// \brief A 3D oriented bounding box with label + +import "gz/msgs/header.proto"; +import "gz/msgs/oriented_3d_box.proto"; + +message AnnotatedOriented3DBox +{ + /// \brief Optional header data + Header header = 1; + + /// \brief oreinted 3d box + Oriented3DBox box = 2; + + /// \brief Label (class) of the box's object + uint32 label = 3; +} diff --git a/proto/gz/msgs/annotated_oriented_3d_box_v.proto b/proto/gz/msgs/annotated_oriented_3d_box_v.proto new file mode 100644 index 00000000..7ba68f43 --- /dev/null +++ b/proto/gz/msgs/annotated_oriented_3d_box_v.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "AnnotatedOriented3DBox_VProtos"; + +/// \ingroup gz.msgs +/// \interface AnnotatedOriented3DBox_V +/// \brief A message for a vector of annotated oriented 3d boxes + +import "gz/msgs/header.proto"; +import "gz/msgs/annotated_oriented_3d_box.proto"; + +message AnnotatedOriented3DBox_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief vector of 3d annotated oreinted boxes + repeated AnnotatedOriented3DBox annotated_box = 2; +} diff --git a/proto/gz/msgs/any.proto b/proto/gz/msgs/any.proto new file mode 100644 index 00000000..91fc83ff --- /dev/null +++ b/proto/gz/msgs/any.proto @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "EmptyProtos"; + +/// \ingroup gz.msgs +/// \interface Any +/// \brief A message that is capable of containing a wide variety of data types. + +import "gz/msgs/header.proto"; +import "gz/msgs/color.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/quaternion.proto"; +import "gz/msgs/time.proto"; +import "gz/msgs/vector3d.proto"; + +message Any +{ + /// \brief The type of data the message contains. + enum ValueType + { + /// \brief Indicates that the message is empty + NONE = 0; + + /// \brief Indicates that the message contains a double + DOUBLE = 1; + + /// \brief Indicates that the message contains an int32 + INT32 = 2; + + /// \brief Indicates that the message contains a string + STRING = 3; + + /// \brief Indicates that the message contains a Boolean + BOOLEAN = 4; + + /// \brief Indicates that the message contains a Vector3d + VECTOR3D = 5; + + /// \brief Indicates that the message contains a Color + COLOR = 6; + + /// \brief Indicates that the message contains a Pose + POSE3D = 7; + + /// \brief Indicates that the message contains a Quaternion + QUATERNIOND = 8; + + /// \brief Indicates that the message contains a Time + TIME = 9; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief Type of value that is contained in this message. + ValueType type = 2; + + oneof value { + /// \brief A double value + double double_value = 3; + + /// \brief An int32 value + int32 int_value = 4; + + /// \brief A string value + string string_value = 5; + + /// \brief A boolean value + bool bool_value = 6; + + /// \brief A Vector3d value + Vector3d vector3d_value = 7; + + /// \brief A Color value + Color color_value = 8; + + /// \brief A Pose value + Pose pose3d_value = 9; + + /// \brief A Quaternion value + Quaternion quaternion_value = 10; + + /// \brief A Time value + Time time_value = 11; + } +} diff --git a/proto/gz/msgs/atmosphere.proto b/proto/gz/msgs/atmosphere.proto new file mode 100644 index 00000000..7c2f03b1 --- /dev/null +++ b/proto/gz/msgs/atmosphere.proto @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "AtmosphereProtos"; + +/// \ingroup gz.msgs +/// \interface Atmosphere +/// \brief A message containing a description of the global atmosphere +/// properties + +import "gz/msgs/header.proto"; + +message Atmosphere +{ + /// \brief Types of atmosphere models. + enum Type + { + /// \brief Adiabatic atmosphere model. + ADIABATIC = 0; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief Type of the atmosphere model. + Type type = 2; + + /// \brief Temperature at sea level in kelvins. + double temperature = 3; + + /// \brief Pressure at sea level in pascals. + double pressure = 4; + + /// \brief Mass density of the air at sea level in kg/m^3. + double mass_density = 5; + + /// \brief Enable atmosphere model + bool enable_atmosphere = 6; +} diff --git a/proto/gz/msgs/axis.proto b/proto/gz/msgs/axis.proto new file mode 100644 index 00000000..9d23190c --- /dev/null +++ b/proto/gz/msgs/axis.proto @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "AxisProtos"; + +/// \ingroup gz.msgs +/// \interface Axis +/// \brief msgs::Joint axis message + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message Axis +{ + /// \brief Optional header data + Header header = 1; + + /// \brief The x,y,z components of the axis unit vector. + Vector3d xyz = 2; + + /// \brief The lower joint axis limit (radians for revolute joints, + /// meters for prismatic joints). Not valid if the joint that uses this + /// axis is continuous. + double limit_lower = 3; + + /// \brief The upper joint axis limit (radians for revolute joints, + /// meters for prismatic joints). Not valid if the joint that uses this + /// axis is continuous. + double limit_upper = 4; + + /// \brief Value for enforcing the maximum joint effort applied. + /// Limit is not enforced if value is negative. + double limit_effort = 5; + + /// \brief Value for enforcing the maximum joint velocity. + double limit_velocity = 6; + + /// \brief The physical velocity dependent viscous damping coefficient + /// of the joint axis. + double damping = 7; + + /// \brief The physical static friction value of the joint. + double friction = 8; + + /// \brief Position of the joint. For angular joints, such as revolute + /// joints, the units are radians. For linear joints, such as prismatic + /// joints, the units are meters. + double position = 10; + + /// \brief Velocity of the joint in SI units (meter/second). + double velocity = 11; + + /// \brief Force applied to the joint in SI units (Newton). + double force = 12; + + /// \brief Acceleration of the joint is SI units (meter/second^2). + double acceleration = 13; + + /// \brief Set the name of the coordinate frame in which this joint axis's + /// unit vector is expressed. An empty value implies the parent (joint) + /// frame. + string xyz_expressed_in = 14; +} diff --git a/proto/gz/msgs/axis_aligned_2d_box.proto b/proto/gz/msgs/axis_aligned_2d_box.proto new file mode 100644 index 00000000..a5399a02 --- /dev/null +++ b/proto/gz/msgs/axis_aligned_2d_box.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "AxisAligned2DBoxProtos"; + +/// \ingroup gz.msgs +/// \interface AxisAligned2DBox +/// \brief A 2D axis aligned box + +import "gz/msgs/header.proto"; +import "gz/msgs/vector2d.proto"; + +message AxisAligned2DBox +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Minimum corner of the axis aligned bound box in image coord. + Vector2d min_corner = 2; + + /// \brief Maximum corner of the axis aligned bound box in the image coord. + Vector2d max_corner = 3; +} diff --git a/proto/gz/msgs/axis_aligned_box.proto b/proto/gz/msgs/axis_aligned_box.proto new file mode 100644 index 00000000..c0270f38 --- /dev/null +++ b/proto/gz/msgs/axis_aligned_box.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "AxisAlignedBoxProtos"; + +/// \ingroup gz.msgs +/// \interface AxisAlignedBox +/// \brief An axis aligned box + +import "gz/msgs/header.proto"; +import "gz/msgs/vector3d.proto"; + +message AxisAlignedBox +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Minimum corner of the axis aligned bound box in the global frame. + Vector3d min_corner = 2; + + /// \brief Maximum corner of the axis aligned bound box in the global frame. + Vector3d max_corner = 3; +} diff --git a/proto/gz/msgs/battery.proto b/proto/gz/msgs/battery.proto new file mode 100644 index 00000000..576b1b39 --- /dev/null +++ b/proto/gz/msgs/battery.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "BatteryProtos"; + +/// \ingroup gz.msgs +/// \interface Battery +/// \brief Message for a battery + +import "gz/msgs/header.proto"; + +message Battery +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Name of the battery + string name = 2; + + /// \brief Real voltage in volts. + double voltage = 3; +} diff --git a/proto/gz/msgs/battery_state.proto b/proto/gz/msgs/battery_state.proto new file mode 100644 index 00000000..6224243e --- /dev/null +++ b/proto/gz/msgs/battery_state.proto @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "BatteryStateProtos"; + +/// \ingroup gz.msgs +/// \interface BatteryState +/// \brief Message for battery state + +import "gz/msgs/header.proto"; + +message BatteryState +{ + enum PowerSupplyStatus + { + UNKNOWN = 0; + CHARGING = 1; + DISCHARGING = 2; + NOT_CHARGING = 3; + FULL = 4; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief Voltage in Volts + double voltage = 2; + + /// \brief Current draw in Ampere + double current = 3; + + /// \brief Amount of charge in the battery in Ah + double charge = 4; + + /// \brief Capacity in Ah + double capacity = 5; + + /// \brief Percentage of charge left + double percentage = 6; + + /// \brief The charging status + PowerSupplyStatus power_supply_status = 7; +} diff --git a/proto/gz/msgs/boolean.proto b/proto/gz/msgs/boolean.proto new file mode 100644 index 00000000..6ededf1f --- /dev/null +++ b/proto/gz/msgs/boolean.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "BoolProtos"; + +/// \ingroup gz.msgs +/// \interface Bool +/// \brief Boolean message + +import "gz/msgs/header.proto"; + +message Boolean +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Boolean data + bool data = 2; +} diff --git a/proto/gz/msgs/boxgeom.proto b/proto/gz/msgs/boxgeom.proto new file mode 100644 index 00000000..36c7b909 --- /dev/null +++ b/proto/gz/msgs/boxgeom.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "BoxGeomProtos"; + +/// \ingroup gz.msgs +/// \interface BoxGeom +/// \brief Information about a box geometry + +import "gz/msgs/header.proto"; +import "gz/msgs/vector3d.proto"; + +message BoxGeom +{ + /// \brief Optional header data + Header header = 1; + + Vector3d size = 2; +} diff --git a/proto/gz/msgs/bytes.proto b/proto/gz/msgs/bytes.proto new file mode 100644 index 00000000..2841de65 --- /dev/null +++ b/proto/gz/msgs/bytes.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "BytesProtos"; + +/// \ingroup gz.msgs +/// \interface Bytes +/// \brief Bytes message + +import "gz/msgs/header.proto"; + +message Bytes +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Bytes data + bytes data = 2; +} diff --git a/proto/gz/msgs/camera_cmd.proto b/proto/gz/msgs/camera_cmd.proto new file mode 100644 index 00000000..3ca244be --- /dev/null +++ b/proto/gz/msgs/camera_cmd.proto @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "CameraCmdProtos"; + +/// \ingroup gz.msgs +/// \interface CameraCmd +/// \brief Message for camera command + +import "gz/msgs/header.proto"; + +message CameraCmd +{ + /// \brief Optional header data + Header header = 1; + + string follow_model = 2; +} diff --git a/proto/gz/msgs/camera_info.proto b/proto/gz/msgs/camera_info.proto new file mode 100644 index 00000000..51accad1 --- /dev/null +++ b/proto/gz/msgs/camera_info.proto @@ -0,0 +1,156 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "CameraInfoProtos"; + +/// \ingroup gz.msgs +/// \interface CameraInfo +/// \brief Information about a camera + +import "gz/msgs/header.proto"; + +/// \brief Meta information about a camera and the images produced by the +/// camera. This data is typically published alongside a camera image stream +/// on a topic called "camera_info". +/// +/// Format of this message as heavily borrowed from: +/// http://docs.ros.org/melodic/api/sensor_msgs/html/msg/CameraInfo.html +message CameraInfo +{ + /// The distortion model used by the camera. + message Distortion + { + /// \brief Types of distortion models. + enum DistortionModelType + { + /// \brief Plumb bob distortion model. + PLUMB_BOB = 0; + + /// \brief Rational polynomial distortion model. + RATIONAL_POLYNOMIAL = 1; + + /// \brief Equidistant distortion model. + EQUIDISTANT = 2; + } + + /// \brief The distortion model used. + DistortionModelType model = 1; + + /// \brief Distortion coefficients. The meaning of the coefficients changes + /// according to the distortion model: + /// + /// PLUMP_BOB: 5 parameters, in this order: + /// * k1: radial distortion coefficient k1 + /// * k2: radial distortion coefficient k2 + /// * t1: tangential distortion coefficient t1 + /// * t2: tangential distortion coefficient t2 + /// * k3: radial distortion coefficient k3 + /// + /// RATIONAL_POLYNOMIAL: 8 parameters + /// + /// EQUIDISTANT: 4 parameters, described in this paper: + /// http://www.ee.oulu.fi/~jkannala/publications/tpami2006.pdf + repeated double k = 2; + }; + + /// \brief Intrinsic camera matrix for the raw (distorted) images can be + /// generated using the fx, fy, cx, and cy parameters contained in this + /// message. For example the intrinsic camera matrix K would be: + /// [fx s cx] + /// K = [ 0 fy cy] + /// [ 0 0 1] + /// Projects 3D points in the camera coordinate frame to 2D pixel + /// coordinates using the focal lengths (fx, fy) and principal point + /// (cx, cy). + message Intrinsics + { + /// \brief 3x3 row-major matrix + repeated double k = 1; + }; + + /// \brief The projection/camera matrix can be generated using the values in + /// this message. For example, the projection matrix P would be: + /// + /// [fx s cx tx] + /// P = [ 0 fy cy ty] + /// [ 0 0 1 0] + /// + /// Where: + /// * fx is the X Focal length + /// * fy is the Y Focal length + /// * cx is the X principal point + /// * cy is the Y principal point + /// * tx is the X position of the second camera in this camera's frame. + /// * ty is the Y position of the second camera in this camera's frame. + /// * s is the axis skew. + /// + /// By convention, this matrix specifies the intrinsic (camera) matrix + /// of the processed (rectified) image. That is, the left 3x3 portion + /// is the normal camera intrinsic matrix for the rectified image. + /// It projects 3D points in the camera coordinate frame to 2D pixel + /// coordinates using the focal lengths (fx, fy) and principal point + /// (cx, cy) - these may differ from the values in the Intrinsics message. + /// For monocular cameras, tx = ty = 0. Normally, monocular cameras will + /// also have R = the identity and P[1:3,1:3] = K. + /// For a stereo pair, tx and ty are related to the + /// position of the optical center of the second camera in the first + /// camera's frame. We assume both cameras are in the same + /// stereo image plane. The first camera always has tx = ty = 0. For + /// the right (second) camera of a horizontal stereo pair, ty = 0 and + /// tx = -fx * B, where B is the baseline between the cameras. + /// Given a 3D point [X Y Z]', the projection (x, y) of the point onto + /// the rectified image is given by: + /// [u v w]' = P * [X Y Z 1]' + /// x = u / w + /// y = v / w + /// This holds for both images of a stereo pair. + message Projection + { + /// \brief 3x4 row-major matrix + repeated double p = 1; + }; + + /// \brief Header data. The header timestamp is the time of image + /// acquisition. The header data map should have a 'frame_id' key with a + /// value that is the camera coordinate frame ID. + Header header = 1; + + /// \brief Width of the image produced by a camera in pixels. + uint32 width = 2; + + /// \brief Height of the image produced by a camera in pixels. + uint32 height = 3; + + /// \brief Distortion information for the camera images. + Distortion distortion = 4; + + /// \brief Camera intrinsics. + Intrinsics intrinsics = 5; + + /// \brief Camera projection information. + Projection projection = 6; + + /// \brief Rectification matrix (stereo cameras only). + /// A rotation matrix aligning the camera coordinate system to the ideal + /// stereo image plane so that epipolar lines in both stereo images are + /// parallel. + /// This field should be treated as a 3x3 row-major matrix. + repeated double rectification_matrix = 7[packed=true]; +}; diff --git a/proto/gz/msgs/camera_lens.proto b/proto/gz/msgs/camera_lens.proto new file mode 100644 index 00000000..003f8a16 --- /dev/null +++ b/proto/gz/msgs/camera_lens.proto @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "CameraLensProtos"; + +/// \ingroup gz.msgs +/// \interface CameraLens +/// \brief Information and control over a camera lens element + +import "gz/msgs/header.proto"; + +message CameraLens +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Type of projection of the lens + /// possible values are "gnomonical", "stereographic", "equidistant", + /// "equisolid_angle", "stereographic", "custom". + /// If you set this value to "custom" you need to specify at least one + /// of the `c1`, `c2`, `c3`, `f` or `fun`. + string type = 2; + + /// \brief Linear image scaling factor + double c1 = 3; + + /// \brief Angle scaling factor + double c2 = 4; + + /// \brief Angle offset factor + double c3 = 5; + + /// \brief Linear scaling factor, unlike `c1`, will be adjusted to match hfov + /// if scale_to_fov is set to `true`. + double f = 6; + + /// \brief Angle modification function + // possible values are "tan", "sin" and "id". + string fun = 7; + + /// \brief Scale image to fit horizontal FOV + bool scale_to_hfov = 8; + + /// \brief Everything outside of this angle will be hidden, + /// the angle is counted from camera's X (forward) axis. + double cutoff_angle = 9; + + /// \brief Horizontal field of view in radians. + double hfov = 10; + + /// \brief Size of cube map texture, + /// used to store intermediate rendering result. + int32 env_texture_size = 11; +} diff --git a/proto/gz/msgs/camerasensor.proto b/proto/gz/msgs/camerasensor.proto new file mode 100644 index 00000000..92ef75b5 --- /dev/null +++ b/proto/gz/msgs/camerasensor.proto @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "CameraSensorProtos"; + +/// \ingroup gz.msgs +/// \interface CameraSensor +/// \brief Information about a camera sensor element + +import "gz/msgs/vector2d.proto"; +import "gz/msgs/distortion.proto"; +import "gz/msgs/header.proto"; + +message CameraSensor +{ + /// \brief Optional header data + Header header = 1; + + double horizontal_fov = 2; + Vector2d image_size = 3; + string image_format = 4; + double near_clip = 5; + double far_clip = 6; + bool save_enabled = 7; + string save_path = 8; + Distortion distortion = 9; +} diff --git a/proto/gz/msgs/capsulegeom.proto b/proto/gz/msgs/capsulegeom.proto new file mode 100644 index 00000000..1103221a --- /dev/null +++ b/proto/gz/msgs/capsulegeom.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "CapsuleGeomProtos"; + +/// \ingroup gz.msgs +/// \interface CapsuleGeom +/// \brief Information about a capsule geometry + +import "gz/msgs/header.proto"; + +message CapsuleGeom +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Radius of the capsule + double radius = 2; + /// \brief Height of the cylinder + double length = 3; +} diff --git a/proto/gz/msgs/cessna.proto b/proto/gz/msgs/cessna.proto new file mode 100644 index 00000000..2100ba0f --- /dev/null +++ b/proto/gz/msgs/cessna.proto @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "CessnaProtos"; + +/// \ingroup gz.msgs +/// \interface Cessna +/// \brief Cessna message + +import "gz/msgs/header.proto"; + +message Cessna +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Current RPM of the propeller. + float propeller_speed = 2; + + /// \brief Current left aileron angle in rads. + float left_aileron = 3; + + /// \brief Current left flap angle in rads. + float left_flap = 4; + + /// \brief Current right aileron angle in rads. + float right_aileron = 5; + + /// \brief Current right flap angle in rads. + float right_flap = 6; + + /// \brief Current elevators angle in rads. + float elevators = 7; + + /// \brief Current ruddle angle in rads. + float rudder = 8; + + /// \brief Target RPM of the propeller. + float cmd_propeller_speed = 9; + + /// \brief Target left aileron angle in rads. + float cmd_left_aileron = 10; + + /// \brief Target left flap angle in rads. + float cmd_left_flap = 11; + + /// \brief Target right aileron angle in rads. + float cmd_right_aileron = 12; + + /// \brief Target right flap angle in rads. + float cmd_right_flap = 13; + + /// \brief Target elevators angle in rads. + float cmd_elevators = 14; + + /// \brief Target ruddle angle in rads. + float cmd_rudder = 15; +} diff --git a/proto/gz/msgs/clock.proto b/proto/gz/msgs/clock.proto new file mode 100644 index 00000000..3f27e748 --- /dev/null +++ b/proto/gz/msgs/clock.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ClockProtos"; + +/// \ingroup gz.msgs +/// \interface Clock +/// \brief A message with clock information + +import "gz/msgs/time.proto"; +import "gz/msgs/header.proto"; + +message Clock +{ + /// \brief Optional header data + Header header = 1; + + Time system = 2; + Time real = 3; + Time sim = 4; +} diff --git a/proto/gz/msgs/cmd_vel2d.proto b/proto/gz/msgs/cmd_vel2d.proto new file mode 100644 index 00000000..08793619 --- /dev/null +++ b/proto/gz/msgs/cmd_vel2d.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "CmdVel2DProtos"; + +/// \ingroup gz.msgs +/// \interface CmdVel2D +/// \brief A planar velocity and orientation. + +import "gz/msgs/header.proto"; + +message CmdVel2D +{ + /// \brief Optional header data + Header header = 1; + + double velocity = 2; + double theta = 3; +} diff --git a/proto/gz/msgs/collision.proto b/proto/gz/msgs/collision.proto new file mode 100644 index 00000000..bcc2e42c --- /dev/null +++ b/proto/gz/msgs/collision.proto @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "CollisionProtos"; + +/// \ingroup gz.msgs +/// \interface Collision +/// \brief Information about a collision element + +import "gz/msgs/pose.proto"; +import "gz/msgs/geometry.proto"; +import "gz/msgs/surface.proto"; +import "gz/msgs/visual.proto"; +import "gz/msgs/header.proto"; + +message Collision +{ + /// \brief Optional header data + Header header = 1; + + uint32 id = 2; + string name = 3; + double laser_retro = 4; + double max_contacts = 5; + Pose pose = 6; + Geometry geometry = 7; + Surface surface = 8; + + repeated Visual visual = 9; +} + diff --git a/proto/gz/msgs/color.proto b/proto/gz/msgs/color.proto new file mode 100644 index 00000000..919565ff --- /dev/null +++ b/proto/gz/msgs/color.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ColorProtos"; + +/// \ingroup gz.msgs +/// \interface Color +/// \brief Color message + +import "gz/msgs/header.proto"; + +message Color +{ + /// \brief Optional header data + Header header = 1; + + float r = 2; + float g = 3; + float b = 4; + float a = 5; +} diff --git a/proto/gz/msgs/conegeom.proto b/proto/gz/msgs/conegeom.proto new file mode 100644 index 00000000..73adfa72 --- /dev/null +++ b/proto/gz/msgs/conegeom.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ConeGeomProtos"; + +/// \ingroup gz.msgs +/// \interface ConeGeom +/// \brief Information about a cone geometry + +import "gz/msgs/header.proto"; + +message ConeGeom +{ + /// \brief Optional header data + Header header = 1; + + /// \brief The base radius of cone in meters + double radius = 2; + + /// \brief The distance in meters from the base to the apex of the cone + double length = 3; +} diff --git a/proto/gz/msgs/contact.proto b/proto/gz/msgs/contact.proto new file mode 100644 index 00000000..b70e7987 --- /dev/null +++ b/proto/gz/msgs/contact.proto @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ContactProtos"; + +/// \ingroup gz.msgs +/// \interface Contact +/// \brief Contact message for passing info between two entities + +import "gz/msgs/entity.proto"; +import "gz/msgs/vector3d.proto"; +import "gz/msgs/joint_wrench.proto"; +import "gz/msgs/header.proto"; + +message Contact +{ + /// \brief Optional header data + Header header = 1; + + Entity collision1 = 2; + Entity collision2 = 3; + + repeated Vector3d position = 4; + repeated Vector3d normal = 5; + repeated double depth = 6; + repeated JointWrench wrench = 7; + + Entity world = 8; +} diff --git a/proto/gz/msgs/contacts.proto b/proto/gz/msgs/contacts.proto new file mode 100644 index 00000000..7a2bd307 --- /dev/null +++ b/proto/gz/msgs/contacts.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ContactsProtos"; + +/// \ingroup gz.msgs +/// \interface Contacts +/// \brief Contacts from collision detection + +import "gz/msgs/header.proto"; +import "gz/msgs/contact.proto"; + +message Contacts +{ + /// \brief Optional header data + Header header = 1; + + repeated Contact contact = 2; +} diff --git a/proto/gz/msgs/contactsensor.proto b/proto/gz/msgs/contactsensor.proto new file mode 100644 index 00000000..4ecd1de0 --- /dev/null +++ b/proto/gz/msgs/contactsensor.proto @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ContactSensorProtos"; + +/// \ingroup gz.msgs +/// \interface ContactSensor +/// \brief Information about a contact sensor element + +import "gz/msgs/header.proto"; + +message ContactSensor +{ + /// \brief Optional header data + Header header = 1; + + string collision_name = 2; +} diff --git a/proto/gz/msgs/cylindergeom.proto b/proto/gz/msgs/cylindergeom.proto new file mode 100644 index 00000000..8ecd03c7 --- /dev/null +++ b/proto/gz/msgs/cylindergeom.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "CylinderGeomProtos"; + +/// \ingroup gz.msgs +/// \interface CylinderGeom +/// \brief Information about a cylinder geometry + +import "gz/msgs/header.proto"; + +message CylinderGeom +{ + /// \brief Optional header data + Header header = 1; + + double radius = 2; + double length = 3; +} diff --git a/proto/gz/msgs/dataframe.proto b/proto/gz/msgs/dataframe.proto new file mode 100644 index 00000000..d3e6673c --- /dev/null +++ b/proto/gz/msgs/dataframe.proto @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "DataframeProtos"; + +/// \ingroup gz.msgs +/// \interface Dataframe +/// \brief A message containing some payload and who are the sender and +/// destination. + +import "gz/msgs/header.proto"; + +message Dataframe +{ + /// \brief Header data. + Header header = 1; + + /// \brief Address of the sender. + string src_address = 2; + + /// \brief Address of the destination. + string dst_address = 3; + + /// \brief Payload. + bytes data = 4; +} diff --git a/proto/gz/msgs/density.proto b/proto/gz/msgs/density.proto new file mode 100644 index 00000000..328392e0 --- /dev/null +++ b/proto/gz/msgs/density.proto @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "DensityProtos"; + +/// \ingroup gz.msgs +/// \interface Density +/// \brief Information about density + +import "gz/msgs/header.proto"; + +message Density +{ + /// \brief Optional header data + Header header = 1; + + double density = 2; +} diff --git a/proto/gz/msgs/diagnostics.proto b/proto/gz/msgs/diagnostics.proto new file mode 100644 index 00000000..a4aa59c9 --- /dev/null +++ b/proto/gz/msgs/diagnostics.proto @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "DiagnosticsProtos"; + +/// \ingroup gz.msgs +/// \interface Diagnostics +/// \brief Diagnostic information about a running instance of Gazebo. +/// Gazebo must have been compiled with the ENABLE_DIAGNOSTICS flag. + +import "gz/msgs/time.proto"; +import "gz/msgs/header.proto"; + +message Diagnostics +{ + message DiagTime + { + string name = 1; + Time elapsed = 2; + Time wall = 3; + } + + /// \brief Optional header data + Header header = 1; + + repeated DiagTime time = 2; + Time real_time = 3; + Time sim_time = 4; + double real_time_factor = 5; +} diff --git a/proto/gz/msgs/discovery.proto b/proto/gz/msgs/discovery.proto new file mode 100644 index 00000000..19608e8f --- /dev/null +++ b/proto/gz/msgs/discovery.proto @@ -0,0 +1,175 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "DiscoveryProtos"; + +/// \ingroup gz.msgs +/// \interface Discovery +/// \brief Message that contains Discovery information. + +import "gz/msgs/header.proto"; + +message Discovery +{ + /// \brief Type of discovery message. + enum Type + { + /// \brief Type not initialized. + UNINITIALIZED = 0; + + /// \brief Advertise message. + ADVERTISE = 1; + + /// \brief Subscribe message. + SUBSCRIBE = 2; + + /// \brief Unadvertise message. + UNADVERTISE = 3; + + /// \brief Hearbeat message. + HEARTBEAT = 4; + + /// \brief Bye message. + BYE = 5; + + /// \brief New connection message. + NEW_CONNECTION = 6; + + /// \brief End connection message. + END_CONNECTION = 7; + } + + /// \brief Discovery flags. + message Flags + { + /// \brief Flag set when a discovery message is relayed. + bool relay = 1; + + /// \brief Flag set when we want to avoid to relay a discovery message. + /// This is used to avoid loops. + bool no_relay = 2; + } + + /// \brief Information about a subscriber. + message Subscriber + { + string topic = 1; + } + + /// \brief Information about a publisher. + message Publisher + { + /// \brief Defines the different options for the scope of a topic/service. + enum Scope + { + /// \brief Topic/service only available to subscribers in the same + /// process as the publisher. + PROCESS = 0; + + /// \brief Topic/service only available to subscribers in the same + /// machine as the publisher. + HOST = 1; + + /// \brief Topic/service available to any subscriber. + ALL = 2; + } + + /// \brief Information about a message publisher. + message MessagePublisher + { + /// \brief ZeroMQ control address of the publisher. + /// \todo(caguero) Is this the same as 'socket_id' in the + /// ServicePublisher message? + string ctrl = 1; + + /// \brief Message type advertised by this publisher. + string msg_type = 2; + + /// \brief Whether the publication has been throttled. + bool throttled = 3; + + /// \brief The maximum number of messages per second to be published. + uint64 msgs_per_sec = 4; + } + + /// \brief Information about service provider. + message ServicePublisher + { + /// \brief ZeroMQ socket ID used by this publisher. + string socket_id = 1; + + /// \brief The name of the request's protobuf message advertised. + string request_type = 2; + + /// \brief The name of the response's protobuf message advertised. + string response_type = 3; + } + + /// \brief Topic name. + string topic = 1; + + /// \brief ZeroMQ address of the publisher. + string address = 2; + + /// \brief Process UUID of the publisher. + string process_uuid = 3; + + /// \brief Node UUID of the publisher. + string node_uuid = 4; + + /// \brief The scope of this publisher. + Scope scope = 5; + + /// \brief Information about a message or service publisher. + oneof pub_type + { + /// \brief Message publisher. + MessagePublisher msg_pub = 6; + + /// \brief Service provider. + ServicePublisher srv_pub = 7; + } + } + + /// \brief Optional header data. + Header header = 1; + + /// \brief Version of the discovery protocol. + uint32 version = 2; + + /// \brief Process UUID. + string process_uuid = 3; + + /// \brief The type of this message. + Type type = 4; + + /// \brief Optional flags. + Flags flags = 5; + + /// \brief Optional subscriber or publisher information. + oneof disc_contents + { + /// \brief Subscriber information. + Subscriber sub = 6; + + /// \brief Publisher information. + Publisher pub = 7; + } +} diff --git a/proto/gz/msgs/distortion.proto b/proto/gz/msgs/distortion.proto new file mode 100644 index 00000000..cd268917 --- /dev/null +++ b/proto/gz/msgs/distortion.proto @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "DistortionProtos"; + +/// \ingroup gz.msgs +/// \interface Distortion +/// \brief Information about a distortion element + +import "gz/msgs/vector2d.proto"; +import "gz/msgs/header.proto"; + +message Distortion +{ + /// \brief Optional header data + Header header = 1; + + Vector2d center = 2; + double k1 = 3; + double k2 = 4; + double k3 = 5; + double p1 = 6; + double p2 = 7; +} diff --git a/proto/gz/msgs/double.proto b/proto/gz/msgs/double.proto new file mode 100644 index 00000000..b09d3f10 --- /dev/null +++ b/proto/gz/msgs/double.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "DoubleProtos"; + +/// \ingroup gz.msgs +/// \interface Double +/// \brief A message for double data + +import "gz/msgs/header.proto"; + +message Double +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Double data + double data = 2; +} diff --git a/proto/gz/msgs/double_v.proto b/proto/gz/msgs/double_v.proto new file mode 100644 index 00000000..5b00df5c --- /dev/null +++ b/proto/gz/msgs/double_v.proto @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "DoubleVProtos"; + +/// \ingroup gz.msgs +/// \interface Double_V +/// \brief A message for a vector of double data + +message Double_V +{ + /// \brief Vector of double data + repeated double data = 1; +} diff --git a/proto/gz/msgs/duration.proto b/proto/gz/msgs/duration.proto new file mode 100644 index 00000000..b0d76a68 --- /dev/null +++ b/proto/gz/msgs/duration.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "DurationProtos"; + +/// \ingroup gz.msgs +/// \interface Duration +/// \brief A message for duration data + +import "gz/msgs/header.proto"; + +message Duration +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Seconds + int64 sec = 2; + + /// \brief Nanoseconds + int32 nsec = 3; +} diff --git a/proto/gz/msgs/ellipsoidgeom.proto b/proto/gz/msgs/ellipsoidgeom.proto new file mode 100644 index 00000000..d0a0a314 --- /dev/null +++ b/proto/gz/msgs/ellipsoidgeom.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "EllipsoidGeomProtos"; + +/// \ingroup gz.msgs +/// \interface EllipsoidGeom +/// \brief Information about a ellipsoid geometry + +import "gz/msgs/header.proto"; +import "gz/msgs/vector3d.proto"; + +message EllipsoidGeom +{ + /// \brief Optional header data + Header header = 1; + + /// \brief 3D Vector with the three radius that define a ellipsoid + Vector3d radii = 2; +} diff --git a/proto/gz/msgs/empty.proto b/proto/gz/msgs/empty.proto new file mode 100644 index 00000000..69542bf1 --- /dev/null +++ b/proto/gz/msgs/empty.proto @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "EmptyProtos"; + +/// \ingroup gz.msgs +/// \interface Empty +/// \brief An empty message. + +message Empty +{ + /// \brief Unused field. + bool unused = 1; +} diff --git a/proto/gz/msgs/entity.proto b/proto/gz/msgs/entity.proto new file mode 100644 index 00000000..c2e9effa --- /dev/null +++ b/proto/gz/msgs/entity.proto @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "EntityProtos"; + +/// \ingroup gz.msgs +/// \interface Entity +/// \brief A message for identifying an entity. +/// +/// Whenever a single entity should be identified by this message, +/// it is expected that the message is used as follows: +/// +/// if id not null +/// use id +/// else if name not null and type not null +/// use name + type +/// else +/// error +/// end + +import "gz/msgs/header.proto"; + +message Entity +{ + /// \brief Entity type + enum Type + { + /// \brief No type specified + NONE = 0; + + /// \brief Light + LIGHT = 1; + + /// \brief Model + MODEL = 2; + + /// \brief Link + LINK = 3; + + /// \brief Visual + VISUAL = 4; + + /// \brief Collision + COLLISION = 5; + + /// \brief Sensor + SENSOR = 6; + + /// \brief Joint + JOINT = 7; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief Entity unique identifier accross all types. Defaults to null + /// entity (0). + uint64 id = 2; + + /// \brief Entity name, which is not guaranteed to be unique. + string name = 3; + + /// \brief Entity type. + Type type = 4; +} diff --git a/proto/gz/msgs/entity_factory.proto b/proto/gz/msgs/entity_factory.proto new file mode 100644 index 00000000..f7d7b8d9 --- /dev/null +++ b/proto/gz/msgs/entity_factory.proto @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "EntityFactoryProtos"; + +/// \ingroup gz.msgs +/// \interface EntityFactory +/// \brief Message to create new entities at a given pose. +/// An entity can be created in one of the following ways: +/// +/// 1. From an SDF string (sdf) +/// 2. From an SDF file (sdf_filename) +/// 3. From a message (model / light) +/// 4. Cloning an existing entity (clone_name) + +import "gz/msgs/header.proto"; +import "gz/msgs/light.proto"; +import "gz/msgs/model.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/spherical_coordinates.proto"; + +message EntityFactory +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Only one method is supported at a time + oneof from + { + /// \brief SDF description in string format. + string sdf = 2; + + /// \brief Full path to SDF file. + string sdf_filename = 3; + + /// \brief Description of model to be inserted. + Model model = 4; + + /// \brief Description of light to be inserted. + Light light = 5; + + /// \brief Name of entity to clone. + string clone_name = 6; + } + + /// \brief Pose where the entity will be spawned in the world. + /// If set, `spherical_coordinates` will be ignored. + Pose pose = 7; + + /// \brief New name for the entity, overrides the name on the SDF. + string name = 8; + + /// \brief Whether the server is allowed to rename the entity in case of + /// overlap with existing entities. + bool allow_renaming = 9; + + /// \brief The pose will be defined relative to this frame. If left empty, + /// the "world" frame will be used. + string relative_to = 10; + + /// \brief Spherical coordinates where the entity will be spawned in the + /// world. + /// If `pose` is also set: + /// * `pose.position` is ignored in favor of latitude, longitude and + /// elevation. + /// * `pose.orientation` is used in conjunction with heading: + /// Quaternion::fromEuler(0, 0, heading) * pose.orientation + SphericalCoordinates spherical_coordinates = 11; +} diff --git a/proto/gz/msgs/entity_factory_v.proto b/proto/gz/msgs/entity_factory_v.proto new file mode 100644 index 00000000..0b0cab9e --- /dev/null +++ b/proto/gz/msgs/entity_factory_v.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "EntityFactoryVProtos"; + +/// \ingroup gz.msgs +/// \interface EntityFactory_V +/// \brief A message for a vector of EntityFactory messages +// +import "gz/msgs/entity_factory.proto"; +import "gz/msgs/header.proto"; + +message EntityFactory_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief The set of entity factory messages. + repeated EntityFactory data = 2; +} diff --git a/proto/gz/msgs/float.proto b/proto/gz/msgs/float.proto new file mode 100644 index 00000000..c7bddf52 --- /dev/null +++ b/proto/gz/msgs/float.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "FloatProtos"; + +/// \ingroup gz.msgs +/// \interface Float +/// \brief A message for float data + +import "gz/msgs/header.proto"; + +message Float +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Float data + float data = 2; +} diff --git a/proto/gz/msgs/float_v.proto b/proto/gz/msgs/float_v.proto new file mode 100644 index 00000000..783abfec --- /dev/null +++ b/proto/gz/msgs/float_v.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "FloatVProtos"; + +/// \ingroup gz.msgs +/// \interface Float_V +/// \brief A message for a vector of float data + +import "gz/msgs/header.proto"; + +message Float_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Vector of float data + repeated float data = 2; +} diff --git a/proto/gz/msgs/fluid.proto b/proto/gz/msgs/fluid.proto new file mode 100644 index 00000000..76d88660 --- /dev/null +++ b/proto/gz/msgs/fluid.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "FluidProtos"; + +/// \ingroup gz.msgs +/// \interface Fluid +/// \brief msg passing fluid particle position + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message Fluid +{ + /// \brief Optional header data + Header header = 1; + + // Name of the fluid + string name = 2; + + // Position of each particle in the fluid. + repeated Vector3d position = 3; +} diff --git a/proto/gz/msgs/fluid_pressure.proto b/proto/gz/msgs/fluid_pressure.proto new file mode 100644 index 00000000..b9fc1481 --- /dev/null +++ b/proto/gz/msgs/fluid_pressure.proto @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "FluidPressureProtos"; + +/// \ingroup gz.msgs +/// \interface Fluid pressure +/// \brief Data from a pressure sensor. The data in message is suitable for +/// fluids, and not force/pressure contact sensors. + +import "gz/msgs/header.proto"; + +/// \brief Fluid pressure data. +message FluidPressure +{ + // Other Optional header data + Header header = 1; + + /// \brief Pressure reading in Pascals + double pressure = 2; + + /// \brief Pressure variance. 0 is interpreted as variance unknown. + double variance = 3; +} diff --git a/proto/gz/msgs/fog.proto b/proto/gz/msgs/fog.proto new file mode 100644 index 00000000..3a1622da --- /dev/null +++ b/proto/gz/msgs/fog.proto @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "FogProtos"; + +/// \ingroup gz.msgs +/// \interface Fog +/// \brief Message for fog data + +import "gz/msgs/color.proto"; +import "gz/msgs/header.proto"; + +message Fog +{ + enum FogType + { + NONE = 0; + LINEAR = 1; + EXPONENTIAL = 2; + EXPONENTIAL2 = 3; + } + + /// \brief Optional header data + Header header = 1; + + FogType type = 2; + Color color = 3; + float density = 4; + float start = 5; + float end = 6; +} diff --git a/proto/gz/msgs/friction.proto b/proto/gz/msgs/friction.proto new file mode 100644 index 00000000..9bb0a652 --- /dev/null +++ b/proto/gz/msgs/friction.proto @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "FrictionProtos"; + +/// \ingroup gz.msgs +/// \interface Friction +/// \brief Information about friction + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message Friction +{ + message Torsional + { + message ODE + { + /// \brief Force dependent slip for torsional friction, between the range + /// of [0..1]. + double slip = 1; + } + + /// \brief Torsional coefficient of friction in the range of [0..1]. + double coefficient = 1; + + /// \brief By default, torsional friction is calculated using the + /// "patch_radius", which is sqrt(R*d), where "R" is the radius of the + /// collision at the contact point (surface_radius) and "d" is the contact + /// depth. If this flag is set to false, surface_radius and contact depth + /// will be used instead of patch radius. + bool use_patch_radius = 2; + + /// \brief Radius of contact patch surface, used for torsional friction. + double patch_radius = 3; + + /// \brief Surface radius on the point of contact, used for torsional + /// friction. + double surface_radius = 4; + + /// \brief Torsional friction information exclusive to ODE physics engine. + ODE ode = 5; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief Coefficient of friction in the range of [0..1]. + double mu = 2; + + /// \brief Second coefficient of friction in the range of [0..1]. + double mu2 = 3; + + /// \brief Direction of mu1 in the collision local reference frame. + Vector3d fdir1 = 4; + + /// \brief Force dependent slip direction 1 in collision local frame, between + /// the range of [0..1]. + double slip1 = 5; + + /// \brief Force dependent slip direction 2 in collision local frame, between + /// the range of [0..1]. + double slip2 = 6; + + /// \brief Torsional friction. + Torsional torsional = 7; +} diff --git a/proto/gz/msgs/fuel_metadata.proto b/proto/gz/msgs/fuel_metadata.proto new file mode 100644 index 00000000..25ebd521 --- /dev/null +++ b/proto/gz/msgs/fuel_metadata.proto @@ -0,0 +1,152 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "FuelMetadata"; + +/// \ingroup gz.msgs +/// \interface FuelMetadata +/// \brief Meta data for an ignition Fuel resource, such as a model or world. + +import "gz/msgs/version.proto"; +import "gz/msgs/version_range.proto"; +import "gz/msgs/versioned_name.proto"; + +message FuelMetadata +{ + /// \brief Contact information. + message Contact + { + /// \brief Contact name. + string name = 1; + + /// \brief Contact email. + string email = 2; + } + + /// \brief Legal information, including copyright and license specifications. + message Legal + { + /// \brief Copyright information, such as "Copyright 1974, John Doe" + string copyright = 1; + + /// \brief License, such as "Apache-2.0" + string license = 2; + } + + /// \brief Information about a model resource. + message Model + { + /// \brief Main model file, e.g. "model.sdf". + string file = 1; + + /// \brief Name and version of the file format used by the file. + VersionedName file_format = 2; + } + + /// \brief Information about a world resource. + message World + { + /// \brief Main world file, e.g. "world.sdf". + string file = 1; + + /// \brief Name and version of the file format used by the file. + VersionedName file_format = 2; + } + + /// \brief Definition of a dependency + message Dependency + { + /// \brief Dependency uri. + string uri = 1; + } + + /// \brief A message containing a tool name and a version or range of + /// versions, e.g. + /// tools { name: "bullet" version_range { min: {major: 3 } } } } + /// tools { name: "gazebo" version { major: 11 } } + message Compatibility + { + /// \brief Name of the tool/library. + string name = 1; + + /// \brief If version is omitted, it is assumed that the model is + /// compatible with all versions of the tool. + oneof version_type + { + /// \brief Exact version that the model is compatible with. + Version version = 2; + + /// \brief A range of compatible versions. + VersionRange version_range = 3; + } + } + + /// \brief Categories associated with this resource. The set of + /// Fuel categories are available at + /// https://fuel.ignitionrobotics.org/1.0/categories. + /// + /// A limited number of categories can be assigned to a Fuel resource. + message Categories + { + /// \brief First category. + string first = 1; + + /// \brief Second category. + string second = 2; + } + + /// \brief A Fuel resource has to be one of the following. + oneof resource_type + { + Model model = 1; + World world = 2; + } + + /// \brief Name of the resource. + string name = 3; + + /// \brief Description of the resource. + string description = 4; + + /// \brief Version number of the resource. This version is set by Fuel. + int32 version = 5; + + /// \brief Authors of this resource. + repeated Contact authors = 6; + + /// \brief Legal information, such as copyright and license specificiations. + Legal legal = 7; + + /// \brief Tags for a resource. + repeated string tags = 8; + + // A list of key-value pairs that can contain arbitrary user data. + map annotations = 9; + + /// \brief Resources that this resource depends on. + repeated Dependency dependencies = 10; + + /// \brief List of tools/libraries with version numbers that are compatible + /// with this resource. + repeated Compatibility compatibilities = 11; + + /// \brief Categories associated with this resource. + Categories categories = 12; +} diff --git a/proto/gz/msgs/geometry.proto b/proto/gz/msgs/geometry.proto new file mode 100644 index 00000000..23aa7ad4 --- /dev/null +++ b/proto/gz/msgs/geometry.proto @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "GeometryProtos"; + +/// \ingroup gz.msgs +/// \interface Geometry +/// \brief Information about a geometry element + +import "gz/msgs/boxgeom.proto"; +import "gz/msgs/capsulegeom.proto"; +import "gz/msgs/conegeom.proto"; +import "gz/msgs/cylindergeom.proto"; +import "gz/msgs/ellipsoidgeom.proto"; +import "gz/msgs/header.proto"; +import "gz/msgs/heightmapgeom.proto"; +import "gz/msgs/imagegeom.proto"; +import "gz/msgs/meshgeom.proto"; +import "gz/msgs/planegeom.proto"; +import "gz/msgs/polylinegeom.proto"; +import "gz/msgs/spheregeom.proto"; +import "gz/msgs/vector3d.proto"; + +message Geometry +{ + enum Type + { + BOX = 0; + CYLINDER = 1; + SPHERE = 2; + PLANE = 3; + IMAGE = 4; + HEIGHTMAP = 5; + MESH = 6; + TRIANGLE_FAN = 7; + LINE_STRIP = 8; + POLYLINE = 9; + CONE = 10; + EMPTY = 11; + ARROW = 12; + AXIS = 13; + CAPSULE = 14; + ELLIPSOID = 15; + } + + /// \brief Optional header data + Header header = 1; + + Type type = 2; + BoxGeom box = 3; + CylinderGeom cylinder = 4; + PlaneGeom plane = 5; + SphereGeom sphere = 6; + ImageGeom image = 7; + HeightmapGeom heightmap = 8; + MeshGeom mesh = 9; + ConeGeom cone = 10; + CapsuleGeom capsule = 13; + EllipsoidGeom ellipsoid = 14; + + repeated Vector3d points = 11; + repeated Polyline polyline = 12; +} diff --git a/proto/gz/msgs/gps.proto b/proto/gz/msgs/gps.proto new file mode 100644 index 00000000..9207a2b7 --- /dev/null +++ b/proto/gz/msgs/gps.proto @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "GPSProtos"; + +/// \ingroup gz.msgs +/// \interface GPS +/// \brief Data from a GPS sensor +/// This message will be deprecated, use NavSat instead. + +import "gz/msgs/header.proto"; + +message GPS +{ + /// \brief Optional header data + Header header = 1; + + string link_name = 2; + double latitude_deg = 3; + double longitude_deg = 4; + double altitude = 5; + double velocity_east = 6; + double velocity_north = 7; + double velocity_up = 8; +} diff --git a/proto/gz/msgs/gps_sensor.proto b/proto/gz/msgs/gps_sensor.proto new file mode 100644 index 00000000..8a4d47e5 --- /dev/null +++ b/proto/gz/msgs/gps_sensor.proto @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "Protos"; + +/// \ingroup gz.msgs +/// \interface GPSSensor +/// \brief Information about a GPS sensor element +/// This message will be deprecated in favor of NavSat sensor. + +import "gz/msgs/sensor_noise.proto"; +import "gz/msgs/header.proto"; + +message GPSSensor +{ + /// \brief Sensing information + message Sensing + { + /// \brief Horizontal noise + SensorNoise horizontal_noise = 1; + + /// \brief Vertical noise + SensorNoise vertical_noise = 2; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief Position sensing. Consists of horizontal and vertical noise + /// properties + Sensing position = 2; + + /// \brief Velocity sensing. Consists of horizontal and vertical noise + /// properties + Sensing velocity = 3; +} diff --git a/proto/gz/msgs/gui.proto b/proto/gz/msgs/gui.proto new file mode 100644 index 00000000..7518ba51 --- /dev/null +++ b/proto/gz/msgs/gui.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "GUIProtos"; + +/// \ingroup gz.msgs +/// \interface GUI +/// \brief Message for a GUI + +import "gz/msgs/gui_camera.proto"; +import "gz/msgs/plugin.proto"; +import "gz/msgs/header.proto"; + +message GUI +{ + /// \brief Optional header data + Header header = 1; + + bool fullscreen = 2; + GUICamera camera = 3; + repeated Plugin plugin = 4; +} diff --git a/proto/gz/msgs/gui_camera.proto b/proto/gz/msgs/gui_camera.proto new file mode 100644 index 00000000..96cfa121 --- /dev/null +++ b/proto/gz/msgs/gui_camera.proto @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "GUICameraProtos"; + +/// \ingroup gz.msgs +/// \interface GUICamera +/// \brief Message for a GUI Camera + +import "gz/msgs/pose.proto"; +import "gz/msgs/track_visual.proto"; +import "gz/msgs/header.proto"; + +message GUICamera +{ + /// \brief Optional header data + Header header = 1; + + string name = 2; + string view_controller = 3; + Pose pose = 4; + TrackVisual track = 5; + + /// \brief Type of projection: "perspective" or "orthographic". + string projection_type = 6; +} diff --git a/proto/gz/msgs/header.proto b/proto/gz/msgs/header.proto new file mode 100644 index 00000000..18cbb593 --- /dev/null +++ b/proto/gz/msgs/header.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "HeaderProtos"; + +/// \ingroup gz.msgs +/// \interface Header +/// \brief General information included by many messages + +import "gz/msgs/time.proto"; + +message Header +{ + message Map { + string key = 1; + repeated string value = 2; + } + + Time stamp = 1; + repeated Map data = 2; +} diff --git a/proto/gz/msgs/heightmapgeom.proto b/proto/gz/msgs/heightmapgeom.proto new file mode 100644 index 00000000..87124ddb --- /dev/null +++ b/proto/gz/msgs/heightmapgeom.proto @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "HeightmapGeomProtos"; + +/// \ingroup gz.msgs +/// \interface HeightmapGeom +/// \brief Message for a heightmap geometry + +import "gz/msgs/image.proto"; +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message HeightmapGeom +{ + /// \brief Optional header data + Header header = 1; + + Image image = 2; // The height data + Vector3d size = 3; // Size in meters + Vector3d origin = 4; // Origin in world coordinate frame + repeated float heights = 5; + int32 width = 6; + int32 height = 7; + + message Texture + { + string diffuse = 1; + string normal = 2; + double size = 3; + } + + message Blend + { + double min_height = 1; + double fade_dist = 2; + } + + repeated Texture texture = 8; // List of textures + repeated Blend blend = 9; // How to blend the textures + bool use_terrain_paging = 10; // Enable terrain paging in rendering + + // The image filename + string filename = 11; + + // Sample level + uint32 sampling = 12; +} diff --git a/proto/gz/msgs/hydra.proto b/proto/gz/msgs/hydra.proto new file mode 100644 index 00000000..a214af42 --- /dev/null +++ b/proto/gz/msgs/hydra.proto @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "HydraProtos"; + +/// \ingroup gz.msgs +/// \interface Hydra +/// \brief Message that contains information about a Hydra Razer controller + +import "gz/msgs/pose.proto"; +import "gz/msgs/header.proto"; + +message Hydra +{ + message Paddle + { + // Pose of the paddle + Pose pose = 1; + + // The button labeled LB + bool button_bumper = 2; + + // Button 1 + bool button_1 = 3; + + // Button 2 + bool button_2 = 4; + + // Button 3 + bool button_3 = 5; + + // Button 4 + bool button_4 = 6; + + // Button that is activated by pressing down on the joystick. + bool button_joy = 7; + + // The button located between button 1 and 2. + bool button_center = 8; + + // Range(-1, 1) where -1 == back, and +1 == forward. + double joy_x = 9; + + // Range(-1, 1) where -1 == left, and +1 == right. + double joy_y = 10; + + // Range(0, 1) where 0 is no press, and 1 is full press. + double trigger = 11; + } + + /// \brief Optional header data + Header header = 1; + + // Info for the right paddle + Paddle right = 2; + + // Info for the left paddle + Paddle left = 3; +} diff --git a/proto/gz/msgs/image.proto b/proto/gz/msgs/image.proto new file mode 100644 index 00000000..41d8589a --- /dev/null +++ b/proto/gz/msgs/image.proto @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ImageProtos"; + +/// \ingroup gz.msgs +/// \interface Image +/// \brief Message for an image + +import "gz/msgs/header.proto"; + +/// \brief Possible pixel formats. +/// This list should match ignition::common::Image::PixelFormatType +enum PixelFormatType +{ + UNKNOWN_PIXEL_FORMAT = 0; + L_INT8 = 1; + L_INT16 = 2; + RGB_INT8 = 3; + RGBA_INT8 = 4; + BGRA_INT8 = 5; + RGB_INT16 = 6; + RGB_INT32 = 7; + BGR_INT8 = 8; + BGR_INT16 = 9; + BGR_INT32 = 10; + R_FLOAT16 = 11; + RGB_FLOAT16 = 12; + R_FLOAT32 = 13; + RGB_FLOAT32 = 14; + BAYER_RGGB8 = 15; + BAYER_BGGR8 = 16; + BAYER_GBRG8 = 17; + BAYER_GRBG8 = 18; +} + +message Image +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Image width (number of columns) + uint32 width = 2; + + /// \brief Image height (number of rows) + uint32 height = 3; + + /// \brief Full row length in bytes + uint32 step = 4; + + /// \brief Actual data, size if (step * rows) + bytes data = 5; + + /// \brief Pixel format type. + PixelFormatType pixel_format_type = 6; +} diff --git a/proto/gz/msgs/imagegeom.proto b/proto/gz/msgs/imagegeom.proto new file mode 100644 index 00000000..06b34402 --- /dev/null +++ b/proto/gz/msgs/imagegeom.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ImageGeomProtos"; + +/// \ingroup gz.msgs +/// \interface ImageGeom +/// \brief Message for a image geometry + +import "gz/msgs/header.proto"; + +message ImageGeom +{ + /// \brief Optional header data + Header header = 1; + + string uri = 2; + double scale = 3; + int32 threshold = 4; + double height = 5; + int32 granularity = 6; +} diff --git a/proto/gz/msgs/imu.proto b/proto/gz/msgs/imu.proto new file mode 100644 index 00000000..f351986a --- /dev/null +++ b/proto/gz/msgs/imu.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "IMUProtos"; + +/// \ingroup gz.msgs +/// \interface IMU +/// \brief Data from an IMU sensor + +import "gz/msgs/header.proto"; +import "gz/msgs/vector3d.proto"; +import "gz/msgs/quaternion.proto"; + +message IMU +{ + /// \brief Optional header data + Header header = 1; + + string entity_name = 2; + Quaternion orientation = 3; + Vector3d angular_velocity = 4; + Vector3d linear_acceleration = 5; +} diff --git a/proto/gz/msgs/imu_sensor.proto b/proto/gz/msgs/imu_sensor.proto new file mode 100644 index 00000000..0e5d90f9 --- /dev/null +++ b/proto/gz/msgs/imu_sensor.proto @@ -0,0 +1,162 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "IMUSensorProtos"; + +/// \ingroup gz.msgs +/// \interface IMUSensor +/// \brief Information about an imu sensor + +import "gz/msgs/sensor_noise.proto"; +import "gz/msgs/header.proto"; +import "gz/msgs/vector3d.proto"; + +message IMUSensor +{ + /// \brief Angular velocity information + message AngularVelocity + { + /// \brief Noise about the x-axis + SensorNoise x_noise = 1; + + /// \brief Noise about the y-axis + SensorNoise y_noise = 2; + + /// \brief Noise about the z-axis + SensorNoise z_noise = 3; + } + + /// \brief Linear acceleration information + message LinearAcceleration + { + /// \brief Noise about the x-axis + SensorNoise x_noise = 1; + + /// \brief Noise about the y-axis + SensorNoise y_noise = 2; + + /// \brief Noise about the z-axis + SensorNoise z_noise = 3; + } + + /// \brief Orientation reference frame information + message OrientationReferenceFrame + { + /// \brief This string represents special hardcoded use cases that are + /// commonly seen with typical robot IMU's: + /// - CUSTOM: use Euler angle custom_rpy orientation specification. + /// The orientation of the IMU's reference frame is defined + /// by adding the custom_rpy rotation + /// to the parent_frame. + /// - NED: The IMU XYZ aligns with NED, where NED orientation relative + /// to the world + /// is defined by the SphericalCoordinates class. + /// - ENU: The IMU XYZ aligns with ENU, where ENU orientation relative + /// to the world is defined by the SphericalCoordinates class. + /// - NWU: The IMU XYZ aligns with NWU, where NWU orientation relative + /// to the world is defined by the SphericalCoordinates class. + /// - GRAV_UP: where direction of gravity maps to IMU reference frame + /// Z-axis with Z-axis pointing in the opposite direction of + /// gravity. IMU reference frame X-axis direction is defined + /// by GravityDirX(). Note if GravityDirX() is parallel to + /// gravity direction, this configuration fails. Otherwise, + /// IMU reference frame X-axis is defined by projection of + /// GravtyDirX onto a plane normal to the gravity vector. + /// IMU reference frame Y-axis is a vector orthogonal to + /// both X and Z axis following the right hand rule. + /// - GRAV_DOWN: where direction of gravity maps to IMU reference frame + /// Z-axis with Z-axis pointing in the direction of gravity. + /// IMU reference frame X-axis direction is defined by + /// GravityDirX(). Note if GravityDirX() is parallel to + /// gravity direction, this configuration fails. Otherwise, + /// IMU reference frame X-axis is defined by projection of + /// GravityDirX() onto a plane normal to the gravity vector. + /// IMU reference frame Y-axis is a vector orthogonal to both + /// X and Z axis following the right hand rule. + string localization = 1; + + /// \brief This field and custom_rpy_parent_frame are used when + /// Localization is set to CUSTOM. Orientation + /// (fixed axis roll, pitch yaw) transform from ParentFrame to this IMU's + /// reference frame. + /// + /// Some common examples are: + /// - IMU reports in its local frame on boot. IMU sensor frame is the + /// reference frame. Example: parent_frame="", custom_rpy="0 0 0" + /// - IMU reports in Gazebo world frame. + /// Example sdf: parent_frame="world", custom_rpy="0 0 0" + /// - IMU reports in NWU frame. Uses SphericalCoordinates class to + /// determine world frame in relation to magnetic north and gravity; + /// i.e. rotation between North-West-Up and world (+X,+Y,+Z) frame is + /// defined by SphericalCoordinates class. + /// Example sdf given world is NWU: parent_frame="world", + /// custom_rpy="0 0 0" + /// - IMU reports in NED frame. Uses SphericalCoordinates class to + /// determine world frame in relation to magnetic north and gravity; + /// i.e. rotation between North-East-Down and world (+X,+Y,+Z) frame is + /// defined by SphericalCoordinates class. + /// Example sdf given world is NWU: parent_frame="world", + /// custom_rpy="M_PI 0 0" + /// - IMU reports in ENU frame. Uses SphericalCoordinates class to + /// determine world frame in relation to magnetic north and gravity; + /// i.e. rotation between East-North-Up and world (+X,+Y,+Z) frame is + /// defined by SphericalCoordinates class. + /// Example sdf given world is NWU: parent_frame="world", + /// custom_rpy="0 0 -0.5*M_PI" + /// - IMU reports in ROS optical frame as described in + /// http://www.ros.org/reps/rep-0103.html#suffix-frames, which is + /// (z-forward, x-left to right when facing +z, y-top to bottom when + /// facing +z). (default gazebo camera is +x:view direction, +y:left, + /// +z:up). + /// Example sdf: parent_frame="local", custom_rpy="-0.5*M_PI 0 -0.5*M_PI" + Vector3d custom_rpy = 2; + + /// \brief The name of parent frame which the custom_rpy transform is + /// defined relative to. It can be any valid fully scoped link name or the + /// special reserved "world" frame. If left empty, use the sensor's own + /// local frame. + string custom_rpy_parent_frame = 3; + + /// \brief Used when localization is set to GRAV_UP or GRAV_DOWN, a + /// projection of this vector into a plane that is orthogonal to the + /// gravity vector defines the direction of the IMU reference frame's + /// X-axis. grav_dir_x is defined in the coordinate frame as defined by + /// the parent_frame element. + Vector3d gravity_dir_x = 4; + + /// \brief The name of parent frame which the GravityDirX vector is + /// defined relative to. It can be any valid fully scoped link name or the + /// special reserved "world" frame. If left empty, use the sensor's own + /// local frame. + string gravity_dir_x_parent_frame = 5; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief Angular velocity information + AngularVelocity angular_velocity = 2; + + /// \brief Linear acceleration information + LinearAcceleration linear_acceleration = 3; + + /// \brief Orientation reference frame information. + OrientationReferenceFrame orientation_ref_frame = 4; +} diff --git a/proto/gz/msgs/inertial.proto b/proto/gz/msgs/inertial.proto new file mode 100644 index 00000000..642fcef1 --- /dev/null +++ b/proto/gz/msgs/inertial.proto @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "InertialProtos"; + +/// \ingroup gz.msgs +/// \interface Inertial +/// \brief Information about inertia + +import "gz/msgs/pose.proto"; +import "gz/msgs/header.proto"; + +message Inertial +{ + /// \brief Optional header data + Header header = 1; + + double mass = 2; + Pose pose = 3; + double ixx = 4; + double ixy = 5; + double ixz = 6; + double iyy = 7; + double iyz = 8; + double izz = 9; +} diff --git a/proto/gz/msgs/int32.proto b/proto/gz/msgs/int32.proto new file mode 100644 index 00000000..2e3f0cf7 --- /dev/null +++ b/proto/gz/msgs/int32.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "Int32Protos"; + +/// \ingroup gz.msgs +/// \interface Int32 +/// \brief Integer message + +import "gz/msgs/header.proto"; + +message Int32 +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Integer data + int32 data = 2; +} diff --git a/proto/gz/msgs/int32_v.proto b/proto/gz/msgs/int32_v.proto new file mode 100644 index 00000000..bc25ac1f --- /dev/null +++ b/proto/gz/msgs/int32_v.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "Int32VProtos"; + +/// \ingroup gz.msgs +/// \interface Int32_V +/// \brief A message for a vector of int data + +import "gz/msgs/header.proto"; + +message Int32_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Vector of int data + repeated int32 data = 2; +} diff --git a/proto/gz/msgs/int64.proto b/proto/gz/msgs/int64.proto new file mode 100644 index 00000000..7919844f --- /dev/null +++ b/proto/gz/msgs/int64.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "Int64Protos"; + +/// \ingroup gz.msgs +/// \interface Int64 +/// \brief Integer message + +import "gz/msgs/header.proto"; + +message Int64 +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Integer data + int64 data = 2; +} diff --git a/proto/gz/msgs/int64_v.proto b/proto/gz/msgs/int64_v.proto new file mode 100644 index 00000000..d645e0c5 --- /dev/null +++ b/proto/gz/msgs/int64_v.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "Int64VProtos"; + +/// \ingroup gz.msgs +/// \interface Int64_V +/// \brief A message for a vector of int data + +import "gz/msgs/header.proto"; + +message Int64_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Vector of int data + repeated int64 data = 2; +} diff --git a/proto/gz/msgs/joint.proto b/proto/gz/msgs/joint.proto new file mode 100644 index 00000000..d3a9169a --- /dev/null +++ b/proto/gz/msgs/joint.proto @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "JointProtos"; + +/// \ingroup gz.msgs +/// \interface Joint +/// \brief Message for creating joint + +import "gz/msgs/header.proto"; +import "gz/msgs/axis.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/sensor.proto"; + +message Joint +{ + + message Gearbox + { + /// \brief Gearbox joint reference body link + string gearbox_reference_body = 1; + + /// \brief Gearbox ratio. + double gearbox_ratio = 2; + } + + message Screw + { + /// \brief Screw joint thread pitch. + double thread_pitch = 1; + } + + enum Type + { + REVOLUTE = 0; + REVOLUTE2 = 1; + PRISMATIC = 2; + UNIVERSAL = 3; + BALL = 4; + SCREW = 5; + GEARBOX = 6; + FIXED = 7; + CONTINUOUS = 8; + } + + /// \brief Optional header data + Header header = 1; + + string name = 2; + uint32 id = 3; + + Type type = 4; + string parent = 5; + uint32 parent_id = 6; + string child = 7; + uint32 child_id = 8; + Pose pose = 9; + Axis axis1 = 10; + Axis axis2 = 11; + + double cfm = 12; + double bounce = 13; + + double fudge_factor = 14; + double limit_cfm = 15; + double limit_erp = 16; + double suspension_cfm = 17; + double suspension_erp = 18; + + Gearbox gearbox = 19; + Screw screw = 20; + + repeated Sensor sensor = 21; +} diff --git a/proto/gz/msgs/joint_animation.proto b/proto/gz/msgs/joint_animation.proto new file mode 100644 index 00000000..41d34982 --- /dev/null +++ b/proto/gz/msgs/joint_animation.proto @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "JointAnimationProtos"; + +/// \ingroup gz.msgs +/// \interface JointAnimation +/// \brief Message for a model joint animation, does not appear to be used. +/// \todo Document me. + +import "gz/msgs/time.proto"; +import "gz/msgs/header.proto"; + +message JointAnimation +{ + message Joint + { + repeated string name = 1; + repeated double angle = 2; + } + + /// \brief Optional header data + Header header = 1; + + string model_name = 2; + repeated Joint joint = 3; + repeated Time time = 4; +} diff --git a/proto/gz/msgs/joint_cmd.proto b/proto/gz/msgs/joint_cmd.proto new file mode 100644 index 00000000..fd4771bd --- /dev/null +++ b/proto/gz/msgs/joint_cmd.proto @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "JointCmdProtos"; + +/// \ingroup gz.msgs +/// \interface JointCmd +/// \brief Message for joint command, used by physics::JointControlWidget + +import "gz/msgs/double.proto"; +import "gz/msgs/pid.proto"; +import "gz/msgs/header.proto"; + +message JointCmd +{ + /// \brief Optional header data + Header header = 1; + + string name = 2; + int32 axis = 3; + + PID position = 5; + PID velocity = 6; + bool reset = 7; + Double force_optional = 8; +} diff --git a/proto/gz/msgs/joint_trajectory.proto b/proto/gz/msgs/joint_trajectory.proto new file mode 100644 index 00000000..c1aaca09 --- /dev/null +++ b/proto/gz/msgs/joint_trajectory.proto @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "JointTrajectoryProtos"; + +/// \ingroup gz.msgs +/// \interface JointTrajectory +/// \brief Message for joint trajectory, which can be used to control a model +/// with multiple single-axis joints simultaneously. This message is utilised +/// by JointTrajectoryController plugin + +import "gz/msgs/header.proto"; +import "gz/msgs/joint_trajectory_point.proto"; + +message JointTrajectory +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Ordered list of joint names that must be active during execution + /// of this trajectory. The order shall correspond to the values in each + /// trajectory point + repeated string joint_names = 2; + + /// \brief Ordered list of time-parameterised trajectory points, which can + /// describe positions, velocities, accelerations and/or effort for all + /// active joints at each point in time. All points must be ordered + /// according to their time from start, which must be strictly increasing + repeated JointTrajectoryPoint points = 3; +} diff --git a/proto/gz/msgs/joint_trajectory_point.proto b/proto/gz/msgs/joint_trajectory_point.proto new file mode 100644 index 00000000..a282f7f8 --- /dev/null +++ b/proto/gz/msgs/joint_trajectory_point.proto @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "JointTrajectoryPointProtos"; + +/// \ingroup gz.msgs +/// \interface JointTrajectoryPoint +/// \brief Message that specifies the desired state of all single-axis joints +/// at a specific trajectory point. All values for each joint must be ordered +/// according to the joint names provided in JointTrajectory message + +import "gz/msgs/duration.proto"; + +message JointTrajectoryPoint +{ + /// \brief Position of each joint relative to their "0" position. Units are + /// dependent on the joint type, where radians are used for revolute or + /// continuous joints, and meters for prismatic joints + repeated double positions = 1; + + /// \brief Rate of change in position of each joint. Units are dependent on + /// the joint type, where radians/second are used for revolute or continuous + /// joints, and meters/second for prismatic joints + repeated double velocities = 2; + + /// \brief Rate of change in velocity of each joint. Units are dependent on + /// the joint type, where radians/second^2 are used for revolute or + /// continuous joints, and meters/second^2 for prismatic joints + repeated double accelerations = 3; + + /// \brief Torque or force applied at each joint. Units are dependent on the + /// joint type, where newton-meters are used for revolute or continuous + /// joints (torque), and newtons for prismatic joints (force) + repeated double effort = 4; + + /// \brief Desired time from the beginning of trajectory execution until + /// this trajectory point should be reached. This value must be strictly + /// increasing for consecutive points + Duration time_from_start = 5; +} diff --git a/proto/gz/msgs/joint_wrench.proto b/proto/gz/msgs/joint_wrench.proto new file mode 100644 index 00000000..7c958695 --- /dev/null +++ b/proto/gz/msgs/joint_wrench.proto @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "JointWrenchProtos"; + +/// \ingroup gz.msgs +/// \interface JointWrench +/// \brief Joint wrench message + +import "gz/msgs/wrench.proto"; +import "gz/msgs/header.proto"; + +message JointWrench +{ + /// \brief Optional header data + Header header = 1; + + string body_1_name = 2; + uint32 body_1_id = 3; + string body_2_name = 4; + uint32 body_2_id = 5; + + Wrench body_1_wrench = 6; + Wrench body_2_wrench = 7; +} diff --git a/proto/gz/msgs/joy.proto b/proto/gz/msgs/joy.proto new file mode 100644 index 00000000..ccad7188 --- /dev/null +++ b/proto/gz/msgs/joy.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "JoyProtos"; + +/// \ingroup gz.msgs +/// \interface Joy +/// \brief Message for generic joystick data in the form of axes and buttons. + +import "gz/msgs/header.proto"; + +message Joy +{ + /// \brief Optional header data + Header header = 1; + + // Axis data from a joystick. + repeated float axes = 2; + + // Button data from a joystick + repeated int32 buttons = 3; +} diff --git a/proto/gz/msgs/joystick.proto b/proto/gz/msgs/joystick.proto new file mode 100644 index 00000000..5122d369 --- /dev/null +++ b/proto/gz/msgs/joystick.proto @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "JoyStickProtos"; + +/// \ingroup gz.msgs +/// \interface Joystick +/// \brief Message for a joystick + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message Joystick +{ + /// \brief Optional header data + Header header = 1; + + // Translation measurements along the x,y,z + // axes. These values should be normalized to + // the range -1...1 + Vector3d translation = 2; + + // Rotation measurements about the x,y,z + // axes. These values should be normalized to + // the range -1...1 + Vector3d rotation = 3; + + // Button measurements + repeated int32 buttons = 4; +} diff --git a/proto/gz/msgs/laserscan.proto b/proto/gz/msgs/laserscan.proto new file mode 100644 index 00000000..ffaf7091 --- /dev/null +++ b/proto/gz/msgs/laserscan.proto @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "LaserScanProtos"; + +/// \ingroup gz.msgs +/// \interface LaserScan +/// \brief Data from a laser scan + +import "gz/msgs/pose.proto"; +import "gz/msgs/header.proto"; + +message LaserScan +{ + /// \brief Optional header data + Header header = 1; + + string frame = 2; + Pose world_pose = 3; + double angle_min = 4; + double angle_max = 5; + double angle_step = 6; + double range_min = 7; + double range_max = 8; + uint32 count = 9; + double vertical_angle_min = 10; + double vertical_angle_max = 11; + double vertical_angle_step = 12; + uint32 vertical_count = 13; + + repeated double ranges = 14; + repeated double intensities = 15; +} diff --git a/proto/gz/msgs/lidar_sensor.proto b/proto/gz/msgs/lidar_sensor.proto new file mode 100644 index 00000000..103cb570 --- /dev/null +++ b/proto/gz/msgs/lidar_sensor.proto @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "LidarSensorProtos"; + +/// \ingroup gz.msgs +/// \interface LidarSensor +/// \brief Information about a lidar sensor element + +import "gz/msgs/header.proto"; +import "gz/msgs/sensor_noise.proto"; + +message LidarSensor +{ + /// \brief Optional header data + Header header = 1; + + bool display_scan = 2; + int32 horizontal_samples = 3; + double horizontal_resolution = 4; + double horizontal_min_angle = 5; + double horizontal_max_angle = 6; + + int32 vertical_samples = 7; + double vertical_resolution = 8; + double vertical_min_angle = 9; + double vertical_max_angle = 10; + + double range_min = 11; + double range_max = 12; + double range_resolution = 13; + + SensorNoise noise = 14; +} diff --git a/proto/gz/msgs/light.proto b/proto/gz/msgs/light.proto new file mode 100644 index 00000000..da39057a --- /dev/null +++ b/proto/gz/msgs/light.proto @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "LightProtos"; + +/// \ingroup gz.msgs +/// \interface Light +/// \brief Message for a light + +import "gz/msgs/header.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/vector3d.proto"; +import "gz/msgs/color.proto"; + +message Light +{ + /// \brief Optional header data + Header header = 1; + + string name = 2; + enum LightType + { + POINT = 0; + SPOT = 1; + DIRECTIONAL = 2; + } + LightType type = 3; + + Pose pose = 4; + Color diffuse = 5; + Color specular = 6; + float attenuation_constant = 7; + float attenuation_linear = 8; + float attenuation_quadratic = 9; + Vector3d direction = 10; + float range = 11; + bool cast_shadows = 12; + float spot_inner_angle = 13; + float spot_outer_angle = 14; + float spot_falloff = 15; + + /// \brief Unique id of the light + uint32 id = 16; + + /// \brief Unique id of light's parent + uint32 parent_id = 17; + + /// \brief light intensity + float intensity = 18; + + /// \brief is the light on or off + /// true is off, otherwise is on + bool is_light_off = 19; + + /// \brief Set if the visual of the light + /// is visible, true is visible, + /// otherwise is invisible + bool visualize_visual = 20; +} diff --git a/proto/gz/msgs/link.proto b/proto/gz/msgs/link.proto new file mode 100644 index 00000000..4cd450df --- /dev/null +++ b/proto/gz/msgs/link.proto @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "LinkProtos"; + +/// \ingroup gz.msgs +/// \interface Link +/// \brief Information about a link + +import "gz/msgs/inertial.proto"; +import "gz/msgs/collision.proto"; +import "gz/msgs/visual.proto"; +import "gz/msgs/light.proto"; +import "gz/msgs/sensor.proto"; +import "gz/msgs/particle_emitter.proto"; +import "gz/msgs/projector.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/battery.proto"; +import "gz/msgs/density.proto"; +import "gz/msgs/header.proto"; + +message Link +{ + /// \brief Optional header data + Header header = 1; + + uint32 id = 2; + string name = 3; + bool self_collide = 4; + bool gravity = 5; + bool kinematic = 6; + bool enabled = 7; + Density density = 8; + Inertial inertial = 9; + Pose pose = 10; + repeated Visual visual = 11; + repeated Collision collision = 12; + repeated Sensor sensor = 13; + repeated Projector projector = 14; + bool canonical = 15; + + /// \brief A vector of batteries attached to this link. + repeated Battery battery = 16; + + /// \brief A vector of lights attached to this link + repeated Light light = 17; + + /// \brief A vector of particle emitters attached to this link. + repeated ParticleEmitter particle_emitter = 18; +} diff --git a/proto/gz/msgs/link_data.proto b/proto/gz/msgs/link_data.proto new file mode 100644 index 00000000..535c3dd4 --- /dev/null +++ b/proto/gz/msgs/link_data.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "LinkDataProtos"; + +/// \ingroup gz.msgs +/// \interface LinkData +/// \brief Link data + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message LinkData +{ + /// \brief Optional header data + Header header = 1; + + string name = 2; + Vector3d linear_velocity = 3; + Vector3d angular_velocity = 4; +} diff --git a/proto/gz/msgs/log_control.proto b/proto/gz/msgs/log_control.proto new file mode 100644 index 00000000..d799eb21 --- /dev/null +++ b/proto/gz/msgs/log_control.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "LogControlProtos"; + +/// \ingroup gz.msgs +/// \interface LogControl +/// \brief A message that allows for control of logging functions + +import "gz/msgs/header.proto"; + +message LogControl +{ + /// \brief Optional header data + Header header = 1; + + bool start = 2; + bool stop = 3; + bool paused = 4; + string base_path = 5; + string encoding = 6; + string record_resources = 7; +} diff --git a/proto/gz/msgs/log_playback_control.proto b/proto/gz/msgs/log_playback_control.proto new file mode 100644 index 00000000..732efa90 --- /dev/null +++ b/proto/gz/msgs/log_playback_control.proto @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "LogPlaybackControlProtos"; + +/// \ingroup gz.msgs +/// \interface LogPlaybackControl +/// \brief A message that allows for control of log playback functions. + +import "gz/msgs/time.proto"; +import "gz/msgs/header.proto"; + +message LogPlaybackControl +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Pause/play the log file. + bool pause = 2; + + /// \brief Make a relative jump. The value indicates the number of + /// iterations that will be executed at once. If a negative + /// value is specified, the playback will jump backwards. + sint32 multi_step = 3; + + /// \brief Jump to the beginning of the log file. + bool rewind = 4; + + /// \brief Jump to the end of the log file. + bool forward = 5; + + /// \brief Jump to a specific simulation time in the log file. The + /// playback service will load the frame with the closest + /// simulation time bigger than the "seek" value. + Time seek = 6; +} diff --git a/proto/gz/msgs/log_playback_stats.proto b/proto/gz/msgs/log_playback_stats.proto new file mode 100644 index 00000000..d59252aa --- /dev/null +++ b/proto/gz/msgs/log_playback_stats.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "LogPlaybackStatisticsProtos"; + +/// \ingroup gz.msgs +/// \interface LogPlaybackStatistics +/// \brief A message with statistics about a log during playback. + +import "gz/msgs/time.proto"; +import "gz/msgs/header.proto"; + +message LogPlaybackStatistics +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Log start time + Time start_time = 2; + + /// \brief Log end time + Time end_time = 3; +} diff --git a/proto/gz/msgs/log_status.proto b/proto/gz/msgs/log_status.proto new file mode 100644 index 00000000..8015513a --- /dev/null +++ b/proto/gz/msgs/log_status.proto @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "LogStatusProtos"; + +/// \ingroup gz.msgs +/// \interface LogStatus +/// \brief A message that contains information about data logging + +import "gz/msgs/time.proto"; +import "gz/msgs/header.proto"; + +message LogStatus +{ + message LogFile + { + enum Units + { + BYTES = 0; + K_BYTES = 1; + M_BYTES = 2; + G_BYTES = 3; + } + + string uri = 1; + string base_path = 2; + string full_path = 3; + float size = 4; + Units size_units = 5; + bool record_resources = 6; + } + + /// \brief Optional header data + Header header = 1; + + Time sim_time = 2; + LogFile log_file = 3; +} diff --git a/proto/gz/msgs/logical_camera_image.proto b/proto/gz/msgs/logical_camera_image.proto new file mode 100644 index 00000000..214def75 --- /dev/null +++ b/proto/gz/msgs/logical_camera_image.proto @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "LogicalCameraImageProtos"; + +/// \ingroup gz.msgs +/// \interface LogicalCameraImage +/// \brief Information about models seen by a LogicalCameraSensor + +import "gz/msgs/pose.proto"; +import "gz/msgs/header.proto"; + +message LogicalCameraImage +{ + /// \brief Information about a model that is reported by a + /// LogicalCameraSensor + message Model + { + /// \brief Name of the detected model + string name = 1; + + /// \brief Pose of the detected model. The pose is relative to the + /// logical camera's pose. + Pose pose = 2; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief Pose of the logical camera. + Pose pose = 2; + + /// \brief All the models seen by the LogicalCamera + repeated Model model = 3; +} diff --git a/proto/gz/msgs/logical_camera_sensor.proto b/proto/gz/msgs/logical_camera_sensor.proto new file mode 100644 index 00000000..6b538aa6 --- /dev/null +++ b/proto/gz/msgs/logical_camera_sensor.proto @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "LogicalCameraSensorProtos"; + +/// \ingroup gz.msgs +/// \interface LogicalCameraSensor +/// \brief Information about a logical camera sensor element + +import "gz/msgs/header.proto"; + +message LogicalCameraSensor +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Near clipping plane of the view frustum in meters. + double near_clip = 2; + + /// \brief Far clipping plane of the view frustum in meters. + double far_clip = 3; + + /// \brief Horizontal field of view in radians. + double horizontal_fov = 4; + + /// \brief Near and far clipping plane aspect ratio (width/height). + double aspect_ratio = 5; +} diff --git a/proto/gz/msgs/magnetometer.proto b/proto/gz/msgs/magnetometer.proto new file mode 100644 index 00000000..8c981ca5 --- /dev/null +++ b/proto/gz/msgs/magnetometer.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "MagnetometerProtos"; + +/// \ingroup gz.msgs +/// \interface Magnetometer +/// \brief Data from a magnetic field strength sensor + +import "gz/msgs/header.proto"; +import "gz/msgs/vector3d.proto"; + +/// \brief Message that encapsulates sensor data from a magnetometer. +message Magnetometer +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Magnetic field strength (in Tesla) along body-frame axis + Vector3d field_tesla = 2; +} diff --git a/proto/gz/msgs/magnetometer_sensor.proto b/proto/gz/msgs/magnetometer_sensor.proto new file mode 100644 index 00000000..6f2e77ed --- /dev/null +++ b/proto/gz/msgs/magnetometer_sensor.proto @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "MagnetometerSensorProtos"; + +/// \ingroup gz.msgs +/// \interface MagnetometerSensor +/// \brief Information about a magnetometer sensor + +import "gz/msgs/header.proto"; +import "gz/msgs/sensor_noise.proto"; + +message MagnetometerSensor +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Noise about the x-axis + SensorNoise x_noise = 2; + + /// \brief Noise about the y-axis + SensorNoise y_noise = 3; + + /// \brief Noise about the z-axis + SensorNoise z_noise = 4; +} diff --git a/proto/gz/msgs/marker.proto b/proto/gz/msgs/marker.proto new file mode 100644 index 00000000..cc67b1fa --- /dev/null +++ b/proto/gz/msgs/marker.proto @@ -0,0 +1,186 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "MarkerProtos"; + +/// \ingroup gz.msgs +/// \interface Marker +/// \brief A message used to draw visuals + +import "gz/msgs/time.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/vector3d.proto"; +import "gz/msgs/material.proto"; +import "gz/msgs/header.proto"; + +message Marker +{ + /// \brief The marker type (shape/geometry) + enum Type + { + NONE = 0; + BOX = 1; + CYLINDER = 2; + LINE_LIST = 4; + LINE_STRIP = 3; + POINTS = 5; + SPHERE = 6; + TEXT = 7; + TRIANGLE_FAN = 8; + TRIANGLE_LIST = 9; + TRIANGLE_STRIP = 10; + CONE = 11; + ARROW = 12; + AXIS = 13; + CAPSULE = 14; + ELLIPSOID = 15; + } + + /// \brief Visilibity defines what cameras render the marker. + enum Visibility + { + /// \brief Only cameras for user interaction render the visual. Other + /// cameras, such as camera sensors, will not render the visual + GUI = 0; + + /// \brief All cameras render the visual. + ALL = 1; + } + + /// \brief How to interpret the data. + enum Action + { + /// \brief Use this action to create a new marker or modify an exisiting + /// marker. A marker will be created if the provided id does not match + /// an exisiting marker, otherwise the marker with the provided id will + /// be modified. + ADD_MODIFY = 0; + + /// \brief Use this action to delete an existing marking. + /// Nothing will happend if the provided id does not match an exisiting + /// marker. + DELETE_MARKER = 1; + + /// \brief Delete all the markers. If a namespace is provided, + /// then only the markers in the provided namespace are deleted. + DELETE_ALL = 2; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief The action to take + /// + /// Relevant Type: all + Action action = 2; + + /// \brief Namespace of the marker. A namespace groups id's together. + /// + /// Relevant Action: ADD_MODIFY, DELETE_MARKER, DELETE_ALL + string ns = 3; + + /// \brief The id within the namespace of the visual. Each marker has a + /// unique id. It's up to the user to select id values. + /// + /// Relevant Action: ADD_MODIFY, DELETE_MARKER + /// + /// Relevant Type: all + uint64 id = 4; + + /// \brief The layer the visual belongs to. + /// + /// Relevant Action: ADD_MODIFY + /// + /// Relevant Type: all + int32 layer = 5; + + /// \brief The type of geometry. + /// + /// Relevant Action: ADD_MODIFY + Type type = 6; + + /// \brief How long to keep the visual alive before deletion. A value of + /// zero indicates forever. The lifetime is based on simulation-time, not + /// real-time. + /// + /// Relevant Action: ADD_MODIFY + /// + /// Relevant Type: all + Time lifetime = 7; + + /// \brief Pose of the marker + /// + /// Relevant Action: ADD_MODIFY + /// + /// Relevant Type: all + Pose pose = 8; + + /// \brief Scale of the marker. + /// + /// Relevant Action: ADD_MODIFY + /// + /// Relevant Type: all + Vector3d scale = 9; + + /// \brief Marker color + /// + /// Relevant Action: ADD_MODIFY + /// + /// Relevant Type: all + Material material = 10; + + /// \brief Used to specify geometry for a LINE_STRIP, LINE_LIST, POINTS, + /// TRIANGLE_LIST, TRIANGLE_FAN, TRIANGLE_STRIP + /// + /// Relevant Action: ADD_MODIFY + /// + /// Relevant Type: LINE_STRIP, LINE_LIST, POINTS, TRIANGLE_FAN, TRIANGLE_LIST, + /// TRIANGLE_STRIP + repeated Vector3d point = 11; + + /// \brief String to display. Only used for TEXT marker. + /// + /// Relevant Action: ADD_MODIFY + /// + /// Relevant Type: TEXT + string text = 12; + + /// \brief Attach this marker to a "parent" visual. + /// + /// Relevant Action: ADD_MODIFY + /// + /// Relevant Type: all + string parent = 13; + + /// \brief Defines what cameras render the marker. + /// + /// Relevant Action: ADD_MODIFY + /// + /// Relevant Type: all + Visibility visibility = 14; + + /// \brief Marker color for repeated types. + /// + /// Relevant Action: ADD_MODIFY + /// + /// Relevant Type: LINE_STRIP, LINE_LIST, POINTS, TRIANGLE_FAN, TRIANGLE_LIST, + /// TRIANGLE_STRIP + repeated Material materials = 15; +} diff --git a/proto/gz/msgs/marker_v.proto b/proto/gz/msgs/marker_v.proto new file mode 100644 index 00000000..ba8f44e3 --- /dev/null +++ b/proto/gz/msgs/marker_v.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "MarkerVProtos"; + +/// \ingroup gz.msgs +/// \interface Marker_V +/// \brief A list of marker visuals + +import "gz/msgs/marker.proto"; +import "gz/msgs/header.proto"; + +message Marker_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief List of marker messages. + repeated Marker marker = 2; +} diff --git a/proto/gz/msgs/material.proto b/proto/gz/msgs/material.proto new file mode 100644 index 00000000..910fc692 --- /dev/null +++ b/proto/gz/msgs/material.proto @@ -0,0 +1,131 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "MaterialProtos"; + +/// \ingroup gz.msgs +/// \interface Material +/// \brief Information about a material + +import "gz/msgs/color.proto"; +import "gz/msgs/header.proto"; + +message Material +{ + enum ShaderType + { + VERTEX = 0; + PIXEL = 1; + NORMAL_MAP_OBJECT_SPACE = 2; + NORMAL_MAP_TANGENT_SPACE = 3; + } + + message Script + { + repeated string uri = 1; + string name = 2; + } + + /// \brief Physically Based Rendering (PBR) material properties. + message PBR + { + /// \brief Type of PBR workflow + enum WorkflowType + { + /// \brief No workflow + NONE = 0; + + /// \brief Metallic/Roughness workflow + METAL = 1; + + /// \brief Specular/Glossiness workflow + SPECULAR = 2; + } + + /// \brief Type of PBR workflow + WorkflowType type = 1; + + /// \brief Filename of the albedo map + string albedo_map = 2; + + /// \brief Filename of the normal map + string normal_map = 3; + + /// \brief Metalness value (metal workflow) + double metalness = 4; + + /// \brief Filename of the metalness map (metal workflow) + string metalness_map = 5; + + /// \brief Roughness value (metal workflow) + double roughness = 6; + + /// \brief Filename of the roughness map (metal workflow) + string roughness_map = 7; + + /// \brief Glossiness value (specular workflow) + double glossiness = 8; + + /// \brief Filename of the glossiness map (specular workflow) + string glossiness_map = 9; + + /// \brief Filename of the specular map (specular workflow) + string specular_map = 10; + + /// \brief Filename of the environment map + string environment_map = 11; + + /// \brief Filename of the ambient occlusion map + string ambient_occlusion_map = 12; + + /// \brief Filename of the emissive map + string emissive_map = 13; + + /// \brief Filename of the light map. + string light_map = 14; + + /// \brief Texture coordinate set for the light map + uint32 light_map_texcoord_set = 15; + } + + + /// \brief Optional header data + Header header = 1; + + Script script = 2; + ShaderType shader_type = 3; + string normal_map = 4; + Color ambient = 5; + Color diffuse = 6; + Color specular = 7; + Color emissive = 8; + bool lighting = 9; + + /// \brief Physically Based Rendering (PBR) material properties + PBR pbr = 10; + + /// \brief Render order. The higher value will be rendered on top of the + /// other coplanar polygons + double render_order = 11; + + /// \brief If true, the mesh that this material is applied to will be + /// rendered as double sided + bool double_sided = 12; +} diff --git a/proto/gz/msgs/meshgeom.proto b/proto/gz/msgs/meshgeom.proto new file mode 100644 index 00000000..139ea83a --- /dev/null +++ b/proto/gz/msgs/meshgeom.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "MeshGeomProtos"; + +/// \ingroup gz.msgs +/// \interface MeshGeom +/// \brief Message for a mesh geometry + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message MeshGeom +{ + /// \brief Optional header data + Header header = 1; + + string filename = 2; + Vector3d scale = 3; + string submesh = 4; + bool center_submesh = 5; +} diff --git a/proto/gz/msgs/model.proto b/proto/gz/msgs/model.proto new file mode 100644 index 00000000..1202e749 --- /dev/null +++ b/proto/gz/msgs/model.proto @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ModelProtos"; + +/// \ingroup gz.msgs +/// \interface Model +/// \brief Information about a model + +import "gz/msgs/axis_aligned_box.proto"; +import "gz/msgs/joint.proto"; +import "gz/msgs/link.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/visual.proto"; +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message Model +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Name of the model. + string name = 2; + + /// \brief Unique ID associated with the model + uint32 id = 3; + + /// \brief True if the model is statc. + bool is_static = 4; + + /// \brief Pose of the model. + Pose pose = 5; + + /// \brief Information about the joints in this model. + repeated Joint joint = 6; + + /// \brief Information about the links in this model. + repeated Link link = 7; + + /// \brief True if the model was deleted. + bool deleted = 8; + + /// \brief Information about the visuals in this model. + repeated Visual visual = 9; + + /// \brief Scaling factor applied to the model + Vector3d scale = 10; + + /// \brief True if self collide is enabled. + bool self_collide = 11; + + /// \brief An array of nested models. + repeated Model model = 12; + + /// \brief Axis aligned bounding box for the model. The center of the + /// bounding box should coincide with the model's pose. + AxisAlignedBox bounding_box = 13; +} diff --git a/proto/gz/msgs/model_configuration.proto b/proto/gz/msgs/model_configuration.proto new file mode 100644 index 00000000..8bfba9e6 --- /dev/null +++ b/proto/gz/msgs/model_configuration.proto @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ModelConfigurationProtos"; + +/// \ingroup gz.msgs +/// \interface ModelConfiguration +/// \brief Message for model configuration (joint positions) + +import "gz/msgs/time.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/header.proto"; + +message ModelConfiguration +{ + /// \brief Optional header data + Header header = 1; + + // Time when the pose should be enforced + Time time = 2; + repeated string joint_names = 3; + repeated double joint_positions = 4; + + // Specify model pose + Pose pose = 5; + + // Option to set model pose by specifying pose of link + string link_name = 6; +} diff --git a/proto/gz/msgs/model_v.proto b/proto/gz/msgs/model_v.proto new file mode 100644 index 00000000..51e7d868 --- /dev/null +++ b/proto/gz/msgs/model_v.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ModelVProtos"; + +/// \ingroup gz.msgs +/// \interface Model_V +/// \brief An array of models. + +import "gz/msgs/header.proto"; +import "gz/msgs/model.proto"; + +message Model_V +{ + /// \brief Optional header data + Header header = 1; + + repeated Model models = 2; +} diff --git a/proto/gz/msgs/navsat.proto b/proto/gz/msgs/navsat.proto new file mode 100644 index 00000000..5c843a03 --- /dev/null +++ b/proto/gz/msgs/navsat.proto @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "NavSatProtos"; + +/// \ingroup gz.msgs +/// \interface NavSat +/// \brief Data from a NavSat sensor +/// This replaces the GPS message. + +import "gz/msgs/header.proto"; + +message NavSat +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Latitude in degrees + double latitude_deg = 2; + + /// \brief Longitude in degrees + double longitude_deg = 3; + + /// \brief Altitude in meters + double altitude = 4; + + /// \brief East velocity in the ENU frame, in m / s + double velocity_east = 5; + + /// \brief North velocity in the ENU frame, in m / s + double velocity_north = 6; + + /// \brief Up velocity in the ENU frame, in m / s + double velocity_up = 7; + + /// \brief ID of reference frame + string frame_id = 8; +} diff --git a/proto/gz/msgs/navsat_sensor.proto b/proto/gz/msgs/navsat_sensor.proto new file mode 100644 index 00000000..3691ef84 --- /dev/null +++ b/proto/gz/msgs/navsat_sensor.proto @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "NavSatSensorProtos"; + +/// \ingroup gz.msgs +/// \interface NavSatSensor +/// \brief Information about a NavSat sensor +/// This replaces the GPS sensor message + +import "gz/msgs/sensor_noise.proto"; +import "gz/msgs/header.proto"; + +message NavSatSensor +{ + /// \brief Sensing information + message Sensing + { + /// \brief Horizontal noise + SensorNoise horizontal_noise = 1; + + /// \brief Vertical noise + SensorNoise vertical_noise = 2; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief Position sensing. Consists of horizontal and vertical noise + /// properties + Sensing position = 2; + + /// \brief Velocity sensing. Consists of horizontal and vertical noise + /// properties + Sensing velocity = 3; +} diff --git a/proto/gz/msgs/occupancy_grid.proto b/proto/gz/msgs/occupancy_grid.proto new file mode 100644 index 00000000..019b4cfd --- /dev/null +++ b/proto/gz/msgs/occupancy_grid.proto @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "OccpuancyGridProtos"; + +/// \ingroup gz.msgs +/// \interface OccupancyGrid +/// \brief This message is designed to mimic ROS nav_msgs/OccupancyGrid to +/// facilitate transfer/conversion of data between ignition and ROS. +/// +/// See: http://docs.ros.org/melodic/api/nav_msgs/html/msg/OccupancyGrid.html + +import "gz/msgs/header.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/time.proto"; + + +message OccupancyGrid +{ + message MapMetaInfo + { + /// \brief The map load time + Time map_load_time = 1; + + /// \brief The map resolution (meters/cell) + double resolution = 2; + + /// \brief The map width (cells) + uint32 width = 3; + + /// \brief The map height (cells) + uint32 height = 4; + + /// \brief The origin of the map. This is the real-world pose of the + /// cell (0,0) in the map + Pose origin = 5; + }; + + /// \brief Optional header data. This should contain time of map validity + /// and the coordinate frame ID. + Header header = 1; + + /// \brief Metadata for the map. + MapMetaInfo info = 2; + + /// \brief The map data, in row-major order, starting with (0,0). + /// Occupancy probabilities are in the range [0,100]. Unknown is -1. + bytes data = 3; +}; diff --git a/proto/gz/msgs/odometry.proto b/proto/gz/msgs/odometry.proto new file mode 100644 index 00000000..7853cbff --- /dev/null +++ b/proto/gz/msgs/odometry.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "OdometryProtos"; + +/// \ingroup gz.msgs +/// \interface Odometry +/// \brief Message for odometry + +import "gz/msgs/header.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/twist.proto"; + +message Odometry +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Estimated pose. + Pose pose = 2; + + /// \brief Estimated velocity. + Twist twist = 3; +} diff --git a/proto/gz/msgs/odometry_with_covariance.proto b/proto/gz/msgs/odometry_with_covariance.proto new file mode 100644 index 00000000..2debdc38 --- /dev/null +++ b/proto/gz/msgs/odometry_with_covariance.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "OdometryWithCovarianceProtos"; + +/// \ingroup gz.msgs +/// \interface OdometryWithCovariance +/// \brief Message for odometry with covariance + +import "gz/msgs/header.proto"; +import "gz/msgs/pose_with_covariance.proto"; +import "gz/msgs/twist_with_covariance.proto"; + +message OdometryWithCovariance +{ + /// \brief Optional header data. + Header header = 1; + + /// \brief Estimated pose. + PoseWithCovariance pose_with_covariance = 2; + + /// \brief Estimated linear and angular velocities. + TwistWithCovariance twist_with_covariance = 3; +} diff --git a/proto/gz/msgs/oriented_3d_box.proto b/proto/gz/msgs/oriented_3d_box.proto new file mode 100644 index 00000000..ead13a3e --- /dev/null +++ b/proto/gz/msgs/oriented_3d_box.proto @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "Oriented3DBoxProtos"; + +/// \ingroup gz.msgs +/// \interface Oriented3DBox +/// \brief A 3D oreinted bounding box + +import "gz/msgs/header.proto"; +import "gz/msgs/vector3d.proto"; +import "gz/msgs/quaternion.proto"; + +message Oriented3DBox +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Center of the bounding box in 3d camera coordinates + Vector3d center = 2; + + /// \brief Orientation of the bounding box in 3d camera coordinates + Quaternion orientation = 3; + + /// \brief The size of the bounding box on XYZ (width/height/depth) + Vector3d boxSize = 4; +} diff --git a/proto/gz/msgs/packet.proto b/proto/gz/msgs/packet.proto new file mode 100644 index 00000000..365d9ee1 --- /dev/null +++ b/proto/gz/msgs/packet.proto @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PacketProtos"; + +/// \ingroup gz.msgs +/// \interface Packet +/// \brief A message for a vector of string data +import "gz/msgs/double_v.proto"; +import "gz/msgs/clock.proto"; +import "gz/msgs/cmd_vel2d.proto"; +import "gz/msgs/image.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/pose_v.proto"; +import "gz/msgs/stringmsg_v.proto"; +import "gz/msgs/time.proto"; +import "gz/msgs/web_request.proto"; +import "gz/msgs/world_stats.proto"; + +message Packet +{ + string topic = 1; + + string type = 2; + + oneof content + { + CmdVel2D cmd_vel2d = 3; + Image image = 4; + StringMsg_V string_msg_v = 5; + WebRequest web_request = 6; + Pose pose = 7; + Double_V doublev = 8; + Pose_V pose_v = 9; + Time time = 10; + Clock clock = 11; + WorldStatistics world_stats = 12; + } +} diff --git a/proto/gz/msgs/param.proto b/proto/gz/msgs/param.proto new file mode 100644 index 00000000..140b7b3e --- /dev/null +++ b/proto/gz/msgs/param.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "EmptyProtos"; + +/// \ingroup gz.msgs +/// \interface Param +/// \brief A generic message holding a name-value pair. It can be nested. + +import "gz/msgs/any.proto"; +import "gz/msgs/header.proto"; + +message Param +{ + /// \brief Optional header data + Header header = 1; + + /// \brief A set of name, value pairs. + map params = 2; + + /// \brief Params nested within this one. + repeated Param children = 3; +} diff --git a/proto/gz/msgs/param_v.proto b/proto/gz/msgs/param_v.proto new file mode 100644 index 00000000..a60b604f --- /dev/null +++ b/proto/gz/msgs/param_v.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "EmptyProtos"; + +/// \ingroup gz.msgs +/// \interface Param_V +/// \brief Message for a vector of params. + +import "gz/msgs/param.proto"; +import "gz/msgs/header.proto"; + +message Param_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Repeated params. + repeated Param param = 2; +} diff --git a/proto/gz/msgs/particle_emitter.proto b/proto/gz/msgs/particle_emitter.proto new file mode 100644 index 00000000..564b88ff --- /dev/null +++ b/proto/gz/msgs/particle_emitter.proto @@ -0,0 +1,117 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ParticleEmitterProtos"; + +/// \ingroup gz.msgs +/// \interface ParticleEmitter +/// \brief Message for a particle emitter. + +import "gz/msgs/boolean.proto"; +import "gz/msgs/color.proto"; +import "gz/msgs/float.proto"; +import "gz/msgs/header.proto"; +import "gz/msgs/material.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/stringmsg.proto"; +import "gz/msgs/vector3d.proto"; + +message ParticleEmitter +{ + /// \brief Optional header data. + Header header = 1; + + /// \brief The emitter name. + string name = 2; + + /// \brief Unique Id. + uint32 id = 3; + + /// \brief All possible emitter types. + enum EmitterType + { + /// \brief Point emitter. + POINT = 0; + /// \brief Box emitter. + BOX = 1; + /// \brief Cylinder emitter. + CYLINDER = 2; + /// \brief Ellipsoid emitter. + ELLIPSOID = 3; + } + /// \brief The emitter type. + EmitterType type = 4; + + /// \brief The position of the emitter. + Pose pose = 5; + + /// The size of the emitter where the particles are sampled. + Vector3d size = 6; + + /// \brief How many particles per second should be emitted. + Float rate = 7; + + /// \brief The number of seconds the emitter is active. + Float duration = 8; + + /// \brief Whether particle emitter is enabled or not. + Boolean emitting = 9; + + /// \brief The particle dimensions (width, height, depth). + Vector3d particle_size = 10; + + /// \brief The number of seconds each particle will ’live’ for before + /// being destroyed. + Float lifetime = 11; + + /// \brief The material which all particles in the emitter will use. + Material material = 12; + + /// \brief The minimum velocity each particle is emitted (m/s). + Float min_velocity = 13; + + /// \brief The maximum velocity each particle is emitted (m/s). + Float max_velocity = 14; + + /// \brief The starting color of the particles. + Color color_start = 15; + + /// \brief The end color of the particles. + Color color_end = 16; + + /// \brief The amount by which to scale the particles in both x and y + /// direction per second (screen coordinates). + Float scale_rate = 17; + + /// \brief The path to the color image used as an affector. + StringMsg color_range_image = 18; + + /// \brief The topic name used by the particle emitter for control and + /// modification. + StringMsg topic = 19; + + /// \brief The ratio of particles that will be detected by sensors. + /// Increasing the ratio means there is a higher chance of particles + /// reflecting and interfering with depth sensing, making the emitter + /// appear more dense. Decreasing the ratio decreases the chance of + /// particles reflecting and interfering with depth sensing, making it + /// appear less dense. Value is in the range of [0, 1]. + Float particle_scatter_ratio = 20; +} diff --git a/proto/gz/msgs/particle_emitter_v.proto b/proto/gz/msgs/particle_emitter_v.proto new file mode 100644 index 00000000..abc284b7 --- /dev/null +++ b/proto/gz/msgs/particle_emitter_v.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ParticleEmitterVProtos"; + +/// \ingroup gz.msgs +/// \interface ParticleEmitterV +/// \brief Message for a list of particle emitters. + +import "gz/msgs/header.proto"; +import "gz/msgs/particle_emitter.proto"; + +message ParticleEmitter_V +{ + /// \brief Optional header data. + Header header = 1; + + /// \brief List of particle emitters. + repeated ParticleEmitter particle_emitter = 2; +} diff --git a/proto/gz/msgs/performance_sensor_metrics.proto b/proto/gz/msgs/performance_sensor_metrics.proto new file mode 100644 index 00000000..db42364b --- /dev/null +++ b/proto/gz/msgs/performance_sensor_metrics.proto @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; + +import "gz/msgs/double.proto"; + +/// \brief This message contains information about the performance of +/// a sensor in the world. +/// If the sensor is a camera then it will publish the frame per second (fps). +message PerformanceSensorMetrics +{ + /// \brief Sensor name + string name = 1; + + /// \brief The update rate of the sensor in real time. + double real_update_rate = 2; + + /// \brief The update rate of the sensor in simulation time. + double sim_update_rate = 3; + + /// \brief The nominal update rate defined to the sensor. + double nominal_update_rate = 4; + + /// \brief If the sensor is a camera then this field should be filled + /// with average fps in real time. + Double fps_optional = 5; +} diff --git a/proto/gz/msgs/physics.proto b/proto/gz/msgs/physics.proto new file mode 100644 index 00000000..244c0768 --- /dev/null +++ b/proto/gz/msgs/physics.proto @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PhysicsProtos"; + +/// \ingroup gz.msgs +/// \interface Physics +/// \brief A message containing a description of the global physics properties + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message Physics +{ + enum Type + { + ODE = 0; + BULLET = 1; + SIMBODY = 2; + DART = 3; + } + /// \brief Optional header data + Header header = 1; + + Type type = 2; + + string solver_type = 3; + double min_step_size = 4; + int32 precon_iters = 5; + int32 iters = 6; + double sor = 7; + double cfm = 8; + double erp = 9; + double contact_max_correcting_vel = 10; + double contact_surface_layer = 11; + Vector3d gravity = 12; + bool enable_physics = 13; + double real_time_factor = 14; + double real_time_update_rate = 15; + double max_step_size = 16; + // The name of this physics profile (not to be confused with type) + string profile_name = 17; + + /// \brief Magnetic field + Vector3d magnetic_field = 18; +} diff --git a/proto/gz/msgs/pid.proto b/proto/gz/msgs/pid.proto new file mode 100644 index 00000000..d6d1e17d --- /dev/null +++ b/proto/gz/msgs/pid.proto @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PIDProtos"; + +/// \ingroup gz.msgs +/// \interface PID +/// \brief Message for simple PID controllers + +import "gz/msgs/double.proto"; +import "gz/msgs/header.proto"; + +message PID +{ + /// \brief Optional header data + Header header = 1; + + Double target_optional = 2; + Double p_gain_optional = 3; + Double i_gain_optional = 4; + Double d_gain_optional = 5; + Double i_max_optional = 6; + Double i_min_optional = 7; + Double limit_optional = 8; +} diff --git a/proto/gz/msgs/planegeom.proto b/proto/gz/msgs/planegeom.proto new file mode 100644 index 00000000..e8e45d18 --- /dev/null +++ b/proto/gz/msgs/planegeom.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PlaneGeomProtos"; + +/// \ingroup gz.msgs +/// \interface PlaneGeom +/// \brief Message for a plane geometry + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/vector2d.proto"; +import "gz/msgs/header.proto"; + +message PlaneGeom +{ + /// \brief Optional header data + Header header = 1; + + Vector3d normal = 2; + Vector2d size = 3; + double d = 4; +} diff --git a/proto/gz/msgs/plugin.proto b/proto/gz/msgs/plugin.proto new file mode 100644 index 00000000..441ae1d3 --- /dev/null +++ b/proto/gz/msgs/plugin.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PluginProtos"; + +/// \ingroup gz.msgs +/// \interface Plugin +/// \brief A message containing visual information for gazebo::Plugin + +import "gz/msgs/header.proto"; + +message Plugin +{ + /// \brief Optional header data + Header header = 1; + + string name = 2; + string filename = 3; + string innerxml = 4; +} diff --git a/proto/gz/msgs/plugin_v.proto b/proto/gz/msgs/plugin_v.proto new file mode 100644 index 00000000..270e7761 --- /dev/null +++ b/proto/gz/msgs/plugin_v.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PluginVProtos"; + +/// \ingroup gz.msgs +/// \interface Plugin_V +/// \brief An array of plugins. + +import "gz/msgs/plugin.proto"; +import "gz/msgs/header.proto"; + +message Plugin_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Plugin messages. + repeated Plugin plugins = 2; +} diff --git a/proto/gz/msgs/pointcloud.proto b/proto/gz/msgs/pointcloud.proto new file mode 100644 index 00000000..02a24347 --- /dev/null +++ b/proto/gz/msgs/pointcloud.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PointCloudProtos"; + +/// \ingroup gz.msgs +/// \interface PointCloud +/// \brief A point cloud + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message PointCloud +{ + /// \brief Optional header data + Header header = 1; + + repeated Vector3d points = 2; +} diff --git a/proto/gz/msgs/pointcloud_packed.proto b/proto/gz/msgs/pointcloud_packed.proto new file mode 100644 index 00000000..57f06392 --- /dev/null +++ b/proto/gz/msgs/pointcloud_packed.proto @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PointCloudPackedProtos"; + +/// \ingroup gz.msgs +/// \interface PointCloudPacked +/// \brief This message is designed to mimic ROS sensor_msgs/PointCloud2 to +/// facilitate transfer/conversion of data between ignition and ROS. +/// +/// See: http://docs.ros.org/melodic/api/sensor_msgs/html/msg/PointCloud2.html + +import "gz/msgs/header.proto"; + +/// \brief (Copied from the ROS message): This message holds a collection of +/// N-dimensional points, which may contain additional information such as +/// normals, intensity, etc. The point data is stored as a binary blob, its +/// layout described by the contents of the "fields" array. +/// +/// The point cloud data may be organized 2d (image-like) or 1d +/// (unordered). Point clouds organized as 2d images may be produced by +/// camera depth sensors such as stereo or time-of-flight. +message PointCloudPacked +{ + /// \brief A field that describes the format of the data field. + message Field + { + // Datatype for the point field. + enum DataType + { + INT8 = 0; + UINT8 = 1; + INT16 = 2; + UINT16 = 3; + INT32 = 4; + UINT32 = 5; + FLOAT32 = 6; + FLOAT64 = 7; + } + + /// \brief Name of the field. + string name = 1; + + /// \brief Offset from start of point struct + uint32 offset = 2; + + /// \brief Datatype enumeration + DataType datatype = 3; + + /// \brief How many elements in the field + uint32 count = 4; + } + + /// \brief Optional header data. This should contain time of sensor data + /// acquisition, and the coordinate frame ID (for 3D points). + Header header = 1; + + /// \brief Information that describes the data contained in the `data` field. + repeated Field field = 2; + + /// \brief Height of a 2D structured point cloud, or 1 if the point cloud is + /// unordered. + uint32 height = 3; + + /// \brief Width of a 2D structured point cloud, or length of the point cloud + /// if the point cloud is unordered. + uint32 width = 4; + + /// \brief Is this data big endian? + bool is_bigendian = 5; + + /// \brief Length of a point in bytes. + uint32 point_step = 6; + + /// \brief Length of row in bytes. + uint32 row_step = 7; + + /// \brief The point data, size is (row_step * height); + bytes data = 8; + + /// \brief True if there are not invalid points. + bool is_dense = 9; +} diff --git a/proto/gz/msgs/polylinegeom.proto b/proto/gz/msgs/polylinegeom.proto new file mode 100644 index 00000000..a99cbe1a --- /dev/null +++ b/proto/gz/msgs/polylinegeom.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "Protos"; + +/// \ingroup gz.msgs +/// \interface Polyline +/// \brief Information about Polyline geometry + +import "gz/msgs/vector2d.proto"; +import "gz/msgs/header.proto"; + +message Polyline +{ + /// \brief Optional header data + Header header = 1; + + double height = 2; + repeated Vector2d point = 3; +} diff --git a/proto/gz/msgs/pose.proto b/proto/gz/msgs/pose.proto new file mode 100644 index 00000000..349de495 --- /dev/null +++ b/proto/gz/msgs/pose.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PoseProtos"; + +/// \ingroup gz.msgs +/// \interface Pose +/// \brief Message for a pose + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/quaternion.proto"; +import "gz/msgs/header.proto"; + +message Pose +{ + /// \brief Optional header data + Header header = 1; + + string name = 2; + uint32 id = 3; + Vector3d position = 4; + Quaternion orientation = 5; +} diff --git a/proto/gz/msgs/pose_animation.proto b/proto/gz/msgs/pose_animation.proto new file mode 100644 index 00000000..260d3c84 --- /dev/null +++ b/proto/gz/msgs/pose_animation.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PoseAnimationProtos"; + +/// \ingroup gz.msgs +/// \interface PoseAnimation +/// \brief Message for a model pose animation + +import "gz/msgs/pose.proto"; +import "gz/msgs/time.proto"; + +message PoseAnimation +{ + string model_name = 1; + uint32 model_id = 2; + repeated Pose pose = 3; + repeated Time time = 4; +} diff --git a/proto/gz/msgs/pose_trajectory.proto b/proto/gz/msgs/pose_trajectory.proto new file mode 100644 index 00000000..69e9e5fd --- /dev/null +++ b/proto/gz/msgs/pose_trajectory.proto @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PoseTrajectoryProtos"; + +/// \ingroup gz.msgs +/// \interface PoseTrajectory +/// \brief Message for a pose trajectory + +import "gz/msgs/pose.proto"; + +message PoseTrajectory +{ + string name = 1; + uint32 id = 2; + repeated Pose pose = 3; +} diff --git a/proto/gz/msgs/pose_v.proto b/proto/gz/msgs/pose_v.proto new file mode 100644 index 00000000..c2496268 --- /dev/null +++ b/proto/gz/msgs/pose_v.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PoseVProtos"; + +/// \ingroup gz.msgs +/// \interface Pose_V +/// \brief Message for a vector of poses + +import "gz/msgs/pose.proto"; +import "gz/msgs/header.proto"; + +message Pose_V +{ + /// \brief Optional header data + Header header = 1; + + repeated Pose pose = 2; +} diff --git a/proto/gz/msgs/pose_with_covariance.proto b/proto/gz/msgs/pose_with_covariance.proto new file mode 100644 index 00000000..2e81af42 --- /dev/null +++ b/proto/gz/msgs/pose_with_covariance.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PoseWithCovarianceProtos"; + +/// \ingroup gz.msgs +/// \interface PoseWithCovariance +/// \brief Message with pose and a covariance matrix + +import "gz/msgs/float_v.proto"; +import "gz/msgs/pose.proto"; + +message PoseWithCovariance +{ + /// \brief Pose message. + Pose pose = 1; + + /// \brief Row-major representation of the 6x6 covariance matrix + /// The orientation parameters use a fixed-axis representation. + /// In order, the parameters are: + /// (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis) + Float_V covariance = 2; +} diff --git a/proto/gz/msgs/projector.proto b/proto/gz/msgs/projector.proto new file mode 100644 index 00000000..0c8d7fea --- /dev/null +++ b/proto/gz/msgs/projector.proto @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ProjectorProtos"; + +/// \ingroup gz.msgs +/// \interface Projector +/// \brief Information about a projector + +import "gz/msgs/pose.proto"; +import "gz/msgs/header.proto"; + +message Projector +{ + /// \brief Optional header data + Header header = 1; + + string name = 2; + string texture = 3; + Pose pose = 4; + double fov = 5; + double near_clip = 6; + double far_clip = 7; + bool enabled = 8; +} diff --git a/proto/gz/msgs/propagation_grid.proto b/proto/gz/msgs/propagation_grid.proto new file mode 100644 index 00000000..9f491902 --- /dev/null +++ b/proto/gz/msgs/propagation_grid.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PropagationGridProtos"; + +/// \ingroup gz.msgs +/// \interface PropagationGrid +/// \brief Wireless propagation grid + +import "gz/msgs/propagation_particle.proto"; +import "gz/msgs/header.proto"; + +message PropagationGrid +{ + /// \brief Optional header data + Header header = 1; + + repeated PropagationParticle particle = 2; +} diff --git a/proto/gz/msgs/propagation_particle.proto b/proto/gz/msgs/propagation_particle.proto new file mode 100644 index 00000000..13c8e569 --- /dev/null +++ b/proto/gz/msgs/propagation_particle.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PropagationParticleProtos"; + +/// \ingroup gz.msgs +/// \interface PropagationParticle +/// \brief Wireless strength signal in a point + +import "gz/msgs/header.proto"; + +message PropagationParticle +{ + /// \brief Optional header data + Header header = 1; + + double x = 2; + double y = 3; + double signal_level = 4; +} diff --git a/proto/gz/msgs/publish.proto b/proto/gz/msgs/publish.proto new file mode 100644 index 00000000..76cde61b --- /dev/null +++ b/proto/gz/msgs/publish.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PublishProtos"; + +/// \ingroup gz.msgs +/// \interface Publish +/// \brief Message that contains information about a publisher of data + +import "gz/msgs/header.proto"; + +message Publish +{ + /// \brief Optional header data + Header header = 1; + + string topic = 2; + string msg_type = 3; + string host = 4; + uint32 port = 5; +} diff --git a/proto/gz/msgs/publishers.proto b/proto/gz/msgs/publishers.proto new file mode 100644 index 00000000..a34990a4 --- /dev/null +++ b/proto/gz/msgs/publishers.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "PublishersProtos"; + +/// \ingroup gz.msgs +/// \interface Publishers +/// \brief A list of publishers + +import "gz/msgs/publish.proto"; +import "gz/msgs/header.proto"; + +message Publishers +{ + /// \brief Optional header data + Header header = 1; + + repeated Publish publisher = 2; +} diff --git a/proto/gz/msgs/quaternion.proto b/proto/gz/msgs/quaternion.proto new file mode 100644 index 00000000..20822328 --- /dev/null +++ b/proto/gz/msgs/quaternion.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "QuaternionProtos"; + +/// \ingroup gz.msgs +/// \interface Quaternion +/// \brief A message for a quaternion + +import "gz/msgs/header.proto"; + +message Quaternion +{ + /// \brief Optional header data + Header header = 1; + + double x = 2; + double y = 3; + double z = 4; + double w = 5; +} diff --git a/proto/gz/msgs/raysensor.proto b/proto/gz/msgs/raysensor.proto new file mode 100644 index 00000000..9ef38424 --- /dev/null +++ b/proto/gz/msgs/raysensor.proto @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "RaySensorProtos"; + +/// \ingroup gz.msgs +/// \interface RaySensor +/// \brief Information about a ray sensor element + +import "gz/msgs/header.proto"; + +message RaySensor +{ + /// \brief Optional header data + Header header = 1; + + bool display_scan = 2; + int32 horizontal_samples = 3; + double horizontal_resolution = 4; + double horizontal_min_angle = 5; + double horizontal_max_angle = 6; + + int32 vertical_samples = 7; + double vertical_resolution = 8; + double vertical_min_angle = 9; + double vertical_max_angle = 10; + + double range_min = 11; + double range_max = 12; + double range_resolution = 13; +} diff --git a/proto/gz/msgs/request.proto b/proto/gz/msgs/request.proto new file mode 100644 index 00000000..851934ff --- /dev/null +++ b/proto/gz/msgs/request.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "RequestProtos"; + +/// \ingroup gz.msgs +/// \interface Request +/// \brief A message containing a string request + +import "gz/msgs/header.proto"; + +message Request +{ + /// \brief Optional header data + Header header = 1; + + int32 id = 2; + string request = 3; + string data = 4; + double dbl_data = 5; +} diff --git a/proto/gz/msgs/response.proto b/proto/gz/msgs/response.proto new file mode 100644 index 00000000..b8e44bfc --- /dev/null +++ b/proto/gz/msgs/response.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ResponseProtos"; + +/// \ingroup gz.msgs +/// \interface Response +/// \brief Message that encapsulates a respons message with a type description + +import "gz/msgs/header.proto"; + +message Response +{ + /// \brief Optional header data + Header header = 1; + + int32 id = 2; + string request = 3; + string response = 4; + string type = 5; + bytes serialized_data = 6; +} diff --git a/proto/gz/msgs/rest_login.proto b/proto/gz/msgs/rest_login.proto new file mode 100644 index 00000000..400fca49 --- /dev/null +++ b/proto/gz/msgs/rest_login.proto @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "RestLoginProtos"; + +/// \ingroup gz.msgs +/// \interface RestLogin +/// \brief A message to login to a REST service + +import "gz/msgs/header.proto"; + +message RestLogin +{ + /// \brief Optional header data + Header header = 1; + + /// \brief ID of this request message + uint32 id = 2; + + /// \brief Rest service URL + string url = 3; + + /// \brief Login user name + string username = 4; + + /// \brief Login password + string password = 5; +} diff --git a/proto/gz/msgs/rest_logout.proto b/proto/gz/msgs/rest_logout.proto new file mode 100644 index 00000000..e12f70d9 --- /dev/null +++ b/proto/gz/msgs/rest_logout.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "RestLogoutProtos"; + +/// \ingroup gz.msgs +/// \interface RestLogout +/// \brief Message for login out of a REST service. + +import "gz/msgs/header.proto"; + +message RestLogout +{ + /// \brief Optional header data + Header header = 1; + + /// \brief ID of this request message + uint32 id = 2; + + /// \brief the web service url + string url = 3; +} diff --git a/proto/gz/msgs/rest_post.proto b/proto/gz/msgs/rest_post.proto new file mode 100644 index 00000000..cced1dd0 --- /dev/null +++ b/proto/gz/msgs/rest_post.proto @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "RestPostProtos"; + +/// \ingroup gz.msgs +/// \interface RestPost +/// \brief A message to POST data on a REST service. The route (ex /news) and +/// the content of the message in JSON format are specified. + +import "gz/msgs/header.proto"; + +message RestPost +{ + /// \brief Optional header data + Header header = 1; + + /// \brief ID of this request message + uint32 id = 2; + + /// \brief Route to post to. + string route = 3; + + /// \brief Data to post in JSON format + string json = 4; +} diff --git a/proto/gz/msgs/rest_response.proto b/proto/gz/msgs/rest_response.proto new file mode 100644 index 00000000..f9de22f9 --- /dev/null +++ b/proto/gz/msgs/rest_response.proto @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "RestResponseProtos"; + +/// \ingroup gz.msgs +/// \interface RestResponse +/// \brief A message for reporting a response from a REST service call + +import "gz/msgs/header.proto"; + +message RestResponse +{ + enum Type + { + /// \brief Rest service call was successfull + SUCCESS = 0; + + /// \brief Error calling rest service + ERR = 1; + + /// \brief Response to a login request + LOGIN = 2; + + /// \brief Response to a logout request + LOGOUT = 3; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief ID of the response message + uint32 id = 2; + + /// \brief Type of response + Type type = 3; + + /// \brief Message describing the response + string msg = 4; +} diff --git a/proto/gz/msgs/road.proto b/proto/gz/msgs/road.proto new file mode 100644 index 00000000..4413f3a3 --- /dev/null +++ b/proto/gz/msgs/road.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "RoadProtos"; + +/// \ingroup gz.msgs +/// \interface Road +/// \brief Message for a road + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/material.proto"; +import "gz/msgs/header.proto"; + +message Road +{ + /// \brief Optional header data + Header header = 1; + + string name = 2; + double width = 3; + repeated Vector3d point = 4; + Material material = 5; +} diff --git a/proto/gz/msgs/scene.proto b/proto/gz/msgs/scene.proto new file mode 100644 index 00000000..b2579ac1 --- /dev/null +++ b/proto/gz/msgs/scene.proto @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SceneProtos"; + +/// \ingroup gz.msgs +/// \interface Scene +/// \brief A message containing a description of a scene + +import "gz/msgs/color.proto"; +import "gz/msgs/fog.proto"; +import "gz/msgs/sky.proto"; +import "gz/msgs/light.proto"; +import "gz/msgs/joint.proto"; +import "gz/msgs/material.proto"; +import "gz/msgs/model.proto"; +import "gz/msgs/header.proto"; + +message Scene +{ + /// \brief Optional header data + Header header = 1; + + string name = 2; + Color ambient = 3; + Color background = 4; + Sky sky = 5; + bool shadows = 6; + Fog fog = 7; + bool grid = 8; + + repeated Model model = 9; + repeated Light light = 10; + repeated Joint joint = 11; + + /// \brief Show/hide world origin indicator. + bool origin_visual = 12; + + /// \brief Shadow caster material script. + Material.Script shadow_caster_material_script = 13; +} diff --git a/proto/gz/msgs/sdf_generator_config.proto b/proto/gz/msgs/sdf_generator_config.proto new file mode 100644 index 00000000..56d0bf93 --- /dev/null +++ b/proto/gz/msgs/sdf_generator_config.proto @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +syntax = "proto3"; + +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SdfGeneratorConfigProtos"; + +/// \ingroup gz.msgs +/// \interface SdfGeneratorConfig +/// \brief Message containing configuration options for generating SDFormat from +/// currently loaded worlds + +import "gz/msgs/boolean.proto"; +import "gz/msgs/header.proto"; + +message SdfGeneratorConfig +{ + /// \brief Configuration for SDFormat generation of entities (eg. models, actors, lights) + message EntityGeneratorConfig + { + /// \brief Expand and inline included entities + gz.msgs.Boolean expand_include_tags = 1; + /// \brief Use the Fuel version in generated URIs of Fuel resources + gz.msgs.Boolean save_fuel_version = 2; + /// \brief Use absolute paths for resources such as meshes + gz.msgs.Boolean resources_use_absolute_paths = 3; + /// \brief Copy model resources, such as meshes, and create a self contained + /// model. + gz.msgs.Boolean copy_model_resources = 4; + }; + + /// \brief Optional header data + gz.msgs.Header header = 1; + + /// \brief Global setting for SDFormat generation of entities + EntityGeneratorConfig global_entity_gen_config = 2; + + /// \brief Per-entity override of global settings for SDFormat generation. + /// The key is the scoped name of an entity. + map override_entity_gen_configs = 3; +}; + diff --git a/proto/gz/msgs/selection.proto b/proto/gz/msgs/selection.proto new file mode 100644 index 00000000..f9fa2fb4 --- /dev/null +++ b/proto/gz/msgs/selection.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SelectionProtos"; + +/// \ingroup gz.msgs +/// \interface Selection +/// \brief A message for GUI selection data + +import "gz/msgs/header.proto"; + +message Selection +{ + /// \brief Optional header data + Header header = 1; + + uint32 id = 2; + string name = 3; + bool selected = 4; +} diff --git a/proto/gz/msgs/sensor.proto b/proto/gz/msgs/sensor.proto new file mode 100644 index 00000000..aae3a1fe --- /dev/null +++ b/proto/gz/msgs/sensor.proto @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SensorProtos"; + +/// \ingroup gz.msgs +/// \interface Sensor +/// \brief Information about a sensor element + +import "gz/msgs/altimeter_sensor.proto"; +import "gz/msgs/camerasensor.proto"; +import "gz/msgs/contactsensor.proto"; +import "gz/msgs/air_pressure_sensor.proto"; +import "gz/msgs/gps_sensor.proto"; +import "gz/msgs/header.proto"; +import "gz/msgs/imu_sensor.proto"; +import "gz/msgs/lidar_sensor.proto"; +import "gz/msgs/logical_camera_sensor.proto"; +import "gz/msgs/magnetometer_sensor.proto"; +import "gz/msgs/pose.proto"; + +message Sensor +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Name of the sensor + string name = 2; + + /// \brief Id of the sensor + uint32 id = 3; + + /// \brief Name of the parent, usually a link or joint. + string parent = 4; + + /// \brief Id of the parent, usually a link or joint. + uint32 parent_id = 5; + + /// \brief Sensor type + string type = 6; + + /// \brief True indicates that the sensor should always + /// produce data, instead of producing data only when + /// a consumer is connected to the data topic + bool always_on = 7; + + /// \brief Refresh rate + double update_rate = 8; + + /// \brief Sensor pose + Pose pose = 9; + + /// \brief Description of a camera sensor + CameraSensor camera = 10; + + /// \brief Description of a contact sensor + ContactSensor contact = 11; + + /// \brief True value indicates that sensor data should be + /// visualized in the GUI + bool visualize = 12; + + /// \brief Topic on which sensor data is published + string topic = 13; + + /// \brief Description of a logical camera sensor + LogicalCameraSensor logical_camera = 14; + + /// \brief Description of a gps sensor + /// TODO(chapulina) Migrate to NavSat + GPSSensor gps = 15; + + /// \brief Description of an IMU sensor + IMUSensor imu = 16; + + /// \brief Description of a Magnetometer sensor + MagnetometerSensor magnetometer = 17; + + /// \brief Description of an Altimeter sensor. + AltimeterSensor altimeter = 18; + + /// \brief Description of an Air Pressure sensor. + AirPressureSensor air_pressure = 19; + + /// \brief Description of a lidar sensor + LidarSensor lidar = 20; +} diff --git a/proto/gz/msgs/sensor_noise.proto b/proto/gz/msgs/sensor_noise.proto new file mode 100644 index 00000000..ba9509b1 --- /dev/null +++ b/proto/gz/msgs/sensor_noise.proto @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "Protos"; + +/// \ingroup gz.msgs +/// \interface SensorNoise +/// \brief Information about a sensor noise + +import "gz/msgs/header.proto"; + +message SensorNoise +{ + /// \brief Noise types + enum Type + { + /// \brief No noise + NONE = 0; + + /// \brief Gaussian noise + GAUSSIAN = 2; + + /// \brief Gaussian noise plus quantization of outputs (rounding) + GAUSSIAN_QUANTIZED = 3; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief The type of noise + Type type = 2; + + /// \brief Noise mean + /// Used by GAUSSIAN, and GAUSSIAN_QUANTIZED + double mean = 3; + + /// \brief Noise standard deviation + /// Used by GAUSSIAN, and GAUSSIAN_QUANTIZED + double stddev = 4; + + /// \brief Noise mean bias + /// Used by GAUSSIAN, and GAUSSIAN_QUANTIZED + double bias_mean = 5; + + /// \brief Noise standard deviation bias + /// Used by GAUSSIAN, and GAUSSIAN_QUANTIZED + double bias_stddev = 6; + + /// \brief Noise precision. + /// Used by GAUSSIAN_QUANTIZED + double precision = 7; + + /// \brief For type "gaussian*", the standard deviation of the noise used to + /// drive a process to model slow variations in a sensor bias. + double dynamic_bias_stddev = 8; + + /// \brief For type "gaussian*", the correlation time in seconds of the + /// noise used to drive a process to model slow variations in a sensor bias. + /// A typical value, when used, would be on the order of + /// 3600 seconds (1 hour). + double dynamic_bias_correlation_time = 9; +} diff --git a/proto/gz/msgs/sensor_v.proto b/proto/gz/msgs/sensor_v.proto new file mode 100644 index 00000000..16c9a49c --- /dev/null +++ b/proto/gz/msgs/sensor_v.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SensorVProtos"; + +/// \ingroup gz.msgs +/// \interface Sensor_V +/// \brief An array of sensors. + +import "gz/msgs/sensor.proto"; +import "gz/msgs/header.proto"; + +message Sensor_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Sensor messages. + repeated Sensor sensors = 2; +} diff --git a/proto/gz/msgs/serialized.proto b/proto/gz/msgs/serialized.proto new file mode 100644 index 00000000..b9b91c52 --- /dev/null +++ b/proto/gz/msgs/serialized.proto @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; + +package gz.msgs; +option java_package = "com.gz.msgs"; + +import "gz/msgs/header.proto"; +import "gz/msgs/world_stats.proto"; + +/// \brief Holds all the information needed to reconstruct a component. +message SerializedComponent +{ + /// \brief Unique ID that represents a component's type. + uint64 type = 1; + + /// \brief Component's serialized data. + bytes component = 2; + + /// \brief Whether the component should be removed at the current state. + bool remove = 3; +}; + +/// \brief Holds all the information needed to reconstruct an entity and its +/// components. +message SerializedEntity +{ + /// \brief The entity is uniquely identified by its ID. + uint64 id = 1; + + /// \brief All the components belonging to the entity. + repeated SerializedComponent components = 2; + + /// \brief Whether the entity and all its components should be removed at the + /// current state. + bool remove = 3; +}; + +/// \brief Holds all the information needed to reconstruct the state of an +/// entity-component-system (ECS) architecture at a given time. +/// An ECS's state consists of several entities, each with an arbitrary number +/// of components tied to them. +message SerializedState +{ + /// \brief Header data, which contains the simulation time. + gz.msgs.Header header = 1; + + /// \brief All the entities currently in the simulation. + repeated SerializedEntity entities = 2; +}; + +/// \brief All the data needed to step an ECS system, such as current +/// simulation time and entity states. +message SerializedStep +{ + /// \brief Iteration information, such as sim time and paused state. + WorldStatistics stats = 1; + + /// \brief State of entities and components. + SerializedState state = 2; +}; diff --git a/proto/gz/msgs/serialized_map.proto b/proto/gz/msgs/serialized_map.proto new file mode 100644 index 00000000..65fa9c67 --- /dev/null +++ b/proto/gz/msgs/serialized_map.proto @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; + +package gz.msgs; +option java_package = "com.gz.msgs"; + +import "gz/msgs/header.proto"; +import "gz/msgs/world_stats.proto"; +import "gz/msgs/serialized.proto"; + +/// \brief Holds all the information needed to reconstruct an entity and its +/// components. +message SerializedEntityMap +{ + /// \brief The entity is uniquely identified by its ID. + uint64 id = 1; + + /// \brief All the components belonging to the entity. + map components = 2; + + /// \brief Whether the entity and all its components should be removed at the + /// current state. + bool remove = 3; +}; + +/// \brief Holds all the information needed to reconstruct the state of an +/// entity-component-system (ECS) architecture at a given time. +/// An ECS's state consists of several entities, each with an arbitrary number +/// of components tied to them. +message SerializedStateMap +{ + /// \brief Header data, which contains the simulation time. + gz.msgs.Header header = 1; + + /// \brief All the entities currently in the simulation. + map entities = 2; + + /// \brief Indicates if there is any one time component change, + /// or if all changes are periodic. + bool has_one_time_component_changes = 3; +}; + +/// \brief All the data needed to step an ECS system, such as current +/// simulation time and entity states. +message SerializedStepMap +{ + /// \brief Iteration information, such as sim time and paused state. + WorldStatistics stats = 1; + + /// \brief State of entities and components. + SerializedStateMap state = 2; +}; diff --git a/proto/gz/msgs/server_control.proto b/proto/gz/msgs/server_control.proto new file mode 100644 index 00000000..6986481c --- /dev/null +++ b/proto/gz/msgs/server_control.proto @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ServerControlProtos"; + +/// \ingroup gz.msgs +/// \interface ServerControl +/// \brief A message that allows for control of the server functions + +import "gz/msgs/header.proto"; + +message ServerControl +{ + /// \brief Optional header data + Header header = 1; + + string save_world_name = 2; + string save_filename = 3; + string open_filename = 4; + bool new_world = 5; + bool stop = 6; + bool clone = 7; + uint32 new_port = 8; +} diff --git a/proto/gz/msgs/shadows.proto b/proto/gz/msgs/shadows.proto new file mode 100644 index 00000000..fa0f426c --- /dev/null +++ b/proto/gz/msgs/shadows.proto @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "ShadowsProtos"; + +/// \ingroup gz.msgs +/// \interface Shadows +/// \brief A message for shadow data + +import "gz/msgs/color.proto"; +import "gz/msgs/header.proto"; + +message Shadows +{ + enum ShadowType + { + STENCIL_ADDITIVE = 0; + STENCIL_MODULATIVE = 1; + TEXTURE_ADDITIVE = 2; + TEXTURE_MODULATIVE = 3; + } + + /// \brief Optional header data + Header header = 1; + + ShadowType type = 2; + Color color = 3; +} diff --git a/proto/gz/msgs/sim_event.proto b/proto/gz/msgs/sim_event.proto new file mode 100644 index 00000000..9b64bdcd --- /dev/null +++ b/proto/gz/msgs/sim_event.proto @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SimEventProtos"; + +/// \ingroup gz.msgs +/// \interface SimEvent + +import "gz/msgs/world_stats.proto"; +import "gz/msgs/header.proto"; + +message SimEvent +{ + /// \brief Optional header data + Header header = 1; + + /// \brief ID of this event message + uint32 id = 2; + + /// \brief Type of sim event + string type = 3; + + /// \brief Name of sim event + string name = 4; + + /// \brief Statistics of the world + WorldStatistics world_statistics = 5; + + /// \brief Data describing the sim event + string data = 6; +} diff --git a/proto/gz/msgs/sky.proto b/proto/gz/msgs/sky.proto new file mode 100644 index 00000000..aa6494fc --- /dev/null +++ b/proto/gz/msgs/sky.proto @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SkyProtos"; + +/// \ingroup gz.msgs +/// \interface Sky +/// \brief Information about the sky + +import "gz/msgs/color.proto"; +import "gz/msgs/header.proto"; + +message Sky +{ + /// \brief Optional header data + Header header = 1; + + double time = 2; + double sunrise = 3; + double sunset = 4; + + double wind_speed = 5; + double wind_direction = 6; + Color cloud_ambient = 7; + double humidity = 8; + double mean_cloud_size = 9; +} diff --git a/proto/gz/msgs/sonar.proto b/proto/gz/msgs/sonar.proto new file mode 100644 index 00000000..86e9f95b --- /dev/null +++ b/proto/gz/msgs/sonar.proto @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SonarProtos"; + +/// \ingroup gz.msgs +/// \interface Sonar +/// \brief Message for a sonar value + +import "gz/msgs/pose.proto"; +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message Sonar +{ + /// \brief Optional header data + Header header = 1; + + string frame = 2; + Pose world_pose = 3; + double range_min = 4; + double range_max = 5; + double radius = 6; + double range = 7; + + /// \brief The sonar collision shape. + /// possible values are "cone", "sphere". + /// If you set this value to "cone" you need to specify + /// the `radius`. + string geometry = 8; + + /// Location of the contact in the world frame. + Vector3d contact = 9; +} diff --git a/proto/gz/msgs/spheregeom.proto b/proto/gz/msgs/spheregeom.proto new file mode 100644 index 00000000..1acdabbf --- /dev/null +++ b/proto/gz/msgs/spheregeom.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SphereGeomProtos"; + +/// \ingroup gz.msgs +/// \interface SphereGeom +/// \brief Information about a sphere geometry + +import "gz/msgs/header.proto"; + +message SphereGeom +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Radius of the sphere. + double radius = 2; +} diff --git a/proto/gz/msgs/spherical_coordinates.proto b/proto/gz/msgs/spherical_coordinates.proto new file mode 100644 index 00000000..8511d8ea --- /dev/null +++ b/proto/gz/msgs/spherical_coordinates.proto @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SphericalCoordinatesProtos"; + +/// \ingroup gz.msgs +/// \interface SphericalCoordinates +/// \brief Spherical coordinates information + +import "gz/msgs/entity.proto"; +import "gz/msgs/header.proto"; + +message SphericalCoordinates +{ + /// \brief Planetary surface models. + enum SurfaceModel + { + /// \brief World Geodetic System 1984 + EARTH_WGS84 = 0; + } + + /// \brief Optional header data. + Header header = 1; + + /// \brief Planetary surface model. + SurfaceModel surface_model = 2; + + /// \brief Latitude in degrees. + double latitude_deg = 3; + + /// \brief Longitude in degrees. + double longitude_deg = 4; + + /// \brief Elevation in meters. + double elevation = 5; + + /// \brief Heading in degrees. + double heading_deg = 6; + + /// \brief Entity that the coordinates apply to. + /// If not set, defaults to the world origin. + Entity entity = 7; +} diff --git a/proto/gz/msgs/statistic.proto b/proto/gz/msgs/statistic.proto new file mode 100644 index 00000000..bad1b541 --- /dev/null +++ b/proto/gz/msgs/statistic.proto @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2020 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "StatisticProtos"; + +/// \ingroup gz.msgs +/// \interface Statistic +/// \brief A message that contains statistics data. + +import "gz/msgs/header.proto"; + +message Statistic +{ + /// \brief The type of data represented by this statistic. + enum DataType + { + /// \brief The data type has not been initialized. + UNINITIALIZED = 0; + /// \brief An average value is represented. + AVERAGE = 1; + /// \brief A minimum value is represented. + MINIMUM = 2; + /// \brief A maximum value is represented. + MAXIMUM = 3; + /// \brief A variance is represented. + VARIANCE = 4; + /// \brief A standard deviation is represented. + STDDEV = 5; + /// \brief A sample count is represented. + SAMPLE_COUNT = 6; + /// \brief A root mean square value is represented. + ROOT_MEAN_SQUARE = 7; + /// \brief A maximum absolute value is represented. + MAX_ABS_VALUE = 8; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief The data type. + DataType type = 2; + + /// \brief Name associated with the statistic. + string name = 3; + + /// \brief The statistic's value. + double value = 4; +} + +/// \brief A named group of statistics. +message StatisticsGroup +{ + /// \brief Optional header data. + Header header = 1; + + /// \brief Name of the group. + string name = 2; + + /// \brief Statistics the belong to this group. + repeated Statistic statistics = 3; +} + +message Metric +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Unit of measurement such as seconds, meters, liters. + string unit = 2; + + /// \brief Zero or more named groups of statistics. A statistic group is + /// used to bundle data into a logical set with an associated name. + repeated StatisticsGroup statistics_groups = 3; + + /// \brief Zero or more statistics. + repeated Statistic statistics = 4; +} diff --git a/proto/gz/msgs/stringmsg.proto b/proto/gz/msgs/stringmsg.proto new file mode 100644 index 00000000..dc56e243 --- /dev/null +++ b/proto/gz/msgs/stringmsg.proto @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "StringMsgProtos"; + +/// \ingroup gz.msgs +/// \interface StringMsg +/// \brief A message for string data + +import "gz/msgs/header.proto"; + +message StringMsg +{ + /// \brief Optional header data + Header header = 1; + + string data = 2; +} diff --git a/proto/gz/msgs/stringmsg_v.proto b/proto/gz/msgs/stringmsg_v.proto new file mode 100644 index 00000000..cd7b2f1f --- /dev/null +++ b/proto/gz/msgs/stringmsg_v.proto @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "StringMsgVProtos"; + +/// \ingroup gz.msgs +/// \interface StringMsg_V +/// \brief A message for a vector of string data + +import "gz/msgs/header.proto"; + +message StringMsg_V +{ + /// \brief Optional header data + Header header = 1; + + repeated string data = 2; +} diff --git a/proto/gz/msgs/subscribe.proto b/proto/gz/msgs/subscribe.proto new file mode 100644 index 00000000..5e57509d --- /dev/null +++ b/proto/gz/msgs/subscribe.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SubscribeProtos"; + +/// \ingroup gz.msgs +/// \interface Subscribe +/// \brief A message for subscription data + +import "gz/msgs/header.proto"; + +message Subscribe +{ + /// \brief Optional header data + Header header = 1; + + string topic = 2; + string host = 3; + uint32 port = 4; + string msg_type = 5; + bool latching = 6; +} diff --git a/proto/gz/msgs/surface.proto b/proto/gz/msgs/surface.proto new file mode 100644 index 00000000..2d6efc1e --- /dev/null +++ b/proto/gz/msgs/surface.proto @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "SurfaceProtos"; + +/// \ingroup gz.msgs +/// \interface Surface +/// \brief Information about a surface element + +import "gz/msgs/header.proto"; +import "gz/msgs/friction.proto"; + +message Surface +{ + /// \brief Optional header data + Header header = 1; + + Friction friction = 2; + double restitution_coefficient = 3; + double bounce_threshold = 4; + double soft_cfm = 5; + double soft_erp = 6; + double kp = 7; + double kd = 8; + double max_vel = 9; + double min_depth = 10; + bool collide_without_contact = 11; + uint32 collide_without_contact_bitmask = 12; + uint32 collide_bitmask = 13; + double elastic_modulus = 14; +} diff --git a/proto/gz/msgs/tactile.proto b/proto/gz/msgs/tactile.proto new file mode 100644 index 00000000..8955b71a --- /dev/null +++ b/proto/gz/msgs/tactile.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "TactileProtos"; + +/// \ingroup gz.msgs +/// \interface Tactile +/// \brief Message for a tactile data + +import "gz/msgs/header.proto"; + +message Tactile +{ + /// \brief Optional header data + Header header = 1; + + repeated string collision_name = 2; + repeated uint32 collision_id = 3; + repeated double pressure = 4; +} diff --git a/proto/gz/msgs/test.proto b/proto/gz/msgs/test.proto new file mode 100644 index 00000000..cd6146c6 --- /dev/null +++ b/proto/gz/msgs/test.proto @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "TestProtos"; + +/// \ingroup gz.msgs +/// \interface Test +/// \brief A test message + +import "gz/msgs/header.proto"; + +message Test +{ + /// \brief Optional header data + Header header = 1; +} diff --git a/proto/gz/msgs/time.proto b/proto/gz/msgs/time.proto new file mode 100644 index 00000000..2e0ad97c --- /dev/null +++ b/proto/gz/msgs/time.proto @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "TimeProtos"; + +/// \ingroup gz.msgs +/// \interface Time +/// \brief A message for time data + +message Time +{ + /// \brief Seconds + int64 sec = 1; + + /// \brief Nanoseconds + int32 nsec = 2; +} diff --git a/proto/gz/msgs/topic_info.proto b/proto/gz/msgs/topic_info.proto new file mode 100644 index 00000000..0c0e4527 --- /dev/null +++ b/proto/gz/msgs/topic_info.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "TopicInfoProtos"; + +/// \ingroup gz.msgs +/// \interface TopicInfo +/// \brief A message for topic information + +import "gz/msgs/publish.proto"; +import "gz/msgs/subscribe.proto"; +import "gz/msgs/header.proto"; + +message TopicInfo +{ + /// \brief Optional header data + Header header = 1; + + string msg_type = 2; + repeated Publish publisher = 3; + repeated Subscribe subscriber = 4; +} diff --git a/proto/gz/msgs/track_visual.proto b/proto/gz/msgs/track_visual.proto new file mode 100644 index 00000000..85dd7db4 --- /dev/null +++ b/proto/gz/msgs/track_visual.proto @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "TrackVisualProtos"; + +/// \ingroup gz.msgs +/// \interface TrackVisual +/// \brief Message for a tracking a rendering::Visual with a rendering::Camera + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message TrackVisual +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Name of the visual to track + string name = 2; + + /// \brief Id of the visual to track + uint32 id = 3; + + /// \brief True to have the tracking camera inherit the orientation of + /// the tracked visual. + bool inherit_orientation = 4; + + /// \brief Minimum follow distance + double min_dist = 5; + + /// \brief Maximum follow distance + double max_dist = 6; + + /// \brief If set to true, the position of the camera is fixed. + bool static = 7; + + /// \brief If set to true, the position of the camera is relative to the + /// model reference frame. + bool use_model_frame = 8; + + /// \brief Position of the camera. + Vector3d xyz = 9; + + /// \brief If set to true, the camera inherits the yaw rotation of the model. + bool inherit_yaw = 10; +} diff --git a/proto/gz/msgs/twist.proto b/proto/gz/msgs/twist.proto new file mode 100644 index 00000000..251cf7e1 --- /dev/null +++ b/proto/gz/msgs/twist.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2018 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "TwistProtos"; + +/// \ingroup gz.msgs +/// \interface Twist +/// \brief Message with linear and angular velocities. + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message Twist +{ + /// \brief Optional header data. + Header header = 1; + + /// \brief Linear velocity in 3d space. + Vector3d linear = 2; + + /// \brief Angular velocity in 3d space. + Vector3d angular = 3; +} diff --git a/proto/gz/msgs/twist_with_covariance.proto b/proto/gz/msgs/twist_with_covariance.proto new file mode 100644 index 00000000..c15643ae --- /dev/null +++ b/proto/gz/msgs/twist_with_covariance.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "TwistWithCovarianceProtos"; + +/// \ingroup gz.msgs +/// \interface TwistWithCovariance +/// \brief Message with twist and a covariance matrix + +import "gz/msgs/float_v.proto"; +import "gz/msgs/twist.proto"; + +message TwistWithCovariance +{ + /// \brief Twist message. + Twist twist = 1; + + /// \brief Row-major representation of the 6x6 covariance matrix + /// The orientation parameters use a fixed-axis representation. + /// In order, the parameters are: + /// (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis) + Float_V covariance = 2; +} diff --git a/proto/gz/msgs/uint32.proto b/proto/gz/msgs/uint32.proto new file mode 100644 index 00000000..c8ab3a9c --- /dev/null +++ b/proto/gz/msgs/uint32.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "UInt32Protos"; + +/// \ingroup gz.msgs +/// \interface UInt32 +/// \brief Integer message + +import "gz/msgs/header.proto"; + +message UInt32 +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Integer data + uint32 data = 2; +} diff --git a/proto/gz/msgs/uint32_v.proto b/proto/gz/msgs/uint32_v.proto new file mode 100644 index 00000000..a13c1be2 --- /dev/null +++ b/proto/gz/msgs/uint32_v.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "UInt32VProtos"; + +/// \ingroup gz.msgs +/// \interface UInt32_V +/// \brief A message for a vector of int data + +import "gz/msgs/header.proto"; + +message UInt32_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Vector of int data + repeated uint32 data = 2; +} diff --git a/proto/gz/msgs/uint64.proto b/proto/gz/msgs/uint64.proto new file mode 100644 index 00000000..ac3350ba --- /dev/null +++ b/proto/gz/msgs/uint64.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "UInt64Protos"; + +/// \ingroup gz.msgs +/// \interface UInt64 +/// \brief Integer message + +import "gz/msgs/header.proto"; + +message UInt64 +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Integer data + uint64 data = 2; +} diff --git a/proto/gz/msgs/uint64_v.proto b/proto/gz/msgs/uint64_v.proto new file mode 100644 index 00000000..eb24838e --- /dev/null +++ b/proto/gz/msgs/uint64_v.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "UInt64VProtos"; + +/// \ingroup gz.msgs +/// \interface UInt64_V +/// \brief A message for a vector of int data + +import "gz/msgs/header.proto"; + +message UInt64_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Vector of int data + repeated uint64 data = 2; +} diff --git a/proto/gz/msgs/undo_redo.proto b/proto/gz/msgs/undo_redo.proto new file mode 100644 index 00000000..622a5585 --- /dev/null +++ b/proto/gz/msgs/undo_redo.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "UndoRedoProtos"; + +/// \ingroup gz.msgs +/// \interface UndoRedo +/// \brief A message requesting to undo or redo user commands. + +import "gz/msgs/header.proto"; + +message UndoRedo +{ + /// \brief Optional header data + Header header = 1; + + /// \brief True to undo, false to redo. + bool undo = 2; + + /// \brief Unique id of the user command. If this is provided, all commands + /// leading to that will be undone / redone. + uint32 id = 3; +} diff --git a/proto/gz/msgs/user_cmd.proto b/proto/gz/msgs/user_cmd.proto new file mode 100644 index 00000000..809125e9 --- /dev/null +++ b/proto/gz/msgs/user_cmd.proto @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "UserCmdProtos"; + +import "gz/msgs/light.proto"; +import "gz/msgs/model.proto"; +import "gz/msgs/world_control.proto"; +import "gz/msgs/wrench.proto"; +import "gz/msgs/header.proto"; + +/// \ingroup gz.msgs +/// \interface UserCmd +/// \brief Notifies that a new command has been executed by a user + +message UserCmd +{ + /// \brief Types of user commands + enum Type + { + /// \brief Moving an entity. + MOVING = 0; + + /// \brief Controlling the world. + WORLD_CONTROL = 1; + + /// \brief Applying wrench. + WRENCH = 2; + + /// \brief Scaling an entity. + SCALING = 3; + } + + /// \brief Optional header data + Header header = 1; + + /// \brief Unique id for user command. + uint32 id = 2; + + /// \brief Description for the command. + string description = 3; + + /// \brief Type of command. + Type type = 4; + + /// \brief For model modify commands. + repeated Model model = 5; + + /// \brief For light modify commands. + repeated Light light = 6; + + /// \brief Name of entity targeted by command + string entity_name = 7; + + /// \brief For World Control commands. + WorldControl world_control = 8; + + /// \brief Wrench for apply wrench commands. + Wrench wrench = 9; +} diff --git a/proto/gz/msgs/user_cmd_stats.proto b/proto/gz/msgs/user_cmd_stats.proto new file mode 100644 index 00000000..f48b6e39 --- /dev/null +++ b/proto/gz/msgs/user_cmd_stats.proto @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "UserCmdStatsProtos"; + +/// \ingroup gz.msgs +/// \interface UserCmdStats +/// \brief Contains statistics about user commands. + +import "gz/msgs/user_cmd.proto"; +import "gz/msgs/header.proto"; + +message UserCmdStats +{ + /// \brief Optional header data + Header header = 1; + + /// \brief User commands in the undo list. + repeated UserCmd undo_cmd = 2; + + /// \brief User commands in the redo list. + repeated UserCmd redo_cmd = 3; +} diff --git a/proto/gz/msgs/vector2d.proto b/proto/gz/msgs/vector2d.proto new file mode 100644 index 00000000..56ccf270 --- /dev/null +++ b/proto/gz/msgs/vector2d.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "Vector2dProtos"; + +/// \ingroup gz.msgs +/// \interface Vector2d +/// \brief Message for a vector2 double + +import "gz/msgs/header.proto"; + +message Vector2d +{ + /// \brief Optional header data + Header header = 1; + + double x = 2; + double y = 3; +} diff --git a/proto/gz/msgs/vector3d.proto b/proto/gz/msgs/vector3d.proto new file mode 100644 index 00000000..0e7f50db --- /dev/null +++ b/proto/gz/msgs/vector3d.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "Vector3dProtos"; + +/// \ingroup gz.msgs +/// \interface Vector3d +/// \brief Message for a vector3 double + +import "gz/msgs/header.proto"; + +message Vector3d +{ + /// \brief Optional header data + Header header = 1; + + double x = 2; + double y = 3; + double z = 4; +} diff --git a/proto/gz/msgs/version.proto b/proto/gz/msgs/version.proto new file mode 100644 index 00000000..14f0d4d0 --- /dev/null +++ b/proto/gz/msgs/version.proto @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "Version"; + +/// \ingroup gz.msgs +/// \interface Version. +/// \brief Message that contains major, minor, and patch numbers. Prelease and +/// build information can also be included. + +message Version +{ + /// \brief Major version. + int32 major = 1; + + /// \brief Minor version. + int32 minor = 2; + + /// \brief Patch version. + int32 patch = 3; + + /// \brief Pre-release version. + string prerelease = 4; + + /// \brief Build version. + string build = 5; +} diff --git a/proto/gz/msgs/version_range.proto b/proto/gz/msgs/version_range.proto new file mode 100644 index 00000000..84f21207 --- /dev/null +++ b/proto/gz/msgs/version_range.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "VersionRange"; + +/// \ingroup gz.msgs +/// \interface VersionRange. +/// \brief Message that represents a range of versions, e.g. [1.4, 1.6]. +/// If a min or max value is not present, then the interval is considered to +/// be unbounded in that direction. + +import "gz/msgs/version.proto"; + +message VersionRange +{ + /// \brief Min version. + Version min = 1; + + /// \brief Max version. + Version max = 2; +} diff --git a/proto/gz/msgs/versioned_name.proto b/proto/gz/msgs/versioned_name.proto new file mode 100644 index 00000000..c759328f --- /dev/null +++ b/proto/gz/msgs/versioned_name.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "VersionedName"; + +/// \ingroup gz.msgs +/// \interface Version. +/// \brief Version information that contains an associated name. This message +/// can be used to represent a versioned library, such as +/// " 1.2.3". + +import "gz/msgs/version.proto"; + +message VersionedName +{ + /// \brief Version information. + Version version = 1; + + /// \brief Name associated with the version. + string name = 2; +} diff --git a/proto/gz/msgs/video_record.proto b/proto/gz/msgs/video_record.proto new file mode 100644 index 00000000..697b9a4d --- /dev/null +++ b/proto/gz/msgs/video_record.proto @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2019 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "VideoRecordProtos"; + +/// \ingroup gz.msgs +/// \interface VideoRecord +/// \brief A message that allows for control of video recording functions + +import "gz/msgs/header.proto"; + +message VideoRecord +{ + /// \brief Optional header data + Header header = 1; + + /// \brief True to start video recording + bool start = 2; + + /// \brief True to stop video recording + bool stop = 3; + + /// \brief Video encoding format, e.g. "mp4", "ogv" + string format = 4; + + /// \brief filename of the recorded video + string save_filename = 5; +} diff --git a/proto/gz/msgs/visual.proto b/proto/gz/msgs/visual.proto new file mode 100644 index 00000000..ad37b23a --- /dev/null +++ b/proto/gz/msgs/visual.proto @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "VisualProtos"; + +/// \ingroup gz.msgs +/// \interface Visual +/// \brief A message containing visual information for rendering::Visual + +import "gz/msgs/header.proto"; +import "gz/msgs/pose.proto"; +import "gz/msgs/geometry.proto"; +import "gz/msgs/material.proto"; +import "gz/msgs/plugin.proto"; +import "gz/msgs/vector3d.proto"; + +message Visual +{ + /// \brief Optional meta information for the visual. The information + /// contained within this element should be used to provide additional + /// feedback to an end user. + message Meta + { + /// \brief The layer in which this visual is displayed. The layer number + /// is useful for programs, such as Gazebo, that put visuals in different + /// layers for enhanced visualization. + int32 layer = 1; + } + + enum Type + { + /// \brief Entity visual + ENTITY = 0; + /// \brief Model visual + MODEL = 1; + /// \brief Link visual + LINK = 2; + /// \brief Visual visual + VISUAL = 3; + /// \brief Collision visual + COLLISION = 4; + /// \brief Sensor visual + SENSOR = 5; + /// \brief GUI visual + GUI = 6; + /// \brief Physics data visual + PHYSICS = 7; + } + + /// \brief Optional header data + Header header = 1; + + string name = 2; + uint32 id = 3; + string parent_name = 4; + uint32 parent_id = 5; + bool cast_shadows = 6; + double transparency = 7; + double laser_retro = 8; + Pose pose = 9; + Geometry geometry = 10; + Material material = 11; + + bool visible = 12; + bool delete_me = 13; + bool is_static = 14; + repeated Plugin plugin = 15; + Vector3d scale = 16; + + /// \brief Option meta information associated with this visual. + Meta meta = 17; + + /// \brief Type of visual. + Type type = 18; +} diff --git a/proto/gz/msgs/visual_v.proto b/proto/gz/msgs/visual_v.proto new file mode 100644 index 00000000..74ac3540 --- /dev/null +++ b/proto/gz/msgs/visual_v.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "VisualVProtos"; + +/// \ingroup gz.msgs +/// \interface Visual_V +/// \brief An array of visuals. + +import "gz/msgs/header.proto"; +import "gz/msgs/visual.proto"; + +message Visual_V +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Visual messages. + repeated Visual visuals = 2; +} diff --git a/proto/gz/msgs/web_request.proto b/proto/gz/msgs/web_request.proto new file mode 100644 index 00000000..de1de445 --- /dev/null +++ b/proto/gz/msgs/web_request.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "WebRequestProtos"; + +/// \ingroup gz.msgs +/// \interface WebRequest +/// \brief Message for making request from the web. + +import "gz/msgs/header.proto"; + +message WebRequest +{ + /// \brief Optional header data + Header header = 1; + + string operation = 2; + string topic = 3; + string msg_type = 4; + string compression = 5; + double hz = 6; +} diff --git a/proto/gz/msgs/wheel_slip_parameters_cmd.proto b/proto/gz/msgs/wheel_slip_parameters_cmd.proto new file mode 100644 index 00000000..00ab5c2f --- /dev/null +++ b/proto/gz/msgs/wheel_slip_parameters_cmd.proto @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2022 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "WheelSlipParametersCmd"; + +/// \ingroup gz.msgs +/// \interface WheelSlipParametersCmd +/// \brief Message containing a wheel slip parameters user command. + +import "gz/msgs/entity.proto"; +import "gz/msgs/header.proto"; + +message WheelSlipParametersCmd +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Entity which wheel slip parameters are going to be modified. + /// + /// The entity might be a model with at least one link or a link. + /// If the entity is a model, the wheel slip parameters of all its + /// links will be updated. + /// + /// The entity name (entity.name) will be used as an scoped name. + /// For example, in this + /// hierarchy: + /// + /// world_name + /// model_name + /// link_name + /// + /// All these names will return the link entity: + /// + /// * world_name::model_name::link_name + /// * model_name::link_name + /// * link_name + Entity entity = 2; + + /// \brief Unitless lateral slip ratio. + /// + /// See https://en.wikipedia.org/wiki/Slip_(vehicle_dynamics). + /// to tangential force ratio (tangential / normal force). + /// At each time step, these compliances are multiplied by + /// the linear wheel spin velocity and divided by the wheel normal force + /// parameter specified in the sdf. + double slip_compliance_lateral = 4; + /// \brief Unitless longitudinal slip ratio. + /// + /// See https://en.wikipedia.org/wiki/Slip_(vehicle_dynamics). + /// to tangential force ratio (tangential / normal force). + /// At each time step, these compliances are multiplied by + /// the linear wheel spin velocity and divided by the wheel normal force + /// parameter specified in the sdf. + double slip_compliance_longitudinal = 5; +} diff --git a/proto/gz/msgs/wind.proto b/proto/gz/msgs/wind.proto new file mode 100644 index 00000000..38079e3a --- /dev/null +++ b/proto/gz/msgs/wind.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "WindProtos"; + +/// \ingroup gz.msgs +/// \interface Wind +/// \brief A message containing a description of the global wind properties + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message Wind +{ + /// \brief Optional header data + Header header = 1; + + Vector3d linear_velocity = 2; + bool enable_wind = 3; +} diff --git a/proto/gz/msgs/wireless_node.proto b/proto/gz/msgs/wireless_node.proto new file mode 100644 index 00000000..9600e605 --- /dev/null +++ b/proto/gz/msgs/wireless_node.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "WirelessNodeProtos"; + +/// \ingroup gz.msgs +/// \interface WirelessNode +/// \brief Message for sending info about a detected wireless transmitter + +import "gz/msgs/header.proto"; + +message WirelessNode +{ + /// \brief Optional header data + Header header = 1; + + string essid = 2; + double frequency = 3; + double signal_level = 4; +} diff --git a/proto/gz/msgs/wireless_nodes.proto b/proto/gz/msgs/wireless_nodes.proto new file mode 100644 index 00000000..277682eb --- /dev/null +++ b/proto/gz/msgs/wireless_nodes.proto @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "WirelessNodesProtos"; + +/// \ingroup gz.msgs +/// \interface WirelessNodes +/// \brief Msgs for sending information about a list of wireless transmitters + +import "gz/msgs/wireless_node.proto"; +import "gz/msgs/header.proto"; + +message WirelessNodes +{ + /// \brief Optional header data + Header header = 1; + + repeated WirelessNode node = 2; +} diff --git a/proto/gz/msgs/world_control.proto b/proto/gz/msgs/world_control.proto new file mode 100644 index 00000000..6977d069 --- /dev/null +++ b/proto/gz/msgs/world_control.proto @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "WorldControlProtos"; + +/// \ingroup gz.msgs +/// \interface WorldControl +/// \brief A message that allows for control of world functions + +import "gz/msgs/world_reset.proto"; +import "gz/msgs/header.proto"; +import "gz/msgs/time.proto"; + +message WorldControl +{ + /// \brief Optional header data + Header header = 1; + + bool pause = 2; + bool step = 3; + uint32 multi_step = 4; + WorldReset reset = 5; + uint32 seed = 6; + + // \brief A simulation time in the future to run to and then pause. + Time run_to_sim_time = 7; +} diff --git a/proto/gz/msgs/world_control_state.proto b/proto/gz/msgs/world_control_state.proto new file mode 100644 index 00000000..e020eb9a --- /dev/null +++ b/proto/gz/msgs/world_control_state.proto @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "WorldControlStateProtos"; + +/// \ingroup gz.msgs +/// \interface WorldControlState +/// \brief A message that allows for control of world functions, along with +/// a serialized state that can represent the state of an +/// entity-component-system (ECS) + +import "gz/msgs/header.proto"; +import "gz/msgs/serialized.proto"; +import "gz/msgs/world_control.proto"; + +message WorldControlState +{ + /// \brief Optional header data + Header header = 1; + + /// \brief A WorldControl that allows for control of world functions + WorldControl world_control = 2; + + /// \brief A SerializedState that can contain information about the + /// state of an entity-comonent-system (ECS) + SerializedState state = 3; +}; diff --git a/proto/gz/msgs/world_modify.proto b/proto/gz/msgs/world_modify.proto new file mode 100644 index 00000000..83fa565d --- /dev/null +++ b/proto/gz/msgs/world_modify.proto @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "WorldModifyProtos"; + +/// \ingroup gz.msgs +/// \interface WorldModify +/// \brief A message that allows for modifying (open, close) worlds + +import "gz/msgs/header.proto"; + +message WorldModify +{ + /// \brief Optional header data + Header header = 1; + + string world_name = 2; + bool remove = 3; + bool create = 4; + bool cloned = 5; + string cloned_uri = 6; +} diff --git a/proto/gz/msgs/world_reset.proto b/proto/gz/msgs/world_reset.proto new file mode 100644 index 00000000..b7e2c1ac --- /dev/null +++ b/proto/gz/msgs/world_reset.proto @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "WorldResetProtos"; + +/// \ingroup gz.msgs +/// \interface WorldReset +/// \brief A message that controls how the world is reset + +import "gz/msgs/header.proto"; + +message WorldReset +{ + /// \brief Optional header data + Header header = 1; + + bool all = 2; + bool time_only = 3; + bool model_only = 4; +} diff --git a/proto/gz/msgs/world_stats.proto b/proto/gz/msgs/world_stats.proto new file mode 100644 index 00000000..6735bd83 --- /dev/null +++ b/proto/gz/msgs/world_stats.proto @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "WorldStatsProtos"; + +/// \ingroup gz.msgs +/// \interface WorldStatistics +/// \brief A message statiscs about a world + +import "gz/msgs/log_playback_stats.proto"; +import "gz/msgs/time.proto"; +import "gz/msgs/header.proto"; + +message WorldStatistics +{ + /// \brief Optional header data + Header header = 1; + + /// \brief Current simulation time + Time sim_time = 2; + + /// \brief Total time spent paused + Time pause_time = 3; + + /// \brief Current real time + Time real_time = 4; + + /// \brief Whether currently paused + bool paused = 5; + + /// \brief Current iteration count + uint64 iterations = 6; + + /// \brief Total number of models in the world + int32 model_count = 7; + + /// \brief Statistics for log playback + LogPlaybackStatistics log_playback_stats = 8; + + /// \brief This factor expresses how much real time elapses with each step + /// of simulation time. + /// E.g.: 0.5 means that 1 second in real time takes 2 seconds in simulation. + double real_time_factor = 9; + + /// \brief Iteration step size. It's zero when paused. + Time step_size = 10; +} diff --git a/proto/gz/msgs/wrench.proto b/proto/gz/msgs/wrench.proto new file mode 100644 index 00000000..25c23138 --- /dev/null +++ b/proto/gz/msgs/wrench.proto @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +syntax = "proto3"; +package gz.msgs; +option java_package = "com.gz.msgs"; +option java_outer_classname = "WrenchProtos"; + +/// \ingroup gz.msgs +/// \interface Wrench +/// \brief Message for a wrench value + +import "gz/msgs/vector3d.proto"; +import "gz/msgs/header.proto"; + +message Wrench +{ + /// \brief Optional header data + Header header = 1; + + Vector3d force = 2; + Vector3d torque = 3; + Vector3d force_offset = 4; +} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 19348ee4..adaec5a4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -100,6 +100,33 @@ endfunction() ################################################## # do the code generation +# TODO(CH3): LATER!! +# file (GLOB proto_files ${PROJECT_SOURCE_DIR}/proto/gz/msgs/*.proto) +# +# foreach(proto_file ${proto_files}) +# ign_msgs_protoc( +# PROTO_PACKAGE +# .gz.msgs +# GENERATE_CPP +# GENERATE_RUBY +# INPUT_PROTO +# ${proto_file} +# PROTOC_EXEC +# protobuf::protoc +# OUTPUT_CPP_DIR +# "${PROJECT_BINARY_DIR}/include" +# OUTPUT_RUBY_DIR +# "${PROJECT_BINARY_DIR}/ruby" +# OUTPUT_CPP_HH_VAR +# gen_headers +# OUTPUT_CPP_CC_VAR +# gen_sources +# OUTPUT_RUBY_VAR +# gen_ruby_scripts +# PROTO_PATH +# "${PROJECT_SOURCE_DIR}/proto") +# endforeach() + file (GLOB proto_files ${PROJECT_SOURCE_DIR}/proto/ignition/msgs/*.proto) foreach(proto_file ${proto_files}) @@ -149,25 +176,26 @@ set_source_files_properties(${gen_headers} ${gen_sources} ${gen_ruby_scripts} message(STATUS "Installing Ruby messages to ${CMAKE_INSTALL_PREFIX}/${IGN_LIB_INSTALL_DIR}/ruby/ignition/${IGN_DESIGNATION}${PROJECT_VERSION_MAJOR}") install(FILES ${gen_ruby_scripts} DESTINATION ${CMAKE_INSTALL_PREFIX}/${IGN_LIB_INSTALL_DIR}/ruby/ignition/${IGN_DESIGNATION}${PROJECT_VERSION_MAJOR}) +message(STATUS "Installing Ruby messages to ${CMAKE_INSTALL_PREFIX}/${IGN_LIB_INSTALL_DIR}/ruby/gz/${IGN_DESIGNATION}${PROJECT_VERSION_MAJOR}") +install(FILES ${gen_ruby_scripts} DESTINATION ${CMAKE_INSTALL_PREFIX}/${IGN_LIB_INSTALL_DIR}/ruby/gz/${IGN_DESIGNATION}${PROJECT_VERSION_MAJOR}) + ign_install_includes( "${IGN_INCLUDE_INSTALL_DIR_POSTFIX}/ignition/${IGN_DESIGNATION}" ${gen_headers}) - ################################################## -# Generate ignition/msgs/MessageTypes.hh +# Generate gz/msgs/MessageTypes.hh foreach (hdr ${gen_headers}) string(REPLACE "${PROJECT_BINARY_DIR}/include/" "" hdr ${hdr}) string(CONCAT ign_msgs_headers ${ign_msgs_headers} "#include <${hdr}>\n") endforeach() configure_file (${CMAKE_CURRENT_SOURCE_DIR}/MessageTypes.hh.in - ${PROJECT_BINARY_DIR}/include/ignition/msgs/MessageTypes.hh) + ${PROJECT_BINARY_DIR}/include/gz/msgs/MessageTypes.hh) ign_install_includes( - "${IGN_INCLUDE_INSTALL_DIR_POSTFIX}/ignition/${IGN_DESIGNATION}" - "${PROJECT_BINARY_DIR}/include/ignition/${IGN_DESIGNATION}/MessageTypes.hh") - + "${IGN_INCLUDE_INSTALL_DIR_POSTFIX}/gz/${IGN_DESIGNATION}" + "${PROJECT_BINARY_DIR}/include/gz/${IGN_DESIGNATION}/MessageTypes.hh") ################################################## # Build the main library diff --git a/src/Generator.cc b/src/Generator.cc index 42658459..2a35a391 100644 --- a/src/Generator.cc +++ b/src/Generator.cc @@ -195,6 +195,15 @@ bool Generator::Generate(const FileDescriptor *_file, warningPop += "#endif"; printer.Print(warningPop.c_str(), "name", "global_scope"); + + // NOTE(CH3): GOOD PLACE TO TICK TOCK NAMESPACING + // (either here or in Factory.hh?) + // printer.Print("// namespace [[deprecated(\"Use gz namespace.\")]]" + // " ignition\n" + // "// {\n// using namespace gz;\n// }\n", + // "name", "includes"); + // + // printer.Print("namespace ignition = gz;\n", "name", "includes"); } return true; diff --git a/test/BUILD.bazel b/test/BUILD.bazel index 7fd7fc6a..08762d90 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -22,7 +22,7 @@ MSGS_DIR = "./ign_msgs/" cmake_configure_file( name = "test_config", src = "test_config.h.in", - out = "ignition/msgs/test_config.h", + out = "gz/msgs/test_config.h", cmakelists = ["CMakeLists.txt"], defines = [ "CMAKE_BINARY_DIR=%s" % (MSGS_DIR), @@ -34,8 +34,8 @@ cmake_configure_file( cc_library( name = "test_utils", - srcs = ["ignition/msgs/test_config.h"], - includes = [".", "ignition"], + srcs = ["gz/msgs/test_config.h"], + includes = [".", "gz"], ) [ diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 84f3f4d7..8706e742 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -5,7 +5,7 @@ include_directories ( ) configure_file (test_config.h.in - ${PROJECT_BINARY_DIR}/include/ignition/msgs/test_config.h) + ${PROJECT_BINARY_DIR}/include/gz/msgs/test_config.h) # Build gtest add_library(gtest STATIC gtest/src/gtest-all.cc)