readBodies method
bodies' poses, in order, into out; dead ones read as zeros.
Implementation
@override
void readBodies(List<int> bodies, BodyPoses3D out) {
if (_gone || bodies.isEmpty) {
out.set(0, const [], Float32List(0));
return;
}
using((arena) {
final ids = arena<Int64>(bodies.length);
for (var i = 0; i < bodies.length; i++) {
ids[i] = bodies[i];
}
final data = arena<Float>(bodies.length * BodyPoses3D.stride);
jj_get_transforms(handle, ids, bodies.length, data);
out.set(
bodies.length,
List.of(bodies),
Float32List.fromList(
data.asTypedList(bodies.length * BodyPoses3D.stride),
),
);
});
}