content: package org.opencv.core;
  
  import org.opencv.core.Point;
  
  //javadoc: KeyPoint
  public class KeyPoint {
  
      /**
       * Coordinates of the keypoint.
       */
      public Point pt;
      /**
       * Diameter of the useful keypoint adjacent area.
       */
      public float size;
      /**
       * Computed orientation of the keypoint (-1 if not applicable).
       */
      public float angle;
      /**
       * The response, by which the strongest keypoints have been selected. Can
       * be used for further sorting or subsampling.
       */
      public float response;
      /**
       * Octave (pyramid layer), from which the keypoint has been extracted.
       */
      public int octave;
      /**
       * Object ID, that can be used to cluster keypoints by an object they
       * belong to.
       */
      public int class_id;
  
      // javadoc:KeyPoint::KeyPoint(x,y,_size,_angle,_response,_octave,_class_id)
      public KeyPoint(float x, float y, float _size, float _angle, float _response, int _octave, int _class_id)
      {
          pt = new Point(x, y);
          size = _size;
          angle = _angle;
          response = _response;
          octave = _octave;
          class_id = _class_id;
      }
  
      // javadoc: KeyPoint::KeyPoint()
      public KeyPoint()
      {
          this(0, 0, 0, -1, 0, 0, -1);
      }
  
      // javadoc: KeyPoint::KeyPoint(x, y, _size, _angle, _response, _octave)
      public KeyPoint(float x, float y, float _size, float _angle, float _response, int _octave)
      {
          this(x, y, _size, _angle, _response, _octave, -1);
      }
  
      // javadoc: KeyPoint::KeyPoint(x, y, _size, _angle, _response)
      public KeyPoint(float x, float y, float _size, float _angle, float _response)
      {
          this(x, y, _size, _angle, _response, 0, -1);
      }
  
      // javadoc: KeyPoint::KeyPoint(x, y, _size, _angle)
      public KeyPoint(float x, float y, float _size, float _angle)
      {
          this(x, y, _size, _angle, 0, 0, -1);
      }
  
      // javadoc: KeyPoint::KeyPoint(x, y, _size)
      public KeyPoint(float x, float y, float _size)
      {
          this(x, y, _size, -1, 0, 0, -1);
      }
  
      @Override
      public String toString() {
          return "KeyPoint [pt=" + pt + ", size=" + size + ", angle=" + angle
                  + ", response=" + response + ", octave=" + octave
                  + ", class_id=" + class_id + "]";
      }
  
  }
  