Hi! I’ve been pulling PointFrame data to draw a point cloud, and I think there’s a bug somewhere in astra_imageframe_copy_data()
. Here’s what I see when using either of these lines… It only shows the top bit of the point cloud:
pointFrame.copy_to((astra::Vector3f*) cachedCoords.data());
memcpy(cachedCoords.data(), pointData, cachedCoords.size());
(cachedCoords is a vector<ofVec3f>
which has the same structure as astra::Vector3f
)
If I replace that line with…
memcpy(cachedCoords.data(), pointData, cachedCoords.size() * sizeof(ofVec3f));
then I get the full cloud
I got as far as here and then stopped digging, so maybe the wrong byteLength is getting passed to memcpy() in astra_imageframe_copy_data()
.
My code is up here: ofxOrbbecAstra (I made an OF addon!)