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);
        }
Exemplo n.º 2
0
        public void ClosetSearch()
        {
            m_searchParam = null;
            if (m_isInited)
            {
                SearchService.SearchFinished -= SearchService_SearchFinished;
            }

            //    SearchService.DEL_TASK(m_searchHandle);
        }
Exemplo n.º 3
0
        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)]);
        }