Compute Graph Framework SDK Reference  5.8
ChannelPacketTypes.hpp File Reference

Go to the source code of this file.

Classes

class  dw::framework::GenericData
 
struct  dw::framework::GenericDataReference
 
struct  dw::framework::ITypeInformation
 
struct  dw::framework::packet_traits< PacketTID >
 
struct  dw::framework::parameter_traits< T >
 
struct  dw::framework::SyncedPacketPayload
 
struct  dw::framework::TypeInformation< T >
 

Namespaces

namespace  dw
 
namespace  dw::framework
 

Macros

#define DW_CHANNEL_GENERATE_ENUM(x)   x,
 
#define DW_CHANNEL_PACKET_TYPES_LIST(_s)
 
#define DWFRAMEWORK_DECLARE_PACKET_TYPE_POD(DATA_TYPE)
 
#define DWFRAMEWORK_DECLARE_PACKET_TYPE_RELATION(DATA_TYPE, SPECIMEN_TYPE, PACKET_TYPE_ID)
 

Typedefs

using dw::framework::ChannelPacketTypeID = uint32_t
 
using dw::framework::OnSetSyncAttrs = dw::core::Function< void(NvSciSyncAttrList)>
 

Enumerations

enum class  dw::framework::DWChannelPacketTypeID {
  dw::framework::DEFAULT = DWFRAMEWORK_PACKET_ID_DEFAULT ,
  dw::framework::NUM_TYPES
}
 

Functions

 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (bool)
 
 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (float)
 
 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (int32_t)
 
 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (int64_t)
 
 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (uint32_t)
 
 DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (uint64_t)
 
template<typename T >
static GenericDataReference dw::framework::make_specimen (typename parameter_traits< T >::SpecimenT *specimen)
 

Variables

constexpr uint32_t dw::framework::DWFRAMEWORK_MAX_INTERNAL_TYPES = 0x400
 
constexpr ChannelPacketTypeID dw::framework::DWFRAMEWORK_PACKET_ID_DEFAULT = 0U
 
constexpr uint32_t dw::framework::DWFRAMEWORK_SYNCED_PACKET_TYPE_ID_OFFSET = 0x80000000
 

Class Documentation

◆ dw::framework::GenericDataReference

struct dw::framework::GenericDataReference
Collaboration diagram for dw::framework::GenericDataReference:
Class Members
GenericData data
ChannelPacketTypeID packetTypeID
shared_ptr< void > pCopy
OnSetSyncAttrs setSignalerAttributes
OnSetSyncAttrs setWaiterAttributes
size_t typeSize

◆ dw::framework::packet_traits

struct dw::framework::packet_traits

◆ dw::framework::SyncedPacketPayload

struct dw::framework::SyncedPacketPayload
Collaboration diagram for dw::framework::SyncedPacketPayload:
Class Members
GenericData data
uint32_t syncCount

Macro Definition Documentation

◆ DW_CHANNEL_GENERATE_ENUM

#define DW_CHANNEL_GENERATE_ENUM (   x)    x,

Definition at line 158 of file ChannelPacketTypes.hpp.

◆ DW_CHANNEL_PACKET_TYPES_LIST

#define DW_CHANNEL_PACKET_TYPES_LIST (   _s)
Value:
_s(DW_IMAGE_HANDLE) \
_s(DW_LATENCY) \
_s(DW_PYRAMID_IMAGE) \
_s(DW_FEATURE_ARRAY) \
_s(DW_FEATURE_HISTORY_ARRAY) \
_s(DW_FEATURE_NCC_SCORES) \
_s(DW_SENSOR_NODE_RAW_DATA) \
_s(DW_RADAR_SCAN) \
_s(DW_LIDAR_DECODE_PACKET) \
_s(DW_EGOMOTION_STATE_HANDLE) \
_s(DW_POINT_CLOUD) \
_s(DW_LIDAR_PACKETS_ARRAY) \
_s(DW_TRACE_NODE_DATA) \
_s(DW_CODEC_PACKET) \
_s(DW_SENSOR_SERVICE_RAW_DATA)

Definition at line 134 of file ChannelPacketTypes.hpp.

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD

#define DWFRAMEWORK_DECLARE_PACKET_TYPE_POD (   DATA_TYPE)
Value:
namespace dw \
{ \
namespace framework \
{ \
template <> \
struct parameter_traits<DATA_TYPE> \
{ \
using SpecimenT = DATA_TYPE; \
static constexpr ChannelPacketTypeID PacketTID = DWFRAMEWORK_PACKET_ID_DEFAULT; \
static constexpr bool IsDeclared = true; \
}; \
} \
}
uint32_t ChannelPacketTypeID
constexpr ChannelPacketTypeID DWFRAMEWORK_PACKET_ID_DEFAULT
Definition: Exception.hpp:47

Declares a data type to be treated as plain old data (POD) by dwframework channels.

Parameters
DATA_TYPE- the data type to be declared as POD.

Definition at line 275 of file ChannelPacketTypes.hpp.

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_RELATION

#define DWFRAMEWORK_DECLARE_PACKET_TYPE_RELATION (   DATA_TYPE,
  SPECIMEN_TYPE,
  PACKET_TYPE_ID 
)
Value:
namespace dw \
{ \
namespace framework \
{ \
template <> \
struct parameter_traits<DATA_TYPE> \
{ \
using SpecimenT = SPECIMEN_TYPE; \
static constexpr ChannelPacketTypeID PacketTID = static_cast<ChannelPacketTypeID>(PACKET_TYPE_ID); \
static constexpr bool IsDeclared = true; \
}; \
template <> \
struct packet_traits<static_cast<ChannelPacketTypeID>(PACKET_TYPE_ID)> \
{ \
using PacketT = DATA_TYPE; \
}; \
} \
}

Define a mapping between the data type and the id under which the handling packet class will be registered.

Parameters
DATA_TYPE- the data type to register.
SPECIMEN_TYPE- the reference information for the data type to be passed to packet implementation.
PACKET_TYPE_ID- the id under which the handling packet class will be registered (should be convertible to ChannelPacketTypeID)
Note
this macro must be used at global namespace to ensure it will work properly.

Definition at line 251 of file ChannelPacketTypes.hpp.

Function Documentation

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [1/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( bool  )

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [2/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( float  )

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [3/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( int32_t  )

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [4/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( int64_t  )

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [5/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( uint32_t  )

◆ DWFRAMEWORK_DECLARE_PACKET_TYPE_POD() [6/6]

DWFRAMEWORK_DECLARE_PACKET_TYPE_POD ( uint64_t  )