public void GetData() { LockData(); try { NewSampleReceivedDataPtr dataPtr = dllGetData(); if (dataPtr.timeOfCapture != prev.timeOfCapture || dataPtr.timeOfArrival != prev.timeOfArrival) { AllocAndCopy(dataPtr.confidenceMap, ref data.confidenceMap, dataPtr.nconfidenceMap); AllocAndCopy(dataPtr.phaseMap, ref data.phaseMap, dataPtr.nphaseMap); AllocAndCopy(dataPtr.depthMap, ref data.depthMap, dataPtr.ndepthMap); AllocAndCopy(dataPtr.depthMapFloatingPoint, ref data.depthMapFloatingPoint, dataPtr.ndepthMapFloatingPoint); AllocAndCopy(dataPtr.vertices, ref data.vertices, dataPtr.nvertices); AllocAndCopy(dataPtr.verticesFloatingPoint, ref data.verticesFloatingPoint, dataPtr.nverticesFloatingPoint); AllocAndCopy(dataPtr.uvMap, ref data.uvMap, dataPtr.nuvMap); data.timeOfCapture = dataPtr.timeOfCapture; data.timeOfArrival = dataPtr.timeOfArrival; data.droppedSampleCount = dataPtr.droppedSampleCount; data.cumulativeDroppedSampleCount = dataPtr.cumulativeDroppedSampleCount; } prev = dataPtr; } finally { UnlockData(); } }
public void GetData() { LockData(); try { NewSampleReceivedDataPtr dataPtr = dllGetData(); if (dataPtr.timeOfCapture != prev.timeOfCapture || dataPtr.timeOfArrival != prev.timeOfArrival) { AllocAndCopy(dataPtr.colorMap, ref data.colorMap, dataPtr.ncolorMap); AllocAndCopy(dataPtr.compressedData, ref data.compressedData, dataPtr.ncompressedData); data.timeOfCapture = dataPtr.timeOfCapture; data.timeOfArrival = dataPtr.timeOfArrival; data.droppedSampleCount = dataPtr.droppedSampleCount; data.cumulativeDroppedSampleCount = dataPtr.cumulativeDroppedSampleCount; } prev = dataPtr; } finally { UnlockData(); } }