readMovedBodies method

  1. @override
void readMovedBodies(
  1. BodyPoses3D out
)
override

The bodies that moved in the last step — awake bodies, and those that fell asleep since the last read — into out. Static bodies and characters' bodies are left out.

Implementation

@override
void readMovedBodies(BodyPoses3D out) {
  if (_gone) {
    out.set(0, const [], Float32List(0));
    return;
  }
  if (_poseCapacity == 0) _growPoses(256);
  var n = jj_get_active_transforms(handle, _poseIds, _poses, _poseCapacity);
  if (n < 0) {
    _growPoses(-n * 2);
    n = jj_get_active_transforms(handle, _poseIds, _poses, _poseCapacity);
  }
  out.set(
    n,
    Int64List.sublistView(_poseIdView, 0, n),
    Float32List.sublistView(_poseView, 0, n * BodyPoses3D.stride),
  );
}