public SearchMoveObjectViewModel() { m_searchParam = new SearchParaV3_1(); StopTime = DataModel.Common.MAXTIME; StartTime = DataModel.Common.ZEROTIME; UpBodyColors = 0x7fffffff; DownBodyColors = 0x7fffffff; PeopleBagType = E_MOVE_OBJ_PEOPLE_BAG_TYPE.E_MOVE_OBJ_PEOPLE_BEG_TYPE_UNKNOWN; DriverIsPhoneing = E_DRIVER_FEATURE_TYPE.E_DRIVER_FEATURE_TYPE_NOUSE; // 0x7fffffff; DriverIsSafebelt = E_DRIVER_FEATURE_TYPE.E_DRIVER_FEATURE_TYPE_NOUSE; // 0x7fffffff; DriverIsSunVisor = E_DRIVER_FEATURE_TYPE.E_DRIVER_FEATURE_TYPE_NOUSE; // 0x7fffffff; PassengerIsSafebelt = E_DRIVER_FEATURE_TYPE.E_DRIVER_FEATURE_TYPE_NOUSE; // 0x7fffffff; PassengerIsSunVisor = E_DRIVER_FEATURE_TYPE.E_DRIVER_FEATURE_TYPE_NOUSE; // 0x7fffffff; PlateColor = 0x7fffffff; PlateNo = "11111111"; PlateNumRow = E_VDA_SEARCH_VEHICLE_PLATE_STRUCT_TYPE.E_SEARCH_VEHICLE_PLATE_STRUCT_TYPE_NOUSE;// 0x7fffffff; VehicleColor = 0x7fffffff; VehicleLabel = 0x7fffffff; VehicleLabelDetail = 0x7fffffff; VehicleType = E_VDA_SEARCH_VEHICLE_TYPE.E_SEARCH_VEHICLE_TYPE_NOUSE; // 0x7fffffff; VehicleTypeDetail = E_VDA_SEARCH_VEHICLE_DETAIL_TYPE.E_SEARCH_VEHICLE_DETAIL_TYPE_NOUSE; // 0x7fffffff; FeatureType = E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_STRUCTURED; ObjDetailRect = new System.Drawing.Rectangle(); ObjFilterType = E_SEARCH_OBJ_FILTER_TYPE.E_SEARCH_OBJ_FILTER_TYPE_VEHICLE | E_SEARCH_OBJ_FILTER_TYPE.E_SEARCH_OBJ_FILTER_TYPE_PASSAGER | E_SEARCH_OBJ_FILTER_TYPE.E_SEARCH_OBJ_FILTER_TYPE_TWOWHEEL; ObjRect = new System.Drawing.Rectangle(); PictureData = new System.Drawing.Bitmap(1, 1); PassLineSet = new List <PassLine>(); RegionSet = new List <BreakRegion>(); WinFormAppUtil.AppContainer.Instance.EvtAggregator.GetEvent <SearchFinishedEvent>().Subscribe(OnSearchResultReturned, Microsoft.Practices.Prism.Events.ThreadOption.PublisherThread); }
public void ClosetSearch() { m_searchParam = null; if (m_isInited) { SearchService.SearchFinished -= SearchService_SearchFinished; } // SearchService.DEL_TASK(m_searchHandle); }
public uint StartSearch(SearchParaV3_1 param) { m_searchParam = param; param.CameraID = SearchItem.CameraID; m_searchHandle = 0; if (SearchItem.IsHistoryTask) { if (param.StartTime != DataModel.Common.ZEROTIME) { if (param.StartTime < SearchItem.AdjustTime) { param.StartTime = Common.ZEROTIME; } else { param.StartTime = Common.ZEROTIME.AddSeconds(param.StartTime.Subtract(SearchItem.AdjustTime).TotalSeconds); } } if (param.EndTime != DataModel.Common.MAXTIME) { if (param.EndTime < SearchItem.AdjustTime) { param.EndTime = Common.ZEROTIME; } else { param.EndTime = Common.ZEROTIME.AddSeconds(param.EndTime.Subtract(SearchItem.AdjustTime).TotalSeconds); } } param.ResultNumRange = int.MaxValue; } var comparesort = (E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL | E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PARTICAL | E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PASSLINE); param.SortType = (((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & comparesort) > 0) ? SortType.SimilarityDes : SortType.TimeAsc; if (((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL) > 0 && ((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PARTICAL) > 0) { param[SDKConstant.FeatureType] = (E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] ^ E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL; } if (m_isInited) { m_searchHandle = SearchService.ADD_TASK(param, SearchItem); } return(m_searchHandle); }
public SearchResultSummaryV3_1 StartSearch(string serverIp, uint serverPort, SearchItemV3_1 searchItem, SearchParaV3_1 param) { SearchServices.SearchServices m_SearchService = new SearchServices.SearchServices("http://{0}:{1}/?matchservice.wsdl"); m_SearchService.Init(serverIp, serverPort); m_SearchService.SearchFinished += SearchService_SearchFinished; param.CameraID = searchItem.CameraID; if (searchItem.IsHistoryTask) { if (param.StartTime != DataModel.Common.ZEROTIME) { if (param.StartTime < searchItem.AdjustTime) { param.StartTime = Common.ZEROTIME; } else { param.StartTime = Common.ZEROTIME.AddSeconds(param.StartTime.Subtract(searchItem.AdjustTime).TotalSeconds); } } if (param.EndTime != DataModel.Common.MAXTIME) { if (param.EndTime < searchItem.AdjustTime) { param.EndTime = Common.ZEROTIME; } else { param.EndTime = Common.ZEROTIME.AddSeconds(param.EndTime.Subtract(searchItem.AdjustTime).TotalSeconds); } } param.ResultNumRange = int.MaxValue; } var comparesort = (E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL | E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PARTICAL | E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PASSLINE); param.SortType = (((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & comparesort) > 0) ? SortType.SimilarityDes : SortType.TimeAsc; if (((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL) > 0 && ((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PARTICAL) > 0) { param[SDKConstant.FeatureType] = (E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] ^ E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL; } uint m_searchHandle = m_SearchService.ADD_TASK(param, searchItem); searchlist.Add(new Tuple <uint, string>(m_searchHandle, serverIp), new SearchResultSummaryV3_1() { SearchPara = param, SearchSessionID = m_searchHandle, SearchResultSingleSummaryList = null, SearchVM = this, SearchItem = searchItem, SearchStatus = E_VDA_SEARCH_STATUS.E_VDA_SEARCH_STATUS_RUNING, ObjectRect = "", }); DateTime st = DateTime.Now; while (true) { if (searchlist[new Tuple <uint, string>(m_searchHandle, serverIp)].SearchResultSingleSummaryList != null) { break; } if (DateTime.Now.Subtract(st).TotalSeconds > 60) { break; } } return(searchlist[new Tuple <uint, string>(m_searchHandle, serverIp)]); }