private void CheckBodyReader() { // Assumes AstraUnityContext.Instance.IsUpdateAsyncComplete is already true ReaderFrame frame; if (_readerBody.TryOpenFrame(0, out frame)) { using (frame) { BodyFrame bodyFrame = frame.GetFrame <BodyFrame>(); if (bodyFrame != null) { if (_lastBodyFrameIndex != bodyFrame.FrameIndex) { _lastBodyFrameIndex = bodyFrame.FrameIndex; NewBodyFrameEvent.Invoke(_bodyStream, bodyFrame); NewBodyMaskEvent.Invoke(bodyFrame.BodyMask); } } } } }
private void CheckNV21ColorReader() { // Assumes AstraUnityContext.Instance.IsUpdateAsyncComplete is already true ReaderFrame frame; if (_readerNV21Color == null) { return; } if (_readerNV21Color.TryOpenFrame(0, out frame)) { using (frame) { ColorFrame colorFrame = frame.GetFrame <ColorFrame>(Astra.Core.StreamSubType.COLOR_NV21_SUBTYPE); if (colorFrame != null) { if (_lastNV21ColorFrameIndex != colorFrame.FrameIndex) { _lastNV21ColorFrameIndex = colorFrame.FrameIndex; NewNV21ColorFrameEvent.Invoke(colorFrame); } } } } }
private void CheckColorizedBodyReader() { // Assumes AstraUnityContext.Instance.IsUpdateAsyncComplete is already true ReaderFrame frame; if (_readerColorizedBody.TryOpenFrame(0, out frame)) { using (frame) { ColorizedBodyFrame colorizedBodyFrame = frame.GetFrame <ColorizedBodyFrame>(); if (colorizedBodyFrame != null) { if (_lastColorizedBodyFrameIndex != colorizedBodyFrame.FrameIndex) { _lastColorizedBodyFrameIndex = colorizedBodyFrame.FrameIndex; UpdateColorizedBodyTexture(colorizedBodyFrame); OnNewColorizedBodyFrame.Invoke(colorizedBodyFrame); } } } } }
private void CheckMaskedColorReader() { // Assumes AstraUnityContext.Instance.IsUpdateAsyncComplete is already true ReaderFrame frame; if (_readerMaskedColor.TryOpenFrame(0, out frame)) { using (frame) { MaskedColorFrame maskedColorFrame = frame.GetFrame <MaskedColorFrame>(); if (maskedColorFrame != null) { if (_lastMaskedColorFrameIndex != maskedColorFrame.FrameIndex) { _lastMaskedColorFrameIndex = maskedColorFrame.FrameIndex; UpdateMaskedColorTexture(maskedColorFrame); OnMaskedColorFrame.Invoke(maskedColorFrame); } } } } }
private void CheckDepthReader() { // Assumes AstraUnityContext.Instance.IsUpdateAsyncComplete is already true ReaderFrame frame; if (_readerDepth.TryOpenFrame(0, out frame)) { using (frame) { DepthFrame depthFrame = frame.GetFrame <DepthFrame>(); if (depthFrame != null) { if (_lastDepthFrameIndex != depthFrame.FrameIndex) { _lastDepthFrameIndex = depthFrame.FrameIndex; UpdateDepthTexture(depthFrame); OnNewDepthFrame.Invoke(depthFrame); } } } } }
private void CheckPointReader() { // Assumes AstraUnityContext.Instance.IsUpdateAsyncComplete is already true ReaderFrame frame; if (_readerPoint.TryOpenFrame(0, out frame)) { using (frame) { PointFrame pointFrame = frame.GetFrame <PointFrame>(); if (pointFrame != null) { if (_lastPointFrameIndex != pointFrame.FrameIndex) { _lastPointFrameIndex = pointFrame.FrameIndex; NewPointFrameEvent.Invoke(pointFrame); } } } } }