content: 
  //
  // This file is auto-generated. Please don't modify it!
  //
  package org.opencv.ml;
  
  import org.opencv.core.Mat;
  
  // C++: class CvDTree
  /**
   * <p>The class implements a decision tree as described in the beginning of this
   * section.</p>
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/decision_trees.html#cvdtree">org.opencv.ml.CvDTree : public CvStatModel</a>
   */
  public class CvDTree extends CvStatModel {
  
      protected CvDTree(long addr) { super(addr); }
  
  
      //
      // C++:   CvDTree::CvDTree()
      //
  
      public   CvDTree()
      {
  
          super( CvDTree_0() );
  
          return;
      }
  
  
      //
      // C++:  void CvDTree::clear()
      //
  
      public  void clear()
      {
  
          clear_0(nativeObj);
  
          return;
      }
  
  
      //
      // C++:  Mat CvDTree::getVarImportance()
      //
  
  /**
   * <p>Returns the variable importance array.</p>
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/decision_trees.html#cvdtree-getvarimportance">org.opencv.ml.CvDTree.getVarImportance</a>
   */
      public  Mat getVarImportance()
      {
  
          Mat retVal = new Mat(getVarImportance_0(nativeObj));
  
          return retVal;
      }
  
  
      //
      // C++:  CvDTreeNode* CvDTree::predict(Mat sample, Mat missingDataMask = cv::Mat(), bool preprocessedInput = false)
      //
  
      // Return type 'CvDTreeNode*' is not supported, skipping the function
  
  
      //
      // C++:  bool CvDTree::train(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvDTreeParams params = CvDTreeParams())
      //
  
  /**
   * <p>Trains a decision tree.</p>
   *
   * <p>There are four <code>train</code> methods in "CvDTree":</p>
   * <ul>
   *   <li> The first two methods follow the generic "CvStatModel.train"
   * conventions. It is the most complete form. Both data layouts
   * (<code>tflag=CV_ROW_SAMPLE</code> and <code>tflag=CV_COL_SAMPLE</code>) are
   * supported, as well as sample and variable subsets, missing measurements,
   * arbitrary combinations of input and output variable types, and so on. The
   * last parameter contains all of the necessary training parameters (see the
   * "CvDTreeParams" description).
   *   <li> The third method uses "CvMLData" to pass training data to a decision
   * tree.
   *   <li> The last method <code>train</code> is mostly used for building tree
   * ensembles. It takes the pre-constructed "CvDTreeTrainData" instance and an
   * optional subset of the training set. The indices in <code>subsampleIdx</code>
   * are counted relatively to the <code>_sample_idx</code>, passed to the
   * <code>CvDTreeTrainData</code> constructor. For example, if <code>_sample_idx=[1,
   * 5, 7, 100]</code>, then <code>subsampleIdx=[0,3]</code> means that the
   * samples <code>[1, 100]</code> of the original training set are used.
   * </ul>
   *
   * <p>The function is parallelized with the TBB library.</p>
   *
   * @param trainData a trainData
   * @param tflag a tflag
   * @param responses a responses
   * @param varIdx a varIdx
   * @param sampleIdx a sampleIdx
   * @param varType a varType
   * @param missingDataMask a missingDataMask
   * @param params a params
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/decision_trees.html#cvdtree-train">org.opencv.ml.CvDTree.train</a>
   */
      public  boolean train(Mat trainData, int tflag, Mat responses, Mat varIdx, Mat sampleIdx, Mat varType, Mat missingDataMask, CvDTreeParams params)
      {
  
          boolean retVal = train_0(nativeObj, trainData.nativeObj, tflag, responses.nativeObj, varIdx.nativeObj, sampleIdx.nativeObj, varType.nativeObj, missingDataMask.nativeObj, params.nativeObj);
  
          return retVal;
      }
  
  /**
   * <p>Trains a decision tree.</p>
   *
   * <p>There are four <code>train</code> methods in "CvDTree":</p>
   * <ul>
   *   <li> The first two methods follow the generic "CvStatModel.train"
   * conventions. It is the most complete form. Both data layouts
   * (<code>tflag=CV_ROW_SAMPLE</code> and <code>tflag=CV_COL_SAMPLE</code>) are
   * supported, as well as sample and variable subsets, missing measurements,
   * arbitrary combinations of input and output variable types, and so on. The
   * last parameter contains all of the necessary training parameters (see the
   * "CvDTreeParams" description).
   *   <li> The third method uses "CvMLData" to pass training data to a decision
   * tree.
   *   <li> The last method <code>train</code> is mostly used for building tree
   * ensembles. It takes the pre-constructed "CvDTreeTrainData" instance and an
   * optional subset of the training set. The indices in <code>subsampleIdx</code>
   * are counted relatively to the <code>_sample_idx</code>, passed to the
   * <code>CvDTreeTrainData</code> constructor. For example, if <code>_sample_idx=[1,
   * 5, 7, 100]</code>, then <code>subsampleIdx=[0,3]</code> means that the
   * samples <code>[1, 100]</code> of the original training set are used.
   * </ul>
   *
   * <p>The function is parallelized with the TBB library.</p>
   *
   * @param trainData a trainData
   * @param tflag a tflag
   * @param responses a responses
   *
   * @see <a href="http://docs.opencv.org/modules/ml/doc/decision_trees.html#cvdtree-train">org.opencv.ml.CvDTree.train</a>
   */
      public  boolean train(Mat trainData, int tflag, Mat responses)
      {
  
          boolean retVal = train_1(nativeObj, trainData.nativeObj, tflag, responses.nativeObj);
  
          return retVal;
      }
  
  
      @Override
      protected void finalize() throws Throwable {
          delete(nativeObj);
      }
  
  
  
      // C++:   CvDTree::CvDTree()
      private static native long CvDTree_0();
  
      // C++:  void CvDTree::clear()
      private static native void clear_0(long nativeObj);
  
      // C++:  Mat CvDTree::getVarImportance()
      private static native long getVarImportance_0(long nativeObj);
  
      // C++:  bool CvDTree::train(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvDTreeParams params = CvDTreeParams())
      private static native boolean train_0(long nativeObj, long trainData_nativeObj, int tflag, long responses_nativeObj, long varIdx_nativeObj, long sampleIdx_nativeObj, long varType_nativeObj, long missingDataMask_nativeObj, long params_nativeObj);
      private static native boolean train_1(long nativeObj, long trainData_nativeObj, int tflag, long responses_nativeObj);
  
      // native support for java finalize()
      private static native void delete(long nativeObj);
  
  }
  