public void OnCloudMarkerLost(MarkerInfo marker)
        {
            previous_marker_id      = "";
            previous_marker_pattern = -1;

            if (_cloudMarkers.Length < 1)
            {
                return;
            }

            foreach (CloudMarkerObject cloudMarker in _cloudMarkers)
            {
                if (marker.getId() == cloudMarker.cloudMarkerId && marker.getARLogoCode() == cloudMarker.cloudMarkerARLogoPattern)
                {
                    cloudMarker.OnCloudMarkerLost();
                    return;
                }
            }

            foreach (CloudMarkerObject cloudMarker in _cloudMarkers)
            {
                if (cloudMarker.cloudMarkerId == marker.getId() && cloudMarker.cloudMarkerARLogoPattern == -1)
                {
                    cloudMarker.OnCloudMarkerLost();
                    return;
                }
            }
        }
        public void OnMarkerLost(MarkerInfo marker)
        {
            previous_marker_id      = "";
            previous_marker_pattern = -1;
            foreach (MarkerObject m in _markerObjects)
            {
                if (m.markerId == marker.getId() && m.markerARLogoPattern == marker.getARLogoCode())
                {
                    m.OnMarkerLost();
                    return;
                }
            }

            foreach (MarkerObject m in _markerObjects)
            {
                if (m.markerId == marker.getId() && m.markerARLogoPattern == -1)
                {
                    m.OnMarkerLost();
                    return;
                }
            }

            if (marker.getDatabase().isCloud() && _cloudMarkerObjectListener != null)
            {
                _cloudMarkerObjectListener.OnCloudMarkerLost(marker);
                return;
            }
        }
        public void OnCloudARLogoFound(MarkerInfo marker, int payload)
        {
            Debug.Log("OnCloudARLogoFound id: " + marker.getId() + " ARLogo:" + marker.getARLogoCode());

            if (_cloudMarkers.Length < 1)
            {
                return;
            }

            if (previous_marker_id != marker.getId() || previous_marker_pattern != marker.getARLogoCode())
            {
                foreach (CloudMarkerObject cloudMarker in _cloudMarkers)
                {
                    if (cloudMarker.cloudMarkerId == previous_marker_id && cloudMarker.cloudMarkerARLogoPattern == previous_marker_pattern)
                    {
                        cloudMarker.OnCloudMarkerLost();
                    }
                }
            }

            previous_marker_id      = marker.getId();
            previous_marker_pattern = marker.getARLogoCode();

            foreach (CloudMarkerObject cloudMarker in _cloudMarkers)
            {
                if (cloudMarker.cloudMarkerId == marker.getId() && cloudMarker.cloudMarkerARLogoPattern == marker.getARLogoCode())
                {
                    cloudMarker.OnCloudMarkerFound();
                    return;
                }
            }

            previous_marker_pattern = -1;
            foreach (CloudMarkerObject cloudMarker in _cloudMarkers)
            {
                if (cloudMarker.cloudMarkerId == marker.getId() && cloudMarker.cloudMarkerARLogoPattern == -1)
                {
                    cloudMarker.OnCloudMarkerFound();
                    return;
                }
            }

            previous_marker_id = "";
        }
        public void OnARLogoFound(MarkerInfo marker, int payload)
        {
            Debug.Log("OnMarkerFound id: " + marker.getId() + " ARLogo:" + marker.getARLogoCode());
            if (previous_marker_id != marker.getId() || previous_marker_pattern != marker.getARLogoCode())
            {
                foreach (MarkerObject m in _markerObjects)
                {
                    if (m.markerId == previous_marker_id && m.markerARLogoPattern == previous_marker_pattern)
                    {
                        m.OnMarkerLost();
                    }
                }
            }

            previous_marker_id      = marker.getId();
            previous_marker_pattern = marker.getARLogoCode();

            foreach (MarkerObject m in _markerObjects)
            {
                if (m.markerId == marker.getId() && m.markerARLogoPattern == marker.getARLogoCode())
                {
                    m.OnMarkerFound();
                    return;
                }
            }

            previous_marker_pattern = -1;
            foreach (MarkerObject m in _markerObjects)
            {
                if (m.markerId == marker.getId() && m.markerARLogoPattern == -1)
                {
                    m.OnMarkerFound();
                    return;
                }
            }

            previous_marker_id = "";

            if (marker.getDatabase().isCloud() && _cloudMarkerObjectListener != null)
            {
                _cloudMarkerObjectListener.OnCloudMarkerFound(marker);
                return;
            }
        }
示例#5
0
        /// <summary>
        /// Locals the marker found. Called by PikkartARCamera instance.
        /// </summary>
        /// <param name="markerId">Marker identifier.</param>
        public void LocalMarkerFound(string markerId, int marker_internal_id)
        {
            stopTimers();

            if (_markerId == "" || _markerId != markerId)
            {
                _currentMarker = new MarkerInfo(markerId, marker_internal_id, (double)PikkartARCore.GetMarkerWidthInternalID(marker_internal_id),
                                                (double)PikkartARCore.GetMarkerHeightInternalID(marker_internal_id));

                _dataProvider.ExecuteGetMarkerRequest(markerId, false, true);

                if (_currentRecognitionOptions.getMode() == RecognitionOptions.RecognitionMode.TAP_TO_SCAN)
                {
                    ForceMarkerSearch(markerId);
                    _recognitionRunning = false;
                }
            }
            else
            {
                _currentMarker.setARLogoCode(-1);
                _markerObjectListener.OnMarkerFound(_currentMarker);
                _recognitionListener.MarkerFound(_currentMarker);
            }
        }