31#ifndef DWFRAMEWORK_DWNODES_DWLIDARPOINTCLOUDSTITCHERNODE_DWLIDARPOINTCLOUDSTITCHERNODE_HPP_
32#define DWFRAMEWORK_DWNODES_DWLIDARPOINTCLOUDSTITCHERNODE_DWLIDARPOINTCLOUDSTITCHERNODE_HPP_
34#include <dw/pointcloudprocessing/stitcher/PointCloudStitcher.h>
41#include <dwframework/dwnodes/common/PointCloudProcessingCommonTypes.hpp>
42#include <dwframework/dwnodes/common/channelpackets/EgomotionState.hpp>
43#include <dwframework/dwnodes/common/channelpackets/PointCloud.hpp>
44#include <dwframework/dwnodes/common/channelpackets/LidarPointCloud.hpp>
45#include <dwframework/dwnodes/common/channelpackets/SensorCommonTypes.hpp>
68 return describeEnumeratorCollection<dwPointCloudFormat>(
79 return describeEnumeratorCollection<dwMemoryType>(
95 static constexpr char8_t LOG_TAG[]{
"dwLidarPointCloudStitcherNode"};
104 DW_DESCRIBE_PORT_ARRAY(dwLidarPointCloud, MAX_LIDAR_STITCHER_PORT_NUM,
"LIDAR_POINT_CLOUD_COMPENSATED"_sv),
124 describePass(StringView{
"SETUP"}, DW_PROCESSOR_TYPE_CPU),
125 describePass(StringView{
"PROCESS_GPU"}, DW_PROCESSOR_TYPE_GPU),
126 describePass(StringView{
"PROCESS_CPU"}, DW_PROCESSOR_TYPE_CPU),
127 describePass(StringView{
"TEARDOWN"}, DW_PROCESSOR_TYPE_CPU));
138 describeConstructorArgument<dwLidarPointCloudStitcherNodeParams>(
142 MAX_LIDAR_STITCHER_PORT_NUM,
146 MAX_LIDAR_STITCHER_PORT_NUM,
151 MAX_LIDAR_STITCHER_PORT_NUM,
165 describeConstructorArgument<dwContextHandle_t>(
167 dwContextHandle_t)));
171 dwContextHandle_t ctx);
#define DW_DESCRIBE_C_ENUMERATOR(NAME)
Syntactic sugar calling describeEnumerator().
#define DW_DESCRIBE_INDEX_PARAMETER(TYPE_NAME, args...)
#define DW_DESCRIBE_UNNAMED_PARAMETER(TYPE_NAME, args...)
#define DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER_WITH_SEMANTIC(TYPE_NAME, SEMANTIC_TYPE_NAME, ARRAY_SIZE, args...)
#define DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER(TYPE_NAME, ARRAY_SIZE, args...)
#define DW_DESCRIBE_PARAMETER(TYPE_NAME, args...)
#define DW_DESCRIBE_PORT(TYPE_NAME, NAME, args...)
#define DW_DESCRIBE_PORT_ARRAY(TYPE_NAME, ARRAYSIZE, NAME, args...)
The interface to access parameter values identified by name and/or (semantic) type.
static constexpr auto describePasses()
dwLidarPointCloudStitcherNode(const dwLidarPointCloudStitcherNodeParams &, dwContextHandle_t ctx)
static constexpr char8_t LOG_TAG[]
static std::unique_ptr< dwLidarPointCloudStitcherNode > create(ParameterProvider &provider)
static constexpr auto describeParameters()
static constexpr auto describeOutputPorts()
static constexpr auto describeInputPorts()
dwLidarProperties lidarProperties[MAX_LIDAR_STITCHER_PORT_NUM]
constexpr std::tuple describeConstructorArguments()
dwTransformation3f lidar2RigDefault[MAX_LIDAR_STITCHER_PORT_NUM]
dwPointCloudFormat outputFormat
constexpr PassDescriptorT< 0 > describePass(dw::core::StringView &&name, dwProcessorType processorType)
constexpr auto describePassCollection(const Args &&... args) -> std::tuple< Args... >
constexpr auto describePortCollection(Args &&... args) -> dw::core::Tuple< Args... >
bool enabledLidar[MAX_LIDAR_STITCHER_PORT_NUM]
std::array< std::pair< dw::core::StringView, EnumT >, NumberOfEnumerators > EnumDescriptionReturnType
static constexpr EnumDescriptionReturnType< dwMemoryType, 3 > get()