public Tracklet(sl.ObjectData obj, sl.OBJECT_CLASS type, ulong ts = 0) { id = obj.id; positions.Add(new TrackPoint(obj.position, obj.objectTrackingState, ts)); positions_to_draw.Add(new TrackPoint(obj.position, obj.objectTrackingState, ts)); tracking_state = obj.objectTrackingState; last_detected_timestamp = ts; recovery_cpt = recovery_length; is_alive = true; object_type = type; }
public TrackPoint(Vector3 pos, sl.OBJECT_TRACKING_STATE state, ulong ts) { x = pos.X; y = pos.Y; z = pos.Z; if (state == OBJECT_TRACKING_STATE.OK) { tracking_state = TrackPointState.OK; } else { tracking_state = TrackPointState.OFF; } timestamp = ts; }
public void addDetectedPoint(sl.ObjectData obj, ulong ts, int smoothing_window_size = 0) { if (positions.Count > 0) { if (positions[positions.Count - 1].tracking_state == TrackPointState.PREDICTED) { recovery_cpt = 0; } else { ++recovery_cpt; } } positions.Add(new TrackPoint(obj.position, TrackPointState.OK, ts)); tracking_state = obj.objectTrackingState; last_detected_timestamp = ts; positions_to_draw.Add(new TrackPoint(obj.position, TrackPointState.OK, ts)); }