@@ -21,6 +21,7 @@ namespace RGL
21
21
{
22
22
ConfigureRayPosesNode ({ Utils::IdentityTransform });
23
23
ConfigureRayRangesNode (0 .0f , 1 .0f );
24
+ ConfigureRayRingIds ({ 0 });
24
25
ConfigureLidarTransformNode (AZ::Matrix3x4::CreateIdentity ());
25
26
RGL_CHECK (rgl_node_raytrace (&m_nodes.m_rayTrace , nullptr ));
26
27
RGL_CHECK (rgl_node_points_compact_by_field (&m_nodes.m_pointsCompact , RGL_FIELD_IS_HIT_I32));
@@ -30,7 +31,8 @@ namespace RGL
30
31
31
32
// Non-conditional connections
32
33
RGL_CHECK (rgl_graph_node_add_child (m_nodes.m_rayPoses , m_nodes.m_rayRanges ));
33
- RGL_CHECK (rgl_graph_node_add_child (m_nodes.m_rayRanges , m_nodes.m_lidarTransform ));
34
+ RGL_CHECK (rgl_graph_node_add_child (m_nodes.m_rayRanges , m_nodes.m_rayRingIds ));
35
+ RGL_CHECK (rgl_graph_node_add_child (m_nodes.m_rayRingIds , m_nodes.m_lidarTransform ));
34
36
35
37
InitializeConditionalConnections ();
36
38
}
@@ -80,6 +82,11 @@ namespace RGL
80
82
RGL_CHECK (rgl_node_rays_set_range (&m_nodes.m_rayRanges , &range, 1 ));
81
83
}
82
84
85
+ void PipelineGraph::ConfigureRayRingIds (const AZStd::vector<AZ::s32>& rayRingIds)
86
+ {
87
+ RGL_CHECK (rgl_node_rays_set_ring_ids (&m_nodes.m_rayRingIds , rayRingIds.data (), rayRingIds.size ()));
88
+ }
89
+
83
90
void PipelineGraph::ConfigureFieldNodes (const rgl_field_t * fields, size_t size)
84
91
{
85
92
RGL_CHECK (rgl_node_points_yield (&m_nodes.m_pointsYield , fields, aznumeric_cast<int32_t >(size)));
@@ -145,6 +152,9 @@ namespace RGL
145
152
case RGL_FIELD_IS_HIT_I32:
146
153
success = success && GetResult (results.m_isHit , RGL_FIELD_IS_HIT_I32);
147
154
break ;
155
+ case RGL_FIELD_RING_ID_U16:
156
+ success = success && GetResult (results.m_ringId , RGL_FIELD_RING_ID_U16);
157
+ break ;
148
158
default :
149
159
success = false ;
150
160
AZ_Assert (false , AZStd::string::format (" Invalid result field type with RGL id %i!" , field).c_str ());
0 commit comments