first commit

This commit is contained in:
2025-10-30 11:30:16 +07:00
commit 827b8623bc
84 changed files with 5662 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
cmake_minimum_required(VERSION 3.10)
project(geometry_msgs)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if (NOT TARGET std_msgs)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../std_msgs ${CMAKE_BINARY_DIR}/std_msgs_build)
endif()
# Thư viện header-only
add_library(geometry_msgs INTERFACE)
# Include path tới thư mục chứa file header
target_include_directories(geometry_msgs INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/include
)
# Liên kết với std_msgs nếu bạn có file Header.h trong include/std_msgs/
target_link_libraries(geometry_msgs INTERFACE std_msgs)

View File

@@ -0,0 +1,26 @@
#ifndef POINT_H
#define POINT_H
#include <cmath>
#include <iostream>
namespace geometry_msgs
{
struct Point
{
double x;
double y;
double z;
// Constructor mặc định
Point() : x(0.0), y(0.0), z(0.0) {}
// Constructor khởi tạo nhanh
Point(double x_, double y_, double z_ = 0.0)
: x(x_), y(y_), z(z_) {}
};
} // namespace geometry_msgs
#endif // POINT_H

View File

@@ -0,0 +1,14 @@
#ifndef POINT_32_H
#define POINT_32_H
namespace geometry_msgs
{
struct Point32
{
float x;
float y;
float z;
};
} // namespace geometry_msgs
#endif //POINT_32_H

View File

@@ -0,0 +1,21 @@
// # This represents a Point with reference coordinate frame and timestamp
// Header header
// Point point
#ifndef POINT_STAMPED_H
#define POINT_STAMPED_H
#include "std_msgs/Header.h"
#include "geometry_msgs/Point.h"
namespace geometry_msgs
{
struct PointStamped
{
std_msgs::Header header;
geometry_msgs::Point point;
PointStamped() = default;
};
} // namespace geometry_msgs
#endif //POINT_STAMPED_H

View File

@@ -0,0 +1,16 @@
#ifndef POLYGON_H
#define POLYGON_H
#include<vector>
#include<geometry_msgs/Point32.h>
namespace geometry_msgs
{
struct Polygon
{
std::vector<geometry_msgs::Point32> points;
};
} // namespace geometry_msgs
#endif //POLYGON_H

View File

@@ -0,0 +1,21 @@
// # This represents a Polygon with reference coordinate frame and timestamp
// Header header
// Polygon polygon
#ifndef POLYGON_STAMPED_H
#define POLYGON_STAMPED_H
#include<std_msgs/Header.h>
#include<geometry_msgs/Polygon.h>
namespace geometry_msgs
{
struct PolygonStamped
{
std_msgs::Header header;
Polygon polygon;
};
} // namespace geometry_msgs
#endif //POLYGON_STAMPED_H

View File

@@ -0,0 +1,20 @@
#ifndef POSE_H
#define POSE_H
#include <cmath>
#include <iostream>
#include <geometry_msgs/Point.h>
#include <geometry_msgs/Quaternion.h>
namespace geometry_msgs
{
struct Pose
{
Point position;
Quaternion orientation;
};
} // namespace geometry_msgs
#endif // POSE_H

View File

@@ -0,0 +1,24 @@
#ifndef QUATERNION_H
#define QUATERNION_H
namespace geometry_msgs
{
struct Quaternion
{
double x;
double y;
double z;
double w;
// Constructor mặc định
Quaternion() : x(0.0), y(0.0), z(0.0), w(0.0) {}
// Constructor khởi tạo nhanh
Quaternion(double x_, double y_, double z_, double w_)
: x(x_), y(y_), z(z_), w(w_) {}
};
} // namespace geometry_msgs
#endif // QUATERNION_H

View File

@@ -0,0 +1,18 @@
#ifndef TRANSFORM_H
#define TRANSFORM_H
#include "geometry_msgs/Vector3.h"
#include "geometry_msgs/Quaternion.h"
namespace geometry_msgs
{
struct Transform
{
Vector3 translation;
Quaternion rotation;
};
} // namespace geometry_msgs
#endif // TRANSFORM_H

View File

@@ -0,0 +1,20 @@
#ifndef TRANSFORM_STAMPED_H
#define TRANSFORM_STAMPED_H
#include "std_msgs/Header.h"
#include "geometry_msgs/Transform.h"
#include <string>
namespace geometry_msgs
{
struct TransformStamped
{
std_msgs::Header header;
std::string child_frame_id;
Transform transform;
};
} // namespace geometry_msgs
#endif // TRANSFORM_STAMPED_H

View File

@@ -0,0 +1,23 @@
#ifndef VECTOR_3_H
#define VECTOR_3_H
namespace geometry_msgs
{
struct Vector3
{
double x;
double y;
double z;
// Constructor mặc định
Vector3() : x(0.0), y(0.0), z(0.0) {}
// Constructor khởi tạo nhanh
Vector3(double x_, double y_, double z_)
: x(x_), y(y_), z(z_) {}
};
} // namespace geometry_msgs
#endif // VECTOR_3_H

View File

@@ -0,0 +1,3 @@
# This represents a Vector3 with reference coordinate frame and timestamp
Header header
Vector3 vector