test_class.file: library/src/test/java/com/mapbox/android/gestures/RotateGestureDetectorTest.java
test_class.identifier: RotateGestureDetectorTest
test_class.superclass: extends
    AbstractGestureDetectorTest<RotateGestureDetector, RotateGestureDetector.OnRotateGestureListener>
test_case.body: @Test
    public void getRotationDegreesSinceLastTest() {
      gestureDetector.pointerIdList.add(0);
      gestureDetector.pointerIdList.add(1);
      gestureDetector.pointersDistanceMap.put(
        new PointerDistancePair(0, 1),
        new MultiFingerDistancesObject(300, 0, 275, 15)
      );
  
      assertEquals(-3.1221304f, gestureDetector.getRotationDegreesSinceLast());
    }
test_case.class_method_signature: RotateGestureDetectorTest.getRotationDegreesSinceLastTest()
test_case.full_signature: @Test public void getRotationDegreesSinceLastTest()
test_case.identifier: getRotationDegreesSinceLastTest
test_case.invocations: add add put assertEquals getRotationDegreesSinceLast
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void getRotationDegreesSinceLastTest()
focal_class.declarator: handledTypes = new HashSet<>()
focal_class.modifier: private static final
focal_class.original_string: private static final Set<Integer> handledTypes = new HashSet<>();
focal_class.type: Set<Integer>
focal_class.var_name: handledTypes
focal_class.declarator: angleThreshold
focal_class.modifier: private
focal_class.original_string: private float angleThreshold;
focal_class.type: float
focal_class.var_name: angleThreshold
focal_class.declarator: deltaSinceStart
focal_class.original_string: float deltaSinceStart;
focal_class.type: float
focal_class.var_name: deltaSinceStart
focal_class.declarator: deltaSinceLast
focal_class.original_string: float deltaSinceLast;
focal_class.type: float
focal_class.var_name: deltaSinceLast
focal_class.file: library/src/main/java/com/mapbox/android/gestures/RotateGestureDetector.java
focal_class.identifier: RotateGestureDetector
focal_class.class_method_signature: RotateGestureDetector.RotateGestureDetector(Context context, AndroidGesturesManager gesturesManager)
focal_class.full_signature: public  RotateGestureDetector(Context context, AndroidGesturesManager gesturesManager)
focal_class.identifier: RotateGestureDetector
focal_class.modifiers: public
focal_class.parameters: (Context context, AndroidGesturesManager gesturesManager)
focal_class.signature:  RotateGestureDetector(Context context, AndroidGesturesManager gesturesManager)
focal_class.class_method_signature: RotateGestureDetector.provideHandledTypes()
focal_class.full_signature: @NonNull @Override protected Set<Integer> provideHandledTypes()
focal_class.identifier: provideHandledTypes
focal_class.modifiers: @NonNull @Override protected
focal_class.parameters: ()
focal_class.return: Set<Integer>
focal_class.signature: Set<Integer> provideHandledTypes()
focal_class.class_method_signature: RotateGestureDetector.analyzeMovement()
focal_class.full_signature: @Override protected boolean analyzeMovement()
focal_class.identifier: analyzeMovement
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean analyzeMovement()
focal_class.class_method_signature: RotateGestureDetector.canExecute(int invokedGestureType)
focal_class.full_signature: @Override protected boolean canExecute(int invokedGestureType)
focal_class.identifier: canExecute
focal_class.modifiers: @Override protected
focal_class.parameters: (int invokedGestureType)
focal_class.return: boolean
focal_class.signature: boolean canExecute(int invokedGestureType)
focal_class.class_method_signature: RotateGestureDetector.gestureStopped()
focal_class.full_signature: @Override protected void gestureStopped()
focal_class.identifier: gestureStopped
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void gestureStopped()
focal_class.class_method_signature: RotateGestureDetector.reset()
focal_class.full_signature: @Override protected void reset()
focal_class.identifier: reset
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void reset()
focal_class.class_method_signature: RotateGestureDetector.getRotationDegreesSinceLast()
focal_class.full_signature:  float getRotationDegreesSinceLast()
focal_class.identifier: getRotationDegreesSinceLast
focal_class.parameters: ()
focal_class.return: float
focal_class.signature: float getRotationDegreesSinceLast()
focal_class.class_method_signature: RotateGestureDetector.calculateAngularVelocityVector(float velocityX, float velocityY)
focal_class.full_signature:  float calculateAngularVelocityVector(float velocityX, float velocityY)
focal_class.identifier: calculateAngularVelocityVector
focal_class.parameters: (float velocityX, float velocityY)
focal_class.return: float
focal_class.signature: float calculateAngularVelocityVector(float velocityX, float velocityY)
focal_class.class_method_signature: RotateGestureDetector.getDeltaSinceStart()
focal_class.full_signature: public float getDeltaSinceStart()
focal_class.identifier: getDeltaSinceStart
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: float
focal_class.signature: float getDeltaSinceStart()
focal_class.class_method_signature: RotateGestureDetector.getDeltaSinceLast()
focal_class.full_signature: public float getDeltaSinceLast()
focal_class.identifier: getDeltaSinceLast
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: float
focal_class.signature: float getDeltaSinceLast()
focal_class.class_method_signature: RotateGestureDetector.getAngleThreshold()
focal_class.full_signature: public float getAngleThreshold()
focal_class.identifier: getAngleThreshold
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: float
focal_class.signature: float getAngleThreshold()
focal_class.class_method_signature: RotateGestureDetector.setAngleThreshold(float angleThreshold)
focal_class.full_signature: public void setAngleThreshold(float angleThreshold)
focal_class.identifier: setAngleThreshold
focal_class.modifiers: public
focal_class.parameters: (float angleThreshold)
focal_class.return: void
focal_class.signature: void setAngleThreshold(float angleThreshold)
focal_class.superclass: extends ProgressiveGesture<RotateGestureDetector.OnRotateGestureListener>
focal_method.body: float getRotationDegreesSinceLast() {
      MultiFingerDistancesObject distancesObject =
        pointersDistanceMap.get(new PointerDistancePair(pointerIdList.get(0), pointerIdList.get(1)));
  
      double diffRadians = Math.atan2(distancesObject.getPrevFingersDiffY(),
        distancesObject.getPrevFingersDiffX()) - Math.atan2(
        distancesObject.getCurrFingersDiffY(),
        distancesObject.getCurrFingersDiffX());
      return (float) Math.toDegrees(diffRadians);
    }
focal_method.class_method_signature: RotateGestureDetector.getRotationDegreesSinceLast()
focal_method.full_signature:  float getRotationDegreesSinceLast()
focal_method.identifier: getRotationDegreesSinceLast
focal_method.invocations: get get get atan2 getPrevFingersDiffY getPrevFingersDiffX atan2 getCurrFingersDiffY getCurrFingersDiffX toDegrees
focal_method.parameters: ()
focal_method.return: float
focal_method.signature: float getRotationDegreesSinceLast()