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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ set(range_image_srcs

set(srcs
src/point_types.cpp
src/feature_types.cpp
src/pcl_base.cpp
src/PCLPointCloud2.cpp
src/io.cpp
Expand Down Expand Up @@ -63,7 +64,9 @@ set(incs
include/pcl/type_traits.h
include/pcl/point_types_conversion.h
include/pcl/point_representation.h
include/pcl/descriptor_size.h
include/pcl/point_types.h
include/pcl/feature_types.h
include/pcl/for_each_type.h
include/pcl/pcl_tests.h
include/pcl/cloud_iterator.h
Expand Down Expand Up @@ -150,6 +153,7 @@ set(impl_incs
include/pcl/impl/pcl_base.hpp
include/pcl/impl/instantiate.hpp
include/pcl/impl/point_types.hpp
include/pcl/impl/feature_types.hpp
include/pcl/impl/cloud_iterator.hpp
)

Expand Down
23 changes: 23 additions & 0 deletions common/include/pcl/descriptor_size.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
* SPDX-License-Identifier: BSD-3-Clause
* * Point Cloud Library (PCL) - www.pointclouds.org
* Copyright (c) 2026-, Open Perception Inc.
* * All rights reserved
*/

#pragma once

namespace pcl
{
namespace detail
{
namespace traits
{
template<typename FeaturePointT> struct descriptorSize {};


template<typename FeaturePointT>
static constexpr int descriptorSize_v = descriptorSize<FeaturePointT>::value;
}
}
}
82 changes: 82 additions & 0 deletions common/include/pcl/feature_types.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/*
* SPDX-License-Identifier: BSD-3-Clause
* * Point Cloud Library (PCL) - www.pointclouds.org
* Copyright (c) 2026-, Open Perception Inc.
* * All rights reserved
*/

#pragma once


/**
* \file pcl/feature_types.h
* Defines all the PCL implemented PointT feature type structures
* \ingroup common
*/

/** @{*/
namespace pcl
{
/** \brief Members: float j1, j2, j3
* \ingroup common
*/
struct MomentInvariants;

/** \brief Members: float r_min, r_max
* \ingroup common
*/
struct PrincipalRadiiRSD;

/** \brief Members: std::uint8_t boundary_point
* \ingroup common
*/
struct Boundary;

/** \brief Members: float principal_curvature[3], pc1, pc2
* \ingroup common
*/
struct PrincipalCurvatures;

/** \brief Members: float descriptor[352], rf[9]
* \ingroup common
*/
struct SHOT352;

/** \brief Members: float descriptor[1344], rf[9]
* \ingroup common
*/
struct SHOT1344;

/** \brief Members: Axis x_axis, y_axis, z_axis
* \ingroup common
*/
struct ReferenceFrame;

/** \brief Members: float descriptor[1980], rf[9]
* \ingroup common
*/
struct ShapeContext1980;

/** \brief Members: float descriptor[1960], rf[9]
* \ingroup common
*/
struct UniqueShapeContext1960;

/** \brief Members: float pfh[125]
* \ingroup common
*/
struct PFHSignature125;

/** \brief Members: float pfhrgb[250]
* \ingroup common
*/
struct PFHRGBSignature250;

/** \brief Members: float f1, f2, f3, f4, alpha_m
* \ingroup common
*/
struct PPFSignature;
} // namespace pcl
/** @} */

#include <pcl/impl/feature_types.hpp>
Loading