From ae46322b6fe33e821d78779f302dac7866e0736f Mon Sep 17 00:00:00 2001 From: "Yitian.Zhou" Date: Tue, 12 May 2026 16:39:09 +0200 Subject: [PATCH 1/3] feat(api): add method in IPCProjectOntoImage --- interfaces/api/pointCloud/IPCProjectOntoImage.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/interfaces/api/pointCloud/IPCProjectOntoImage.h b/interfaces/api/pointCloud/IPCProjectOntoImage.h index 2fb984b8..44376c9c 100644 --- a/interfaces/api/pointCloud/IPCProjectOntoImage.h +++ b/interfaces/api/pointCloud/IPCProjectOntoImage.h @@ -52,6 +52,17 @@ class XPCF_IGNORE IPCProjectOntoImage : virtual public org::bcom::xpcf::ICompone const SolAR::datastructure::Transform3Df& pose, SRef& image) const = 0; + /// @brief Project a list of cloud points onto an image plane + /// @param[in] points the list of cloud points + /// @param[in] cameraParameters the camera parameters + /// @param[in] pose the camera pose + /// @param[out] image output image created from the point cloud + /// @return FrameworkReturnCode::_SUCCESS (pointcloud projected onto image successfully) otherwise FrameworkReturnCode::_ERROR_ (failure) + virtual FrameworkReturnCode project(const std::vector>& points, + SRef cameraParameters, + const SolAR::datastructure::Transform3Df& pose, + SRef& image) const = 0; + }; } } From 57bb26fb2a585ac729d8277bb8fd548a7dd22d8d Mon Sep 17 00:00:00 2001 From: "Yitian.Zhou" Date: Tue, 19 May 2026 16:54:05 +0200 Subject: [PATCH 2/3] feat(api): add new method in IPCSemanticFrom2D (point cloud related) --- interfaces/api/pointCloud/IPCSemanticFrom2D.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/interfaces/api/pointCloud/IPCSemanticFrom2D.h b/interfaces/api/pointCloud/IPCSemanticFrom2D.h index 37cbafd3..ba094e65 100644 --- a/interfaces/api/pointCloud/IPCSemanticFrom2D.h +++ b/interfaces/api/pointCloud/IPCSemanticFrom2D.h @@ -53,6 +53,19 @@ class XPCF_IGNORE IPCSemanticFrom2D : virtual public org::bcom::xpcf::IComponent SRef keyframeCollection, SRef cameraParametersCollection, SRef maskCollection) const = 0; + + /// @brief Estimate point cloud semantic Ids from a keyframe collection and a mask collection + /// @param[in] points list of cloud points + /// @param[in] keyframeCollection input list of keyframes + /// @param[in] cameraParametersCollection input list of camera parameters + /// @param[in] maskCollection input list of masks + /// @param[out] semanticIds estimated semantic ids and probabilities for each input cloud point + /// @return FrameworkReturnCode::_SUCCESS (semantic id estimated successfully) otherwise FrameworkReturnCode::_ERROR_ (failure) + virtual FrameworkReturnCode estimate(const std::vector>& points, + SRef keyframeCollection, + SRef cameraParametersCollection, + SRef maskCollection, + std::vector>>& semanticIds) const = 0; }; } From b90d5e8452cd0ee2996827a73323165a8b667cfc Mon Sep 17 00:00:00 2001 From: "Yitian.Zhou" Date: Thu, 28 May 2026 16:17:57 +0200 Subject: [PATCH 3/3] refactor(api): add struct SemanticId in IPCSemanticFrom2D --- interfaces/api/pointCloud/IPCSemanticFrom2D.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/interfaces/api/pointCloud/IPCSemanticFrom2D.h b/interfaces/api/pointCloud/IPCSemanticFrom2D.h index ba094e65..66b93a7f 100644 --- a/interfaces/api/pointCloud/IPCSemanticFrom2D.h +++ b/interfaces/api/pointCloud/IPCSemanticFrom2D.h @@ -29,6 +29,16 @@ namespace SolAR { namespace api { namespace pointCloud { +/** + * @struct SemanticId + * @brief struct used to represent semantic Id of a cloud point + */ +struct SemanticId { + SemanticId(int16_t i, float conf) : id(i), confidence(conf) {} + int16_t id; + float confidence; +}; + /** * @class IPCSemanticFrom2D * @brief Estimate semantic Ids of cloud points from 2D information. @@ -59,13 +69,13 @@ class XPCF_IGNORE IPCSemanticFrom2D : virtual public org::bcom::xpcf::IComponent /// @param[in] keyframeCollection input list of keyframes /// @param[in] cameraParametersCollection input list of camera parameters /// @param[in] maskCollection input list of masks - /// @param[out] semanticIds estimated semantic ids and probabilities for each input cloud point + /// @param[out] semanticIds the estimated possible semantic ids for each input cloud point /// @return FrameworkReturnCode::_SUCCESS (semantic id estimated successfully) otherwise FrameworkReturnCode::_ERROR_ (failure) virtual FrameworkReturnCode estimate(const std::vector>& points, SRef keyframeCollection, SRef cameraParametersCollection, SRef maskCollection, - std::vector>>& semanticIds) const = 0; + std::vector>& semanticIds) const = 0; }; }