private async void LoadData() { try { isLoaded = false; isBusy = true; TrackingList.Clear(); responseObject = await trackingService.GetTrackingData(requestObject.JobType, requestObject.JobId); if (responseObject.ReturnCode == "ERR_SUCCESS") { foreach (Tracking a in responseObject.TrackingInfoList) { TrackingList.Add(new TrackingModelView(a)); } } else { //Error } } catch (Exception e) { //Exception } finally { isLoaded = true; isBusy = false; } }
public void TrackingListLode() { const string listName = "LoadTest"; const string trackName = "BravoName"; const string trackPattern = "BravoPattern"; const string soundFile = "BravoSound"; var tlist = new TrackingList(listName); tlist.Trackables.Add(new Trackable { Name = trackName, Pattern = trackPattern }); tlist.SoundFile = soundFile; TrackingList.Save(tlist); foreach (var file in Directory.GetFiles(string.Format("{0}", Radar.Settings.Persistance.SaveDir))) { tlist = TrackingList.Load(file); } Assert.AreEqual(listName, tlist.Name, "List name mismatch"); Assert.IsNotNull(tlist.Trackables, "List is null"); Assert.AreEqual(1, tlist.Trackables.Count, "List count incorrect"); Assert.AreEqual(trackName, tlist.Trackables[0].Name, "Trackable name mismatch."); Assert.AreEqual(trackPattern, tlist.Trackables[0].Pattern, "Pattern mismatch."); Assert.AreEqual(soundFile, tlist.SoundFile, "SoundFile mismatch"); }
public void ParameterlessConstructor_CreatesEmptyList() { var list = new TrackingList <Data>(); Assert.Empty(list); Assert.Empty(list.Added); Assert.Empty(list.Removed); }
public void ConstructorWithData_CreatesListFilledWithTheData() { var list = new TrackingList <Data>(_sampleData); Assert.Equal(_sampleData, list); Assert.Empty(list.Added); Assert.Empty(list.Removed); }
public OnSquareDetect(INyARMarkerSystemConfig i_config, ARMarkerList i_armk_list, NyIdList i_idmk_list, TrackingList i_tracking_list, SquareStack i_ref_sq_stack) { this._coordline = new NyARCoord2Linear(i_config.getNyARParam().getScreenSize(), i_config.getNyARParam().getDistortionFactor()); this._ref_armk_list = i_armk_list; this._ref_idmk_list = i_idmk_list; this._ref_tracking_list = i_tracking_list; //同時に判定待ちにできる矩形の数 this._ref_sq_stack = i_ref_sq_stack; }
private void ListChanged(object sender, EventArgs e) { SelectedList = _listsCombo.SelectedItem as TrackingList; _trackablesLstBx.Items.Clear(); _trackablesLstBx.DataSource = SelectedList == null ? null : SelectedList.Trackables; _trackablesLstBx.DisplayMember = "Name"; _trackablesLstBx.Refresh(); }
public void RemovingItem_WhichWasAlreadyInList_IsSuccessful() { var list = new TrackingList <Data>(_sampleData); list.Remove(_sampleData.First()); Assert.Equal(_sampleData.Skip(1), list); Assert.Empty(list.Added); Assert.Equal(_sampleData.Take(1), list.Removed); }
public void AddingItem_ToEmptyList_IsSuccessful() { var data = new Data(); var dataArray = new[] { data }; var list = new TrackingList <Data>(); list.Add(data); Assert.Equal(dataArray, list); Assert.Equal(dataArray, list.Added); Assert.Empty(list.Removed); }
public void TrackignListSave() { var tlist = new TrackingList("Test"); var track = new Trackable { Name = "Alpha", Pattern = "Alpha" }; tlist.Trackables.Add(track); tlist.SoundFile = "TestSound"; TrackingList.Save(tlist); }
public OnSquareDetect( NyARParam i_params, ARMarkerList i_armk_list, NyIdList i_idmk_list, ARPlayCardList i_psmk_list, TrackingList i_tracking_list, int i_initial_stack_size) { this._coordline = new NyARCoord2Linear(i_params.getScreenSize(), i_params.getDistortionFactor()); this._ref_armk_list = i_armk_list; this._ref_idmk_list = i_idmk_list; this._ref_psmk_list = i_psmk_list; this._ref_tracking_list = i_tracking_list; this._sq_stack = new SquareStack(i_initial_stack_size); }
public static void LoadTrackingLists() { foreach (var file in Directory.GetFiles(Persistance.SaveDir.ToString())) { var tlist = TrackingList.Load(file); if (tlist.Name == "Default") { _default = tlist; } } }
public void AddingItem_ToListWithData_IsSuccessful() { var data = new Data(); var dataArray = new[] { data }; var list = new TrackingList <Data>(_sampleData); list.Add(data); Assert.Equal(_sampleData.Concat(dataArray), list); Assert.Equal(dataArray, list.Added); Assert.Empty(list.Removed); }
public TrackingListEditor() { InitializeComponent(); SelectedList = RadarSettings.Tracking.Default; _listsCombo.DataSource = RadarSettings.Tracking.TrackingLists; _listsCombo.DisplayMember = "Name"; _listsCombo.SelectedItem = SelectedList; _trackablesLstBx.DataSource = SelectedList.Trackables; _trackablesLstBx.DisplayMember = "Name"; _trackablesLstBx.Refresh(); }
public void AddingAndThenRemovingTheSameItem_FromListWithData_IsSuccessful() { var data = new Data(); var dataArray = new[] { data }; var list = new TrackingList <Data>(_sampleData); list.Add(data); list.Remove(data); Assert.Equal(_sampleData, list); Assert.Empty(list.Added); Assert.Empty(list.Removed); }
/** * コンストラクタです。{@link INyARMarkerSystemConfig}を元に、インスタンスを生成します。 * @param i_config * 初期化済の{@link MarkerSystem}を指定します。 * @throws NyARException */ public NyARMarkerSystem(INyARMarkerSystemConfig i_config) : base(i_config.getNyARParam()) { this.initInstance(i_config); this._armk_list=new ARMarkerList(); this._idmk_list=new NyIdList(); this._psmk_list = new ARPlayCardList(); this._tracking_list=new TrackingList(); this._transmat=i_config.createTransmatAlgorism(); //同時に判定待ちにできる矩形の数 this._on_sq_handler = new OnSquareDetect(i_config, this._armk_list, this._idmk_list, this._psmk_list, this._tracking_list, INITIAL_MARKER_STACK_SIZE); }
public NyARMarkerSystem(INyARMarkerSystemConfig i_config) : base(i_config.getNyARSingleCameraView()) { this._sqdetect = new SquareDetect(i_config); this._hist_th = i_config.createAutoThresholdArgorism(); this._armk_list = new ARMarkerList(); this._idmk_list = new NyIdList(); this._psmk_list = new ARPlayCardList(); this._tracking_list = new TrackingList(); this._transmat = i_config.createTransmatAlgorism(); this._on_sq_handler = new OnSquareDetect(this._view.getARParam(), this._armk_list, this._idmk_list, this._psmk_list, this._tracking_list, INITIAL_MARKER_STACK_SIZE); }
/** * コンストラクタです。{@link INyARMarkerSystemConfig}を元に、インスタンスを生成します。 * @param i_config * 初期化済の{@link MarkerSystem}を指定します。 * @throws NyARException */ public NyARMarkerSystem(INyARMarkerSystemConfig i_config) : base(i_config.getNyARParam()) { this.initInstance(i_config); this._armk_list = new ARMarkerList(); this._idmk_list = new NyIdList(); this._psmk_list = new ARPlayCardList(); this._tracking_list = new TrackingList(); this._transmat = i_config.createTransmatAlgorism(); //同時に判定待ちにできる矩形の数 this._on_sq_handler = new OnSquareDetect(i_config, this._armk_list, this._idmk_list, this._psmk_list, this._tracking_list, INITIAL_MARKER_STACK_SIZE); }
/** * コンストラクタです。{@link INyARMarkerSystemConfig}を元に、インスタンスを生成します。 * @param i_config * 初期化済の{@link MarkerSystem}を指定します。 * @throws NyARException */ public NyARMarkerSystem(INyARMarkerSystemConfig i_config) { this._ref_param = i_config.getNyARParam(); this._frustum = new NyARFrustum(); this.initInstance(i_config); this.setProjectionMatrixClipping(FRUSTUM_DEFAULT_NEAR_CLIP, FRUSTUM_DEFAULT_FAR_CLIP); this._armk_list = new ARMarkerList(); this._idmk_list = new NyIdList(); this._tracking_list = new TrackingList(); this._transmat = i_config.createTransmatAlgorism(); //同時に判定待ちにできる矩形の数 this._sq_stack = new SquareStack(INITIAL_MARKER_STACK_SIZE); this._on_sq_handler = new OnSquareDetect(i_config, this._armk_list, this._idmk_list, this._tracking_list, this._sq_stack); }
private void ChangeEventCollections(List <Tracking> trackingCollection) { foreach (var tracking in trackingCollection) { if (tracking.EventCollection == null) { continue; } bool contains = TrackingList.Any(item => item.trackingId.Equals(tracking.trackingId)); if (contains) { int indexOfTracking = TrackingList .IndexOf(TrackingList.First(item => item.trackingId.Equals(tracking.trackingId))); List <Event> oldEventCollection = TrackingList[indexOfTracking].EventCollection; if (oldEventCollection != null) { List <Event> eventCollectionToChange = oldEventCollection .Where(_event => tracking.EventCollection.Any(item => _event.eventId.Equals(item.eventId))) .Where(_event => _event.dateOfChange > tracking.EventCollection .First(item => _event.eventId.Equals(item.eventId)).dateOfChange).ToList(); List <Event> eventCollectionToAdd = tracking.EventCollection .Where(_event => !(oldEventCollection.Any(item => _event.eventId.Equals(item.eventId)))).ToList(); foreach (var _event in eventCollectionToChange) { int eventIndex = TrackingList[indexOfTracking].EventCollection .IndexOf(TrackingList[indexOfTracking].EventCollection .First(item => item.eventId.Equals(_event.eventId))); TrackingList[indexOfTracking].EventCollection[eventIndex] = _event; } TrackingList[indexOfTracking].EventCollection.AddRange(eventCollectionToAdd); } else { TrackingList[indexOfTracking].EventCollection = tracking.EventCollection; } } } }
private void ChangeTrackings(List <Tracking> trackingCollection) { List <Tracking> trackingsToChange = trackingCollection .Where(tracking => TrackingList.Any(item => item.trackingId.Equals(tracking.trackingId))) .Where(item => item.dateOfChange > TrackingList .First(found => found.trackingId == item.trackingId).dateOfChange).ToList(); List <Tracking> trackingsToAdd = trackingCollection .Where(item => !(TrackingList.Any(tracking => tracking.trackingId.Equals(item.trackingId)))).ToList(); foreach (var tracking in trackingsToChange) { int trackingInCollectionToChange = TrackingList.IndexOf(TrackingList .First(item => item.trackingId.Equals(tracking.trackingId))); TrackingList[trackingInCollectionToChange] = tracking; } TrackingList.AddRange(trackingsToAdd); }
/// <summary> /// Handles the closing event for the list editor. /// <p>Saves all of the current lists to xml files.</p> /// </summary> /// <param name="sender">this</param> /// <param name="args">empty</param> private static void SaveLists(object sender, CancelEventArgs args) { try { foreach (var tlist in RadarSettings.Tracking.TrackingLists) { TrackingList.Save(tlist); } } catch (Exception e) { var sb = new StringBuilder(); sb.AppendLine("Some or all of your tracking lists did not save correctly."); sb.AppendLine("Hit cancel to keep the tracking list editor open.\n"); sb.Append(e.ToString()); var res = MessageBox.Show(sb.ToString(), @"Error exporting tracking lists.", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); args.Cancel = res == DialogResult.Cancel; } }
public override ICollection <T> LoadData <TSource>(TSource source, PropertyInfo loadedProperty) { return(TrackingList <T> .CreateExistingTrackingList(this.EnumerableDataLoader.LoadData(source, loadedProperty))); }
/** * コンストラクタです。{@link INyARMarkerSystemConfig}を元に、インスタンスを生成します。 * @param i_config * 初期化済の{@link MarkerSystem}を指定します。 * @throws NyARException */ public NyARMarkerSystem(INyARMarkerSystemConfig i_config) { this._ref_param=i_config.getNyARParam(); this._frustum=new NyARFrustum(); this.initInstance(i_config); this.setProjectionMatrixClipping(FRUSTUM_DEFAULT_NEAR_CLIP, FRUSTUM_DEFAULT_FAR_CLIP); this._armk_list=new ARMarkerList(); this._idmk_list=new NyIdList(); this._tracking_list=new TrackingList(); this._transmat=i_config.createTransmatAlgorism(); //同時に判定待ちにできる矩形の数 this._sq_stack=new SquareStack(INITIAL_MARKER_STACK_SIZE); this._on_sq_handler=new OnSquareDetect(i_config,this._armk_list,this._idmk_list,this._tracking_list,this._sq_stack); }
public override ICollection <T> Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args) { var array = BsonSerializer.LookupSerializer <T[]>().Deserialize(context, args); return(TrackingList <T> .CreateExistingTrackingList(array)); }
public OnSquareDetect( INyARMarkerSystemConfig i_config, ARMarkerList i_armk_list, NyIdList i_idmk_list, ARPlayCardList i_psmk_list, TrackingList i_tracking_list,int i_initial_stack_size) { this._coordline=new NyARCoord2Linear(i_config.getNyARParam().getScreenSize(),i_config.getNyARParam().getDistortionFactor()); this._ref_armk_list=i_armk_list; this._ref_idmk_list=i_idmk_list; this._ref_psmk_list=i_psmk_list; this._ref_tracking_list=i_tracking_list; //同時に判定待ちにできる矩形の数 this._sq_stack = new SquareStack(i_initial_stack_size); }