/// <summary>
 /// Retrieve the marker information from the controller. The result represents the actual
 /// configuration of the marker being tracked, because some of the setting might not be
 /// taken for various reasons. [internal use]
 /// </summary>
 private void RetrieveMarkerInformation()
 {
     if (id != -1)
     {
         if (HasNativeHandle())
         {
             oFiltered = ARUWP.aruwpGetMarkerOptionBool(id, ARUWP.ARUWP_MARKER_OPTION_FILTERED);
             if (oFiltered)
             {
                 oSampleRate = ARUWP.aruwpGetMarkerOptionFloat(id, ARUWP.ARUWP_MARKER_OPTION_FILTER_SAMPLE_RATE);
                 oCutOffFreq = ARUWP.aruwpGetMarkerOptionFloat(id, ARUWP.ARUWP_MARKER_OPTION_FILTER_CUTOFF_FREQ);
             }
             if (type != MarkerType.multi)
             {
                 oUseContPoseEst = ARUWP.aruwpGetMarkerOptionBool(id, ARUWP.ARUWP_MARKER_OPTION_SQUARE_USE_CONT_POSE_ESTIMATION);
                 oConfCutOff     = ARUWP.aruwpGetMarkerOptionFloat(id, ARUWP.ARUWP_MARKER_OPTION_SQUARE_CONFIDENCE_CUTOFF);
             }
             else
             {
                 multiPatternCount  = ARUWP.aruwpGetMarkerPatternCount(id);
                 oMinSubMarkers     = ARUWP.aruwpGetMarkerOptionInt(id, ARUWP.ARUWP_MARKER_OPTION_MULTI_MIN_SUBMARKERS);
                 oMinConfSubMatrix  = ARUWP.aruwpGetMarkerOptionFloat(id, ARUWP.ARUWP_MARKER_OPTION_MULTI_MIN_CONF_MATRIX);
                 oMinConfSubPattern = ARUWP.aruwpGetMarkerOptionFloat(id, ARUWP.ARUWP_MARKER_OPTION_MULTI_MIN_CONF_PATTERN);
                 multiPatterns      = new ARUWPPattern[multiPatternCount];
                 for (int i = 0; i < multiPatternCount; i++)
                 {
                     multiPatterns[i].patternID = i;
                     multiPatterns[i].matrix    = new float[16];
                     ARUWP.aruwpGetMarkerPatternConfig(id, i, multiPatterns[i].matrix,
                                                       out multiPatterns[i].width, out multiPatterns[i].height, out multiPatterns[i].imageSizeX, out multiPatterns[i].imageSizeY);
                 }
             }
         }
         else
         {
             Debug.Log(TAG + ": RetrieveMarkerInformation() unsupported status");
         }
     }
     else
     {
         Debug.Log(TAG + ": Marker not added");
     }
 }