content: //
  // This file is auto-generated. Please don't modify it!
  //
  package org.opencv.tracking;
  
  import java.util.ArrayList;
  import java.util.List;
  import org.opencv.core.Algorithm;
  import org.opencv.core.Mat;
  import org.opencv.core.MatOfRect2d;
  import org.opencv.core.Rect2d;
  import org.opencv.tracking.MultiTracker;
  import org.opencv.tracking.Tracker;
  import org.opencv.utils.Converters;
  
  // C++: class MultiTracker
  //javadoc: MultiTracker
  
  public class MultiTracker extends Algorithm {
  
      protected MultiTracker(long addr) { super(addr); }
  
      // internal usage only
      public static MultiTracker __fromPtr__(long addr) { return new MultiTracker(addr); }
  
      //
      // C++:   MultiTracker()
      //
  
      //javadoc: MultiTracker::MultiTracker()
      public   MultiTracker()
      {
          
          super( MultiTracker_0() );
          
          return;
      }
  
  
      //
      // C++: static Ptr_MultiTracker create()
      //
  
      //javadoc: MultiTracker::create()
      public static MultiTracker create()
      {
          
          MultiTracker retVal = MultiTracker.__fromPtr__(create_0());
          
          return retVal;
      }
  
  
      //
      // C++:  bool add(Ptr_Tracker newTracker, Mat image, Rect2d boundingBox)
      //
  
      //javadoc: MultiTracker::add(newTracker, image, boundingBox)
      public  boolean add(Tracker newTracker, Mat image, Rect2d boundingBox)
      {
          
          boolean retVal = add_0(nativeObj, newTracker.getNativeObjAddr(), image.nativeObj, boundingBox.x, boundingBox.y, boundingBox.width, boundingBox.height);
          
          return retVal;
      }
  
  
      //
      // C++:  bool update(Mat image, vector_Rect2d& boundingBox)
      //
  
      //javadoc: MultiTracker::update(image, boundingBox)
      public  boolean update(Mat image, MatOfRect2d boundingBox)
      {
          Mat boundingBox_mat = boundingBox;
          boolean retVal = update_0(nativeObj, image.nativeObj, boundingBox_mat.nativeObj);
          
          return retVal;
      }
  
  
      //
      // C++:  vector_Rect2d getObjects()
      //
  
      //javadoc: MultiTracker::getObjects()
      public  MatOfRect2d getObjects()
      {
          
          MatOfRect2d retVal = MatOfRect2d.fromNativeAddr(getObjects_0(nativeObj));
          
          return retVal;
      }
  
  
      @Override
      protected void finalize() throws Throwable {
          delete(nativeObj);
      }
  
  
  
      // C++:   MultiTracker()
      private static native long MultiTracker_0();
  
      // C++: static Ptr_MultiTracker create()
      private static native long create_0();
  
      // C++:  bool add(Ptr_Tracker newTracker, Mat image, Rect2d boundingBox)
      private static native boolean add_0(long nativeObj, long newTracker_nativeObj, long image_nativeObj, double boundingBox_x, double boundingBox_y, double boundingBox_width, double boundingBox_height);
  
      // C++:  bool update(Mat image, vector_Rect2d& boundingBox)
      private static native boolean update_0(long nativeObj, long image_nativeObj, long boundingBox_mat_nativeObj);
  
      // C++:  vector_Rect2d getObjects()
      private static native long getObjects_0(long nativeObj);
  
      // native support for java finalize()
      private static native void delete(long nativeObj);
  
  }
  