// Originally overloaded operator () public void ProcessFrame( Vector pt, int frame_no, List <ContinuousResult> results ) { if (lastFrameNo == -1) { last_pt = pt; } // Update Circular Buffer while (lastFrameNo < frame_no) { buffer.Insert(pt); lastFrameNo++; } Vector vec = pt - last_pt; double segment_length = vec.L2Norm(); if (device_type == DeviceType.MOUSE && segment_length < 10.0) { return; } last_pt = pt; if (segment_length <= double.Epsilon) { return; } vec /= segment_length; for (int ii = 0; ii < templates.Count; ii++) { templates[ii].Update( buffer, pt, vec, frame_no, segment_length ); results.Add(templates[ii].result); } }
public void Update(Jackknife.Vector pt) { buffer.Insert(pt); }