test_class.declarator: mockGazePlay
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private GazePlay mockGazePlay;
test_class.type: GazePlay
test_class.var_name: mockGazePlay
test_class.declarator: mocksStats
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Stats mocksStats;
test_class.type: Stats
test_class.var_name: mocksStats
test_class.declarator: statsInfo = new SavedStatsInfo(
          new File("file1.csv"),
          new File("metricsMouse.csv"),
          new File("metricsGaze.csv"),
          new File("metricsBoth.csv"),
          new File("screenshot.png"),
          new File("colors.txt")
      )
test_class.original_string: SavedStatsInfo statsInfo = new SavedStatsInfo(
          new File("file1.csv"),
          new File("metricsMouse.csv"),
          new File("metricsGaze.csv"),
          new File("metricsBoth.csv"),
          new File("screenshot.png"),
          new File("colors.txt")
      );
test_class.type: SavedStatsInfo
test_class.var_name: statsInfo
test_class.declarator: screen = new Dimension2D(700, 800)
test_class.original_string: Dimension2D screen = new Dimension2D(700, 800);
test_class.type: Dimension2D
test_class.var_name: screen
test_class.declarator: supplier = () -> screen
test_class.original_string: Supplier<Dimension2D> supplier = () -> screen;
test_class.type: Supplier<Dimension2D>
test_class.var_name: supplier
test_class.file: gazeplay-core/src/test/java/net/gazeplay/ui/scenes/stats/AreaOfInterestTest.java
test_class.identifier: AreaOfInterestTest
test_case.body: @Test
      void shouldCalculateOrientation() {
          // Collinear
          assertEquals(0, AreaOfInterest.orientation(
              new Point2D(0, 0),
              new Point2D(1, 1),
              new Point2D(2, 2)
          ));
  
          // Clockwise
          assertEquals(1, AreaOfInterest.orientation(
              new Point2D(2, 5),
              new Point2D(1, 2),
              new Point2D(0, 0)
          ));
  
          // Counterclockwise
          assertEquals(-1, AreaOfInterest.orientation(
              new Point2D(0, 0),
              new Point2D(1, 2),
              new Point2D(2, 5)
          ));
      }
test_case.class_method_signature: AreaOfInterestTest.shouldCalculateOrientation()
test_case.full_signature: @Test void shouldCalculateOrientation()
test_case.identifier: shouldCalculateOrientation
test_case.invocations: assertEquals orientation assertEquals orientation assertEquals orientation
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldCalculateOrientation()
focal_class.declarator: movementHistory
focal_class.modifier: private final
focal_class.original_string: private final List<CoordinatesTracker> movementHistory;
focal_class.type: List<CoordinatesTracker>
focal_class.var_name: movementHistory
focal_class.declarator: timeLabel
focal_class.modifier: private final
focal_class.original_string: private final Label timeLabel;
focal_class.type: Label
focal_class.var_name: timeLabel
focal_class.declarator: clock
focal_class.modifier: private
focal_class.original_string: private Timeline clock;
focal_class.type: Timeline
focal_class.var_name: clock
focal_class.declarator: player
focal_class.modifier: private
focal_class.original_string: private MediaPlayer player;
focal_class.type: MediaPlayer
focal_class.var_name: player
focal_class.declarator: allAOIList
focal_class.modifier: private final
focal_class.original_string: private final List<AreaOfInterestProps> allAOIList;
focal_class.type: List<AreaOfInterestProps>
focal_class.var_name: allAOIList
focal_class.declarator: areaOfInterestList
focal_class.modifier: private
focal_class.original_string: private List<CoordinatesTracker> areaOfInterestList;
focal_class.type: List<CoordinatesTracker>
focal_class.var_name: areaOfInterestList
focal_class.declarator: allAOIListTemp
focal_class.modifier: private final
focal_class.original_string: private final List<List> allAOIListTemp;
focal_class.type: List<List>
focal_class.var_name: allAOIListTemp
focal_class.declarator: startAndEndIdx
focal_class.modifier: private final
focal_class.original_string: private final List<int[]> startAndEndIdx;
focal_class.type: List<int[]>
focal_class.var_name: startAndEndIdx
focal_class.declarator: allAOIListPolygon
focal_class.modifier: private final
focal_class.original_string: private final List<Polygon> allAOIListPolygon;
focal_class.type: List<Polygon>
focal_class.var_name: allAOIListPolygon
focal_class.declarator: allAOIListPolygonPt
focal_class.modifier: private final
focal_class.original_string: private final List<Double[]> allAOIListPolygonPt;
focal_class.type: List<Double[]>
focal_class.var_name: allAOIListPolygonPt
focal_class.declarator: colors = new Color[]{
          Color.PURPLE,
          Color.WHITE,
          Color.PINK,
          Color.ORANGE,
          Color.BLUE,
          Color.RED,
          Color.CHOCOLATE
      }
focal_class.modifier: private final
focal_class.original_string: private final Color[] colors = new Color[]{
          Color.PURPLE,
          Color.WHITE,
          Color.PINK,
          Color.ORANGE,
          Color.BLUE,
          Color.RED,
          Color.CHOCOLATE
      };
focal_class.type: Color[]
focal_class.var_name: colors
focal_class.declarator: config
focal_class.modifier: private final
focal_class.original_string: private final Configuration config;
focal_class.type: Configuration
focal_class.var_name: config
focal_class.declarator: currentAreaDisplay
focal_class.modifier: private
focal_class.original_string: private Polygon currentAreaDisplay;
focal_class.type: Polygon
focal_class.var_name: currentAreaDisplay
focal_class.declarator: currentInfoBox
focal_class.modifier: private
focal_class.original_string: private GridPane currentInfoBox;
focal_class.type: GridPane
focal_class.var_name: currentInfoBox
focal_class.declarator: currentLineToInfoBox
focal_class.modifier: private
focal_class.original_string: private Line currentLineToInfoBox;
focal_class.type: Line
focal_class.var_name: currentLineToInfoBox
focal_class.declarator: score
focal_class.modifier: private
focal_class.original_string: private double score;
focal_class.type: double
focal_class.var_name: score
focal_class.declarator: colorIterator
focal_class.modifier: private
focal_class.original_string: private int colorIterator;
focal_class.type: int
focal_class.var_name: colorIterator
focal_class.declarator: graphicsPane
focal_class.modifier: private final
focal_class.original_string: private final Pane graphicsPane;
focal_class.type: Pane
focal_class.var_name: graphicsPane
focal_class.declarator: previousInfoBoxX
focal_class.modifier: private
focal_class.original_string: private Double previousInfoBoxX;
focal_class.type: Double
focal_class.var_name: previousInfoBoxX
focal_class.declarator: previousInfoBoxY
focal_class.modifier: private
focal_class.original_string: private Double previousInfoBoxY;
focal_class.type: Double
focal_class.var_name: previousInfoBoxY
focal_class.declarator: combinedAreaList
focal_class.modifier: private final
focal_class.original_string: private final ArrayList<InitialAreaOfInterestProps> combinedAreaList;
focal_class.type: ArrayList<InitialAreaOfInterestProps>
focal_class.var_name: combinedAreaList
focal_class.declarator: areaMap
focal_class.modifier: private final
focal_class.original_string: private final int[] areaMap;
focal_class.type: int[]
focal_class.var_name: areaMap
focal_class.declarator: playing = false
focal_class.modifier: private
focal_class.original_string: private boolean playing = false;
focal_class.type: boolean
focal_class.var_name: playing
focal_class.declarator: highestFixationTime = 0
focal_class.modifier: private
focal_class.original_string: private double highestFixationTime = 0;
focal_class.type: double
focal_class.var_name: highestFixationTime
focal_class.declarator: intereatorAOI = 0
focal_class.modifier: private
focal_class.original_string: private int intereatorAOI = 0;
focal_class.type: int
focal_class.var_name: intereatorAOI
focal_class.file: gazeplay-core/src/main/java/net/gazeplay/ui/scenes/stats/AreaOfInterest.java
focal_class.identifier: AreaOfInterest
focal_class.class_method_signature: AreaOfInterest.AreaOfInterest(final GazePlay gazePlay, final Stats stats)
focal_class.full_signature: public  AreaOfInterest(final GazePlay gazePlay, final Stats stats)
focal_class.identifier: AreaOfInterest
focal_class.modifiers: public
focal_class.parameters: (final GazePlay gazePlay, final Stats stats)
focal_class.signature:  AreaOfInterest(final GazePlay gazePlay, final Stats stats)
focal_class.class_method_signature: AreaOfInterest.createButtonBox()
focal_class.full_signature:  HBox createButtonBox()
focal_class.identifier: createButtonBox
focal_class.parameters: ()
focal_class.return: HBox
focal_class.signature: HBox createButtonBox()
focal_class.class_method_signature: AreaOfInterest.getChildren()
focal_class.full_signature: @Override public ObservableList<Node> getChildren()
focal_class.identifier: getChildren
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: ObservableList<Node>
focal_class.signature: ObservableList<Node> getChildren()
focal_class.class_method_signature: AreaOfInterest.dataTreatment()
focal_class.full_signature: private void dataTreatment()
focal_class.identifier: dataTreatment
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void dataTreatment()
focal_class.class_method_signature: AreaOfInterest.playButtonPressed(final double progressRate)
focal_class.full_signature: private void playButtonPressed(final double progressRate)
focal_class.identifier: playButtonPressed
focal_class.modifiers: private
focal_class.parameters: (final double progressRate)
focal_class.return: void
focal_class.signature: void playButtonPressed(final double progressRate)
focal_class.class_method_signature: AreaOfInterest.plotMovement(final int movementIndex, final Pane graphicsPane, final double progressRate)
focal_class.full_signature: private void plotMovement(final int movementIndex, final Pane graphicsPane, final double progressRate)
focal_class.identifier: plotMovement
focal_class.modifiers: private
focal_class.parameters: (final int movementIndex, final Pane graphicsPane, final double progressRate)
focal_class.return: void
focal_class.signature: void plotMovement(final int movementIndex, final Pane graphicsPane, final double progressRate)
focal_class.class_method_signature: AreaOfInterest.addAllInitialArea()
focal_class.full_signature:  void addAllInitialArea()
focal_class.identifier: addAllInitialArea
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void addAllInitialArea()
focal_class.class_method_signature: AreaOfInterest.calculateAreaOfInterest(final int index, final double startTime)
focal_class.full_signature: private void calculateAreaOfInterest(final int index, final double startTime)
focal_class.identifier: calculateAreaOfInterest
focal_class.modifiers: private
focal_class.parameters: (final int index, final double startTime)
focal_class.return: void
focal_class.signature: void calculateAreaOfInterest(final int index, final double startTime)
focal_class.class_method_signature: AreaOfInterest.calculateInfoBox(
          final String aoiID,
          final double ttff,
          final double timeSpent,
          final int fixations,
          final int centerX,
          final int centerY,
          final Polygon currentAreaDisplay
      )
focal_class.full_signature:  InfoBoxProps calculateInfoBox(
          final String aoiID,
          final double ttff,
          final double timeSpent,
          final int fixations,
          final int centerX,
          final int centerY,
          final Polygon currentAreaDisplay
      )
focal_class.identifier: calculateInfoBox
focal_class.parameters: (
          final String aoiID,
          final double ttff,
          final double timeSpent,
          final int fixations,
          final int centerX,
          final int centerY,
          final Polygon currentAreaDisplay
      )
focal_class.return: InfoBoxProps
focal_class.signature: InfoBoxProps calculateInfoBox(
          final String aoiID,
          final double ttff,
          final double timeSpent,
          final int fixations,
          final int centerX,
          final int centerY,
          final Polygon currentAreaDisplay
      )
focal_class.class_method_signature: AreaOfInterest.calculateRectangle(final Point2D[] point2D)
focal_class.full_signature: static Double[] calculateRectangle(final Point2D[] point2D)
focal_class.identifier: calculateRectangle
focal_class.modifiers: static
focal_class.parameters: (final Point2D[] point2D)
focal_class.return: Double[]
focal_class.signature: Double[] calculateRectangle(final Point2D[] point2D)
focal_class.class_method_signature: AreaOfInterest.orientation(final Point2D p1, final Point2D p2, final Point2D p3)
focal_class.full_signature: static int orientation(final Point2D p1, final Point2D p2, final Point2D p3)
focal_class.identifier: orientation
focal_class.modifiers: static
focal_class.parameters: (final Point2D p1, final Point2D p2, final Point2D p3)
focal_class.return: int
focal_class.signature: int orientation(final Point2D p1, final Point2D p2, final Point2D p3)
focal_class.class_method_signature: AreaOfInterest.calculateConvexHull(final Point2D[] points)
focal_class.full_signature: static Double[] calculateConvexHull(final Point2D[] points)
focal_class.identifier: calculateConvexHull
focal_class.modifiers: static
focal_class.parameters: (final Point2D[] points)
focal_class.return: Double[]
focal_class.signature: Double[] calculateConvexHull(final Point2D[] points)
focal_class.class_method_signature: AreaOfInterest.calculateTargetAOI(final ArrayList<TargetAOI> targetAOIArrayList)
focal_class.full_signature: static void calculateTargetAOI(final ArrayList<TargetAOI> targetAOIArrayList)
focal_class.identifier: calculateTargetAOI
focal_class.modifiers: static
focal_class.parameters: (final ArrayList<TargetAOI> targetAOIArrayList)
focal_class.return: void
focal_class.signature: void calculateTargetAOI(final ArrayList<TargetAOI> targetAOIArrayList)
focal_class.class_method_signature: AreaOfInterest.makeInfoBox(
          final String aoiID,
          final String ttff,
          final String timeSpent,
          final int fixations,
          final int revisits
      )
focal_class.full_signature: static GridPane makeInfoBox(
          final String aoiID,
          final String ttff,
          final String timeSpent,
          final int fixations,
          final int revisits
      )
focal_class.identifier: makeInfoBox
focal_class.modifiers: static
focal_class.parameters: (
          final String aoiID,
          final String ttff,
          final String timeSpent,
          final int fixations,
          final int revisits
      )
focal_class.return: GridPane
focal_class.signature: GridPane makeInfoBox(
          final String aoiID,
          final String ttff,
          final String timeSpent,
          final int fixations,
          final int revisits
      )
focal_class.class_method_signature: AreaOfInterest.computeConnectedArea()
focal_class.full_signature: private ArrayList<InitialAreaOfInterestProps> computeConnectedArea()
focal_class.identifier: computeConnectedArea
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: ArrayList<InitialAreaOfInterestProps>
focal_class.signature: ArrayList<InitialAreaOfInterestProps> computeConnectedArea()
focal_class.superclass: extends GraphicalContext<BorderPane>
focal_method.body: static int orientation(final Point2D p1, final Point2D p2, final Point2D p3) {
  
          final int val = (int) ((p2.getY() - p1.getY()) * (p3.getX() - p2.getX())
              - (p2.getX() - p1.getX()) * (p3.getY() - p2.getY()));
  
          if (val == 0) {
              return 0;
          }
  
          return (val > 0) ? 1 : -1;
      }
focal_method.class_method_signature: AreaOfInterest.orientation(final Point2D p1, final Point2D p2, final Point2D p3)
focal_method.full_signature: static int orientation(final Point2D p1, final Point2D p2, final Point2D p3)
focal_method.identifier: orientation
focal_method.invocations: getY getY getX getX getX getX getY getY
focal_method.modifiers: static
focal_method.parameters: (final Point2D p1, final Point2D p2, final Point2D p3)
focal_method.return: int
focal_method.signature: int orientation(final Point2D p1, final Point2D p2, final Point2D p3)