PDA

View Full Version : On-the-fly line slow update


willpower2727
08-13-2015, 11:26 AM
I'm streaming x-y-z coordinates from a camera system (120 Hz) and using them to update the position of a small sphere (like a cursor for a mouse). I am attempting to show a trace history of where the cursor has been by using onthefly line vertex like this:


global tracer
viz.startLayer(viz.LINE_STRIP)
viz.vertexColor(viz.YELLOW)
tracer = viz.endLayer(viz.WORLD,viz.MainScene)
tracer.dynamic()

while TRUE:#while data is streaming in...
cursor.setPosition(X,Y,0.98)
tracer.addVertex(X,Y,0.98)
end


What I observe is the cursor keeps up with incoming data (it keeps up in real time). However the line exhibits periodic gaps of 2-4 seconds of missing data but the rest of the time it works well. I've tried two things to remedy:

1. I hoped that tracer.dynamic() would help, the documentation for this function has no elaboration so I don't even know what it does.

2. I've tried to reduce the sampling frequency down to 60 Hz, no change in behavior.

The real questions I have then are

1) Why can the sphere change positions quickly but adding line vertices cannot?:confused:

2) Why are there seemingly random gaps in adding vertices to the line? Any ideas?

Thanks!:D

Jeff
08-19-2015, 12:06 PM
Try registering a callback function using vizact.ontimer that gets called on a regular interval. Then within the function draw the vertex.