Skip navigation links
A B C D E F G H I J K L M N O P Q R S T U V W X 

A

abort() - Method in class dev.roanh.convexmerger.game.GameState
Signals that this game was forcefully terminated before it was supposed to finish.
abort() - Method in interface dev.roanh.convexmerger.game.GameStateListener
Called when the game is aborted (forcefully terminated).
abort() - Method in class dev.roanh.convexmerger.net.ClientConnection
 
abort() - Method in class dev.roanh.convexmerger.net.InternalServer
 
abort() - Method in class dev.roanh.convexmerger.ui.GamePanel
 
abort() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
 
abortGame() - Method in class dev.roanh.convexmerger.ui.ConvexMerger
Aborts the active game, if any.
absorbed - Variable in class dev.roanh.convexmerger.player.Player.PlayerStats
Number of objects absorbed in merges by this player.
accept(T, SegmentPartitionTree.LineSegment) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree.SearchAnimation
 
acceptInnerNode(T, SegmentPartitionTree.LineSegment) - Method in interface dev.roanh.convexmerger.util.SegmentPartitionTree.PartitionTreeVisitor
Called when a partition tree visits a new inner tree node.
acceptTerminalNode(T, SegmentPartitionTree.LineSegment) - Method in interface dev.roanh.convexmerger.util.SegmentPartitionTree.PartitionTreeVisitor
Called when a partition tree search finds a terminal node.
activeDialog - Variable in class dev.roanh.convexmerger.ui.GamePanel
Currently showing feedback dialog.
activePlayer - Variable in class dev.roanh.convexmerger.game.GameState
The index of the player whose turn it is.
ADD_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Color used for the add button icons and text.
ADD_COLOR_HIGHLIGHT - Static variable in class dev.roanh.convexmerger.ui.Theme
Color used for the add button icons and text when highlighted.
ADD_ICON_SIZE - Static variable in class dev.roanh.convexmerger.ui.Theme
Size of the player/ai add button icons.
addAbsorbed(int) - Method in class dev.roanh.convexmerger.player.Player.PlayerStats
Increments the total number of objects absorbed in merges by the given number.
addAI - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Bounds of the add AI button.
addAnimation(Animation) - Method in class dev.roanh.convexmerger.ui.GamePanel
Adds a new global animation to the game, this animation is rendered after all convex objects.
addArea(double) - Method in class dev.roanh.convexmerger.player.Player
Adds some claimed area to this player.
addClaim() - Method in class dev.roanh.convexmerger.player.Player.PlayerStats
Increments the total number of objects claimed by one.
addData(T) - Method in class dev.roanh.convexmerger.util.PartitionTree
Adds an object to store at this tree node.
addedBorderVerticalSegment(VerticalDecomposition.Line, VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Handles the case where the added vertical segment is on the inside of a single trapezoid.
addedCompletelyInsideSingleTrapezoid(VerticalDecomposition.Line, VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Updates the structures for case when the added segment fits entirely inside one trapezoid inside the decomposition.
addedInternalVerticalSegment(VerticalDecomposition.Line, VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Handles the case where the added vertical segment is on the inside of a single trapezoid.
addedIntersectsMultipleTrapezoids(VerticalDecomposition.Line, ConvexObject) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Updates the structures for case when the added segment crosses more than one trapezoid inside the decomposition.
addedIntersectsSingleTrapezoid(VerticalDecomposition.Line) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Adds a segment that only crosses one trapezoid inside the decomposition.
addedOnRightBorder(VerticalDecomposition.Line, VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Updates the structures for case when the added segment fits inside one trapezoid of the decomposition, except for its right ending point.
addedVerticalSegment(VerticalDecomposition.Line) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Updates the search structure for the case of an added vertical segment.
addLeftPoint(Point2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Adds a left bounding point to the trapezoid.
addMerge() - Method in class dev.roanh.convexmerger.player.Player.PlayerStats
Increments the total number of merges by one.
addNeighbour(VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Adds a neighbour to the list of neighbours.
addObject(ConvexObject) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Adds a new convex object to this vertical decomposition.
addPlayer - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Bounds of the add (human) player button.
addPoint(VerticalDecomposition.DecompositionPoint) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Adds a decomposition point to the list of decomposition points.
addRightPoint(Point2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Adds a right bounding point to the trapezoid.
addSegment(Point2D, Point2D) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Adds a new line segment to this segment partition tree.
addSegment(Line2D) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Adds a new line segment to this segment partition tree.
addSegment(Line2D, ConvexObject) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Adds a line segment belonging to an object to the vertical decomposition and updates the structures.
addSegment(VerticalDecomposition.Line) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
Adds a segment to the list of segments that this point is part of.
addSegmentEndpointsAsTrapezoidBoundingPoints(VerticalDecomposition.Trapezoid, VerticalDecomposition.Trapezoid, VerticalDecomposition.Line) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
If the endpoints of the inserted segment are not bounding points of trapezoids whose boundaries they lie on, they are added to their bounding points.
addSegmentInternal(SegmentPartitionTree.LineSegment) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Adds a new line segment to this segment partition tree.
addTrapAbove(VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Adds a given trapezoid to the list of trapezoids above this line.
addTrapBelow(VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Adds a given trapezoid to the list of trapezoids below this line.
addTrapezoid(VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Adds a trapezoid to the list of trapezoids.
addTurnTime(long) - Method in class dev.roanh.convexmerger.player.Player.PlayerStats
Adds the time a player turn took.
ai - Variable in class dev.roanh.convexmerger.net.PlayerProxy
Whether the player this proxy represents is an AI.
ai - Variable in class dev.roanh.convexmerger.player.Player
If this player is an AI or not.
ai - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Combo box used to configure an AI.
ai - Variable in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
AI icon in the color for this player theme.
AI_ADD - Static variable in class dev.roanh.convexmerger.ui.Theme
AI add image.
AI_ADD_HIGHLIGHT - Static variable in class dev.roanh.convexmerger.ui.Theme
AI add image when highlighted.
AI_WAIT_TIME - Static variable in class dev.roanh.convexmerger.Constants
The number of milliseconds an AI has to wait before making a move.
AIRegistry - Enum in dev.roanh.convexmerger.player
Registry of AI players.
AIRegistry(String, Supplier<Player>) - Constructor for enum dev.roanh.convexmerger.player.AIRegistry
Constructs a new registry entry.
aiSmall - Variable in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Small AI icon in the color for this player theme.
all(BiFunction<T, SegmentPartitionTree.LineSegment, Boolean>) - Static method in interface dev.roanh.convexmerger.util.SegmentPartitionTree.PartitionTreeVisitor
Constructs a special partition tree visitor that does not distinguish between inner and terminal nodes and reports both.
all(BiConsumer<T, SegmentPartitionTree.LineSegment>) - Static method in interface dev.roanh.convexmerger.util.SegmentPartitionTree.PartitionTreeVisitor
Constructs a special partition tree visitor that does not distinguish between inner and terminal nodes and reports both.
angleBetweenLines(Line2D, Line2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the relative angle in counter-clockwise direction between the two given directed line segments.
angleFromVertical(Line2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the angle the given line makes with the negative y-axis (going down along the y-axis).
angleFromVertical(Point2D, Point2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the angle the given line makes with the negative y-axis (going down along the y-axis).
angleFromVertical(double, double, double, double) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the angle the given line makes with the negative y-axis (going down along the y-axis).
angularComparator(Line2D) - Static method in class dev.roanh.convexmerger.util.ConjugationTree
A comparator that compares points based on their angle to a fixed point, relative to the angle of a fixed "base" vector.
animate - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition
True if the vertical decomposition is animated and showing individual segment updates.
animated - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree
Whether this segment partition tree is animated.
Animation - Class in dev.roanh.convexmerger.animation
Class to represent ongoing animations.
Animation() - Constructor for class dev.roanh.convexmerger.animation.Animation
 
animation - Variable in class dev.roanh.convexmerger.animation.RenderableObject
The active animation for this object.
ANIMATION_RATE - Static variable in class dev.roanh.convexmerger.Constants
Number of milliseconds per animation frame (60FPS).
animations - Variable in class dev.roanh.convexmerger.ui.GamePanel
List of global animations for the game, these are rendered after all convex objects.
approxEqual(Point2D, Point2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Checks if the two given points are approximately equal.
area - Variable in class dev.roanh.convexmerger.animation.ScoreAnimation
Current area claimed by the player as shown by the animation.
area - Variable in class dev.roanh.convexmerger.player.Player
The total area claimed by this player.
AREA_DIV_NUM - Static variable in class dev.roanh.convexmerger.game.PlayfieldGenerator
The area of the base triangle is divided this to set the minimum required area for an object
areaObject(int) - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Function to determine the approximate minimum area for an object
average - Variable in class dev.roanh.convexmerger.ui.ResultOverlay
Dummy player returning average player data.
AveragePlayer() - Constructor for class dev.roanh.convexmerger.ui.ResultOverlay.AveragePlayer
Constructs a new average player.

B

BACKGROUND - Static variable in class dev.roanh.convexmerger.ui.Theme
Playfield background color.
BAR_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.ResultOverlay
Maximum height of a bar in the bar chart.
BAR_NAME_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Result screen bar chart player name color.
BAR_SCORE_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Result screen bar chart score color.
BAR_WIDTH - Static variable in class dev.roanh.convexmerger.ui.ResultOverlay
Width of a bar chart bar.
barBody - Variable in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Player theme bar chart bar body color.
barOutline - Variable in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Player theme bar chart bar outline color.
baseOutline - Variable in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Player theme base outline color.
bisector - Variable in class dev.roanh.convexmerger.util.ConjugationTree
The bisector of this tree node (a conjugate of the parent bisector).
blue - Static variable in class dev.roanh.convexmerger.animation.ExampleAnimation
Second player.
body - Variable in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Player theme object body color.
BORDER_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Result screen border color.
BORDER_GAP - Static variable in class dev.roanh.convexmerger.ui.ResultOverlay
Space between titled borders.
BORDER_STROKE - Static variable in class dev.roanh.convexmerger.ui.Theme
Stroke used to draw the menu panel gradient border.
BORDER_TEXT_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Result screen titled border text color.
botSegment - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
The segment that bound the trapezoid from the bottom.
BOTTOM_OFFSET - Static variable in class dev.roanh.convexmerger.ui.Screen
Offset from the bottom to the playfield rectangle.
boundClip(Point2D, Point2D, Point2D, Point2D, int) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree.LineSegment
Computes the intersection of this line segment with the given rectangle in the given direction.
bounds - Variable in class dev.roanh.convexmerger.ui.ComboBox
The bounds for the main field of this combo box.
bounds - Variable in class dev.roanh.convexmerger.ui.TextField
Text field bounds.
bounds - Variable in class dev.roanh.convexmerger.util.KDTree
The axis aligned bounding rectangle defining the bounds of this kd-tree cell.
BOX_HEADER_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.Screen
Height of a box title header.
BOX_INSETS - Static variable in class dev.roanh.convexmerger.ui.Screen
Inset into a drawn box and also the corner triangle size.
BOX_SECONDARY_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Box text color for bullet points and such.
BOX_SPACING - Static variable in class dev.roanh.convexmerger.ui.Screen
Space between the boxes.
BOX_TEXT_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Box header color.
BOX_TEXT_OFFSET - Static variable in class dev.roanh.convexmerger.ui.Screen
Text offset from the side of a box.
boxSize - Static variable in class dev.roanh.convexmerger.ui.JoinMenu
Height of the details box.
broadCast(Player, Packet) - Method in class dev.roanh.convexmerger.net.InternalServer.ServerThread
Broadcasts a packet to all connected players except for the given source player.
broadCast(Packet) - Method in class dev.roanh.convexmerger.net.InternalServer.ServerThread
Broadcasts a packet to all connected players.
BUTTON_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.GamePanel
Dialog yes/no button height.
BUTTON_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.MainMenu
Height of the buttons.
BUTTON_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Height of the individual buttons.
BUTTON_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.Screen
Height of the buttons in the bottom left and right.
BUTTON_HOVER_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Button on hover background color.
BUTTON_INSET - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Border inset from the outside of the button.
BUTTON_SELECT - Static variable in class dev.roanh.convexmerger.ui.Theme
Button select color for the new game screen.
BUTTON_STROKE - Static variable in class dev.roanh.convexmerger.ui.Theme
Stroke for the new game double lighten borders.
BUTTON_TEXT_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Button text color.
BUTTON_WIDTH - Static variable in class dev.roanh.convexmerger.ui.MainMenu
Width of the buttons.
BUTTON_WIDTH - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Width of the individual buttons.
BUTTON_WIDTH - Static variable in class dev.roanh.convexmerger.ui.Screen
Width of the buttons in the bottom left and right.
ButtonAssembly(int, String, String...) - Constructor for class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Constructs a new button assembly with the given initially selected button, assembly title and button values.

C

CalliperAnimation - Class in dev.roanh.convexmerger.animation
Animation to visualise the callipers used when merging two convex objects.
CalliperAnimation(ConvexObject, ConvexObject) - Constructor for class dev.roanh.convexmerger.animation.CalliperAnimation
Constructs a new calliper animation for the given objects.
canClaim() - Method in class dev.roanh.convexmerger.game.ConvexObject
Checks if this objects is unowned and thus claimable by any player.
canStart() - Method in class dev.roanh.convexmerger.ui.HostMenu
 
canStart() - Method in class dev.roanh.convexmerger.ui.NewGameMenu
Checks if enough players are configured to start (at least 1).
CELL_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.ComboBox
Height of the combo box field and drop down item fields.
center - Variable in class dev.roanh.convexmerger.ui.TextField
True if text in this text field is centred.
changeListener - Variable in class dev.roanh.convexmerger.ui.TextField
Listener called when the text field text changes.
checkCollinear(int, int, int, int, int, int) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Function to check if 3 points are collinear.
checkCollinear(Point2D, Point2D, Point2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Function to check if 3 points are collinear.
checkCollinear(double, double, double, double, double, double) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Function to check if 3 points are collinear.
checkInvariants(List<Point2D>) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Checks if the convex object represented by the given set of points conforms to all the general invariants assumed by most algorithms in this class.
CHEVRON_ICON - Static variable in class dev.roanh.convexmerger.ui.Theme
Chevron icon used for the combo box.
CHEVRON_ICON_SIZE - Static variable in class dev.roanh.convexmerger.ui.Theme
Size of the chevron icon.
claim(Player, ConvexObject) - Method in interface dev.roanh.convexmerger.game.GameStateListener
Called when a player claims a new object.
claim(Player, ConvexObject) - Method in class dev.roanh.convexmerger.net.ClientConnection
 
claim(Player, ConvexObject) - Method in class dev.roanh.convexmerger.net.InternalServer
 
claim(Player, ConvexObject) - Method in class dev.roanh.convexmerger.ui.GamePanel
 
claim(Player, ConvexObject) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
 
ClaimAnimation - Class in dev.roanh.convexmerger.animation
Animation shown when claiming a single object.
ClaimAnimation(ConvexObject, Point2D) - Constructor for class dev.roanh.convexmerger.animation.ClaimAnimation
Constructs a new claim animation for the given object.
claimNewObject() - Method in class dev.roanh.convexmerger.player.LocalPlayer
Selects a new object to claim and start maximising area from.
claimNewObject() - Method in class dev.roanh.convexmerger.player.SmallPlayer
 
claimObject(ConvexObject) - Method in class dev.roanh.convexmerger.game.GameState
Attempts to claim the given convex object for the active player.
claimObject(ConvexObject, Point2D) - Method in class dev.roanh.convexmerger.game.GameState
Attempts to claim the given convex object for the active player.
ClaimResult - Class in dev.roanh.convexmerger.game
Object returned to describe the outcome of an attempted claim.
ClaimResult() - Constructor for class dev.roanh.convexmerger.game.ClaimResult
Prevent direct instantiation.
ClaimResult(MessageDialog) - Constructor for class dev.roanh.convexmerger.game.ClaimResult
Constructs a new claim result with the given feedback message.
ClaimResult(ConvexObject) - Constructor for class dev.roanh.convexmerger.game.ClaimResult
Constructs a new claim result with the given claim result.
claims - Variable in class dev.roanh.convexmerger.player.Player.PlayerStats
Number of objects directly claimed by this player.
clamp(double, double, double) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Clamps the given value to be between the given bounds.
clearSelection() - Method in class dev.roanh.convexmerger.game.GameState
Clears the object selection for the active player, meaning they are no longer selecting a second object for a merge.
clickPoint - Variable in class dev.roanh.convexmerger.player.HumanPlayer
The point clicked to claim the next object to claim.
ClientConnection - Class in dev.roanh.convexmerger.net
Represents a client connection to a remote game server.
ClientConnection(Socket, Player) - Constructor for class dev.roanh.convexmerger.net.ClientConnection
Constructs a new client connection from the given socket connection and with the given local player.
clipAdd(Path2D, Point2D, Point2D, Point2D, Point2D, Point2D, Point2D, Point2D, Point2D) - Method in class dev.roanh.convexmerger.animation.MergeAnimation
Adds the given slope to the given point and then adds the resulting point to the given path.
clipLine(ConjugationTree<?>, Line2D, Point2D) - Static method in class dev.roanh.convexmerger.util.ConjugationTree
Clips the given line segment to be fully contained within the bounds of the given conjugation tree node.
close() - Method in class dev.roanh.convexmerger.net.Connection
Closes this connection.
close() - Method in class dev.roanh.convexmerger.net.InternalServer.ServerThread
Closes all connections held by this server thread.
color - Variable in class dev.roanh.convexmerger.ui.ComboBox
Combo box accent color.
color - Variable in class dev.roanh.convexmerger.ui.TextField
The accent color for this text field.
ComboBox<T> - Class in dev.roanh.convexmerger.ui
Represents a UI combo box.
ComboBox(T[], Function<T, String>, Color) - Constructor for class dev.roanh.convexmerger.ui.ComboBox
Constructs a new combo box with the given values, to string function and accent color.
computeArea(List<Point2D>) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the area of the given convex object.
computeBarStart(int, int, int) - Method in class dev.roanh.convexmerger.ui.ResultOverlay
Computes the horizontal offset the left edge of the bar for the player with the given index is at.
computeBox(double, double, double, double, double) - Method in class dev.roanh.convexmerger.ui.Screen
Computes the bounds of a box if draw according to the given parameters.
computeCentroid(List<Point2D>) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the centroid of the given convex object.
computeConjugate(List<Point2D>, List<Point2D>, ConjugationTree<?>) - Static method in class dev.roanh.convexmerger.util.ConjugationTree
Computes a conjugate line for the given point sets and with the given parent conjugation tree node.
computeConvexHull(List<Point2D>) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the convex hull of the given point set using the gift wrapping algorithm.
computeDecompLines() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Computes and sets the decomposition lines related to this trapezoid.
computeDepth(VerticalDecomposition.DecompVertex) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Computes the longest path from the given search structure vertex to the vertex associated with this trapezoid.
computeFlowPath(List<Point2D>, Point2D, Point2D, Point2D, Point2D, float) - Method in class dev.roanh.convexmerger.animation.MergeAnimation
Computes the flow path showing the merge progress, this path slowly moves to fill the entire merge area (the quadrilateral defined by the merge lines).
computeMergeBounds(List<Point2D>, List<Point2D>) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Splits the given convex objects into segments that are either on the outside or on the inside of the convex object that is created when merging them.
computeMergeBounds(List<Point2D>, List<Point2D>, Point2D[]) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Splits the given convex objects into segments that are either on the outside or on the inside of the convex object that is created when merging them.
computeMergeBounds(List<Point2D>, Point2D, Point2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Splits the given hull into two parts, one part that is contained between the two points going from a to b and one part that is contained between the two points going from b to a.
computeMergeLines(List<Point2D>, List<Point2D>, List<Point2D>) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the two lines that would be required to combine the two given convex hulls into a single convex hull using the convex hull of both objects.
computeMergeLines(List<Point2D>, List<Point2D>, boolean) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the two lines that would be required to combine the two given convex hulls into a single convex hull in linear time.
computeSinglePointMergeLines(List<Point2D>, Point2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the two lines that would be required to extend the given convex hull with the given point.
computeSlope(Point2D, Point2D, float) - Method in class dev.roanh.convexmerger.animation.MergeAnimation
Computes the 'slope' that needs to be added to the given source point to get to the given fraction in the direction of the given target.
con - Variable in class dev.roanh.convexmerger.player.RemotePlayer
The remote player connection.
con - Variable in class dev.roanh.convexmerger.ui.JoinMenu
Server connection.
conjugate - Variable in class dev.roanh.convexmerger.util.ConjugationTree.ConjugateData
The conjugate line.
ConjugateData(Point2D, Point2D, Line2D) - Constructor for class dev.roanh.convexmerger.util.ConjugationTree.ConjugateData
Constructs a new conjugate line data object.
ConjugationTree<T> - Class in dev.roanh.convexmerger.util
Implementation of a conjugation tree inspired by the description in a paper by Herbert Edelsbrunner and Emo Welzl.
ConjugationTree(List<Point2D>) - Constructor for class dev.roanh.convexmerger.util.ConjugationTree
Constructs a new conjugation tree storing the given point set.
ConjugationTree(ConjugationTree<T>, List<Point2D>, Point2D, Line2D, List<Point2D>) - Constructor for class dev.roanh.convexmerger.util.ConjugationTree
Constructs a new child conjugation tree node with the given parent node, point set, conjugate bisector line and convex hull.
ConjugationTree.ConjugateData - Class in dev.roanh.convexmerger.util
Class holding data about a single conjugate line.
connect(String, Player) - Static method in class dev.roanh.convexmerger.net.ClientConnection
Attempts to establish a new multiplayer connection to the given host and with the given local player.
connect - Variable in class dev.roanh.convexmerger.ui.JoinMenu
Connect button bounds.
connect() - Method in class dev.roanh.convexmerger.ui.JoinMenu
Attempts to establish a connection to the server.
CONNECT_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.JoinMenu
Height of the connect button.
connecting - Variable in class dev.roanh.convexmerger.ui.JoinMenu
True is currently attempting to establish a connection.
Connection - Class in dev.roanh.convexmerger.net
Base connection class for a server client connection.
Connection(Socket) - Constructor for class dev.roanh.convexmerger.net.Connection
Constructs a new connection from the given socket.
connections - Variable in class dev.roanh.convexmerger.net.InternalServer.ServerThread
Map of active connections indexed by player ID.
Constants - Class in dev.roanh.convexmerger
Class containing various game constants.
Constants() - Constructor for class dev.roanh.convexmerger.Constants
 
constructBorderGradient(GameState, int) - Static method in class dev.roanh.convexmerger.ui.Theme
Constructs a linear rainbow gradient whose colours depend on the number of players in the given game state.
constructShape() - Method in class dev.roanh.convexmerger.game.ConvexObject
Constructs the shape object for the bounds of this object.
constructShape() - Method in class dev.roanh.convexmerger.util.ConjugationTree
Constructs the shape object for the bounds of this object.
contained - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
A list of objects contained within the merge area.
contains(double, double) - Method in class dev.roanh.convexmerger.game.ConvexObject
Checks if the given point is contained in this convex object.
contains(ConvexObject) - Method in class dev.roanh.convexmerger.game.ConvexObject
Checks if the given convex object is fully contained within this convex object.
CONTENT_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Height of the panel content.
CONTENT_WIDTH - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Width of the panel content.
context - Variable in class dev.roanh.convexmerger.ui.Screen
The active game context.
ConvexMerger - Class in dev.roanh.convexmerger.ui
Main game entry point, manages the main state of the game.
ConvexMerger() - Constructor for class dev.roanh.convexmerger.ui.ConvexMerger
 
ConvexMerger.GameThread - Class in dev.roanh.convexmerger.ui
Thread responsible for managing the game turns, generating the playfield and executing AI moves.
ConvexObject - Class in dev.roanh.convexmerger.game
Defines a convex object shown in the game the points on the boundary of the object are given in counter clockwise order.
ConvexObject(int, int, int, int, int, int, int, int) - Constructor for class dev.roanh.convexmerger.game.ConvexObject
Constructs a new convex object defined by the given four points.
ConvexObject(double, double, double, double, double, double, double, double) - Constructor for class dev.roanh.convexmerger.game.ConvexObject
Constructs a new convex object defined by the given four points.
ConvexObject(int, int, int, int, int, int) - Constructor for class dev.roanh.convexmerger.game.ConvexObject
Constructs a new convex object defined by the given three points.
ConvexObject(List<Point2D>) - Constructor for class dev.roanh.convexmerger.game.ConvexObject
Constructs a new convex object defined by the given list of points.
ConvexUtil - Class in dev.roanh.convexmerger.util
Class containing various utilities related to convex objects and hulls.
ConvexUtil() - Constructor for class dev.roanh.convexmerger.util.ConvexUtil
 
coverage - Variable in class dev.roanh.convexmerger.game.PlayfieldGenerator
Desired playfield coverage.
COVERAGE_VALUES - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu
Raw coverage values associated with the density buttons.
coverageNum - Variable in class dev.roanh.convexmerger.game.PlayfieldGenerator
Coverage value in range 0-255.
create() - Method in interface dev.roanh.convexmerger.game.GameConstructor
Constructs the game state for the configured game.
createInstance() - Method in enum dev.roanh.convexmerger.player.AIRegistry
Creates a new instance of this AI.
createPath(List<T>) - Method in class dev.roanh.convexmerger.animation.MergeAnimation
Creates a path from the given list of points.
credits - Static variable in class dev.roanh.convexmerger.ui.InfoMenu
Entries in the credits box.
CREDITS_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.InfoMenu
Height of the credits box.
CROWN_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Leading crown icon color.
CROWN_GAP - Static variable in class dev.roanh.convexmerger.ui.ResultOverlay
Gap between the crown and the winning player name.
CROWN_ICON - Static variable in class dev.roanh.convexmerger.ui.Theme
Smaller crown image with size 18.
CROWN_ICON_LARGE - Static variable in class dev.roanh.convexmerger.ui.Theme
Larger crown image with size 24.
CROWN_ICON_LARGE_SIZE - Static variable in class dev.roanh.convexmerger.ui.Theme
Dimensions of the large crown image.
CROWN_ICON_SIZE - Static variable in class dev.roanh.convexmerger.ui.Theme
Dimensions of the crown image.
ctor - Variable in enum dev.roanh.convexmerger.player.AIRegistry
The construct for this AI.
ctor - Variable in class dev.roanh.convexmerger.ui.ConvexMerger.GameThread
The constructor to use to create the game state.
ctor - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.SegmentPartitionTreeConstructor
The partition tree constructor.
currentBox - Variable in class dev.roanh.convexmerger.ui.InfoMenu
Bounds of the current version link.

D

data - Variable in class dev.roanh.convexmerger.util.PartitionTree
The data stored in this cell.
decomp - Variable in class dev.roanh.convexmerger.game.GameState
The vertical decomposition for the game state.
decompLines - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
The decomposition lines of the trapezoid.
DecompositionPoint(double, double) - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
Constructs a new decomposition point on the given coordinates.
DecompositionPoint(Point2D) - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
Constructs a new decomposition point on the given point in space.
DecompVertex(VerticalDecomposition.Trapezoid) - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Constructs a Decomposition Vertex of the leaf type with a linked trapezoid.
DecompVertex(VerticalDecomposition.DecompVertex, VerticalDecomposition.DecompVertex, Point2D) - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Constructs a Decomposition Vertex of the point type with a corresponding point.
DecompVertex(VerticalDecomposition.DecompVertex, VerticalDecomposition.DecompVertex, Line2D) - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Constructs a Decomposition Vertex of the segment type with a corresponding line segment.
DecompVertexType() - Constructor for enum dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertexType
 
density - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Configuration for the playfield density.
DEPTH_DURATION - Static variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.SearchAnimation
The number of milliseconds to show each search depth in the animation for.
depthData - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.SearchAnimation
Nodes to highlight by their depth.
deriveLine(Rectangle2D) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree.LineSegment
Derives a new line from this line segment that is exactly the part of this line that lies within the given rectangle.
deriveLine(int, Line2D, Point2D) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree.LineSegment
Derives a new line from this line segment that is exactly the part of this line that lies to the given direction of the given intersected line segment.
dev.roanh.convexmerger - package dev.roanh.convexmerger
 
dev.roanh.convexmerger.animation - package dev.roanh.convexmerger.animation
 
dev.roanh.convexmerger.game - package dev.roanh.convexmerger.game
 
dev.roanh.convexmerger.net - package dev.roanh.convexmerger.net
 
dev.roanh.convexmerger.net.packet - package dev.roanh.convexmerger.net.packet
 
dev.roanh.convexmerger.player - package dev.roanh.convexmerger.player
 
dev.roanh.convexmerger.ui - package dev.roanh.convexmerger.ui
 
dev.roanh.convexmerger.util - package dev.roanh.convexmerger.util
 
DIAGONAL_LENGTH_RATIO - Static variable in class dev.roanh.convexmerger.game.PlayfieldGenerator
Ratio between the length of both diagonals in an object (recommended between 1.0 and 1.8).
DIALOG_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.GamePanel
Message dialog height.
DIALOG_WIDTH - Static variable in class dev.roanh.convexmerger.ui.GamePanel
Message dialog width.
dispatchKeyEvent(KeyEvent) - Method in class dev.roanh.convexmerger.ui.ConvexMerger
 
dist - Variable in class dev.roanh.convexmerger.animation.ClaimAnimation
The largest distance to a vertex from the clicked point.
distributeRightPoints(VerticalDecomposition.Trapezoid, VerticalDecomposition.Trapezoid, VerticalDecomposition.Trapezoid, VerticalDecomposition.Line) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Distributes the right bounding points of a given trapezoid between the two trapezoids that it is being split into.
DOUBLE_LIGHTEN - Static variable in class dev.roanh.convexmerger.ui.Theme
Double lighten new game screen color.
drawBox(Graphics2D, double, double, double, double) - Method in class dev.roanh.convexmerger.ui.Screen
Draws a box according to the given parameters.
drawButton(Graphics2D, String, double, double, double, double, Point2D) - Method in class dev.roanh.convexmerger.ui.Screen
Draws a button at the given location with the given text.
drawCalliper(Graphics2D, List<Point2D>, double, int) - Method in class dev.roanh.convexmerger.animation.CalliperAnimation
Draws the calliper line for the given object at the given angle.
drawKeyFrame(Graphics2D, double, double, String) - Method in class dev.roanh.convexmerger.ui.InfoMenu
Renders a keyboard key in a frame.
drawLine(Graphics2D, double, double, double, double) - Method in class dev.roanh.convexmerger.animation.CalliperAnimation
Draws an 'infinite' line segment through the two given points.
drawTitle(Graphics2D, int) - Method in class dev.roanh.convexmerger.ui.Screen
Draws the main screen title.
drawTitledBox(Graphics2D, Paint, double, double, double, double, String) - Method in class dev.roanh.convexmerger.ui.Screen
Draws a titled box according to the given parameters.
DummyPlayer(Theme.PlayerTheme) - Constructor for class dev.roanh.convexmerger.animation.ExampleAnimation.DummyPlayer
Constructs a new dummy player with the given theme.
DURATION - Static variable in class dev.roanh.convexmerger.animation.CalliperAnimation
The number of milliseconds the animation runs for.
DURATION - Static variable in class dev.roanh.convexmerger.animation.ClaimAnimation
Number of milliseconds the animation plays for.

E

EMPTY - Static variable in class dev.roanh.convexmerger.animation.Animation
An 'animation' that renders nothing, effectively hiding the object it is applied to.
EMPTY - Static variable in class dev.roanh.convexmerger.game.ClaimResult
Result returned when the claim did not affect the game state.
enabled - Variable in class dev.roanh.convexmerger.ui.ResultOverlay
Whether or not this overlay is enabled and currently showing.
end() - Method in class dev.roanh.convexmerger.animation.Animation
Forcefully ends this animation.
end() - Method in interface dev.roanh.convexmerger.game.GameStateListener
Called when the game ends.
end() - Method in class dev.roanh.convexmerger.net.ClientConnection
 
end() - Method in class dev.roanh.convexmerger.net.InternalServer
 
end() - Method in class dev.roanh.convexmerger.ui.GamePanel
 
end() - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree.SearchAnimation
 
end() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
 
ended - Variable in class dev.roanh.convexmerger.game.GameState
Whether the game has ended or not.
endTurn() - Method in class dev.roanh.convexmerger.game.GameState
Ends the turn for the active player moving on to the next player.
EPS - Static variable in class dev.roanh.convexmerger.util.ConvexUtil
Tolerance value used for dealing with floating point rounding errors.
equals(Object) - Method in class dev.roanh.convexmerger.game.ConvexObject
 
equals(Object) - Method in class dev.roanh.convexmerger.net.PlayerProxy
 
equals(Object) - Method in class dev.roanh.convexmerger.player.Player
 
equals(Object) - Method in class dev.roanh.convexmerger.util.Segment
 
equals(Object) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
 
error - Variable in class dev.roanh.convexmerger.ui.HostMenu
Error message, if any.
ERROR_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Colour used for showing invalid input or warnings.
example - Variable in class dev.roanh.convexmerger.ui.InfoMenu
Example animation that is shown in the example box.
ExampleAnimation - Class in dev.roanh.convexmerger.animation
The example animation shown on the information menu.
ExampleAnimation() - Constructor for class dev.roanh.convexmerger.animation.ExampleAnimation
 
ExampleAnimation.DummyPlayer - Class in dev.roanh.convexmerger.animation
Dummy player instance to reuse convex object logic.
execute() - Method in class dev.roanh.convexmerger.player.Player.MergeOption
Executes this merge by making it concrete in the game state.
executeMove() - Method in class dev.roanh.convexmerger.animation.ExampleAnimation.DummyPlayer
 
executeMove() - Method in class dev.roanh.convexmerger.player.GreedyPlayer
 
executeMove() - Method in class dev.roanh.convexmerger.player.HumanPlayer
 
executeMove() - Method in class dev.roanh.convexmerger.player.LocalPlayer
 
executeMove() - Method in class dev.roanh.convexmerger.player.Player
Executes a move for this player.
executeMove() - Method in class dev.roanh.convexmerger.player.RemotePlayer
 
executeMove() - Method in class dev.roanh.convexmerger.ui.ResultOverlay.AveragePlayer
 
executePlayerTurn() - Method in class dev.roanh.convexmerger.game.GameState
Executes the turn for the active player.
executor - Variable in class dev.roanh.convexmerger.net.InternalServer.ServerThread
Executor service used to handle incoming connections.
executor - Variable in class dev.roanh.convexmerger.ui.JoinMenu
Executor used to connect to the remote server.
executor - Variable in class dev.roanh.convexmerger.ui.ScreenRenderer
Executor service used to run animations.
exit() - Method in class dev.roanh.convexmerger.ui.ConvexMerger
Exits this game context, possibly exiting the application as a whole.
extendLine(Line2D) - Static method in class dev.roanh.convexmerger.util.ConjugationTree
Extends the given closed line segment to the geometric bounds of this partition tree as defined by Constants.PLAYFIELD_HEIGHT and Constants.PLAYFIELD_WIDTH.

F

failReason - Variable in class dev.roanh.convexmerger.net.ClientConnection
The reason a server connection could not be established (if any).
fallback() - Method in class dev.roanh.convexmerger.player.RemotePlayer
Executes a fallback AI move if the player connection was lost.
fieldHeight - Static variable in class dev.roanh.convexmerger.ui.JoinMenu
Height of the text fields.
fieldWidth - Static variable in class dev.roanh.convexmerger.ui.JoinMenu
Width of the text fields.
fillText(Graphics2D, int, int, int, int, List<String>) - Method in class dev.roanh.convexmerger.ui.Screen
Fills the given area with the given text.
findBestMergeFrom(ConvexObject) - Method in class dev.roanh.convexmerger.player.Player
Finds the best possible merge (largest relative area gain) from the given object for this player.
findClosest(int[], int) - Method in class dev.roanh.convexmerger.ui.NewGameMenu
Finds the index of the element in the array closest to the given value.
findIntersectedTrapezoids(Line2D, ConvexObject) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Computes a list of trapezoids intersected by a line segment, excluding the leftmost and rightmost intersected trapezoids.
findLargestUnownedObject() - Method in class dev.roanh.convexmerger.player.Player
Finds the largest unowned object left in the current game state.
findLargestUnownedObject(Comparator<Double>) - Method in class dev.roanh.convexmerger.player.Player
Finds the largest unowned object left in the current game state according to the given comparator.
findUnusedSegment(List<Point2D>, List<Point2D>, Set<Segment>, Segment) - Static method in class dev.roanh.convexmerger.util.ConjugationTree
Searches for lines that are not marked as used and similar to the segment between the median points of two sorted point lists.
finishBotTrapezoid(VerticalDecomposition.Trapezoid, VerticalDecomposition.Line, VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Finishes a trapezoid that has just received one of the given parent trapezoid's right points below the given segment, and assigns neighbourhoods between itself and the current trapezoid's neighbours.
finished - Variable in class dev.roanh.convexmerger.animation.Animation
When true indicates that the animation has no frames remaining.
finishTopTrapezoid(VerticalDecomposition.Trapezoid, VerticalDecomposition.Line, VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Finishes a trapezoid that has just received one of the given parent trapezoid's right points above the given segment, and assigns neighbourhoods between itself and the current trapezoid's neighbours.
first - Variable in class dev.roanh.convexmerger.animation.CalliperAnimation
The first object in the merge.
first - Static variable in class dev.roanh.convexmerger.animation.ExampleAnimation
Leftmost object.
first - Variable in class dev.roanh.convexmerger.player.Player.MergeOption
The source object in the merge.
firstAngle - Variable in class dev.roanh.convexmerger.animation.CalliperAnimation
The angle of the first merge line.
firstCopy - Static variable in class dev.roanh.convexmerger.animation.ExampleAnimation
Copy of the leftmost object that is always owned by the first player.
firstInner - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
Path for the inner (internal after the merge) hull segment of the first (leftmost) object
firstInnerData - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
Points defining the inner hull segment of the first object.
firstLine - Variable in class dev.roanh.convexmerger.animation.CalliperAnimation
The first merge line.
firstOuter - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
Path for the outer (not internal after the merge) hull segment of the first (leftmost) object
FLOW_DURATION - Static variable in class dev.roanh.convexmerger.animation.MergeAnimation
Number of milliseconds the body merge drawing phase lasts for.
focus - Variable in class dev.roanh.convexmerger.ui.ComboBox
Whether this combo box currently has focus.
focus - Variable in class dev.roanh.convexmerger.ui.TextField
Whether this text field has focus.
focusListener - Variable in class dev.roanh.convexmerger.ui.TextField
Listener called when this text field loses focus.
foreground - Variable in class dev.roanh.convexmerger.ui.TextField
The foreground (text) colour.
formatScore(double) - Static method in class dev.roanh.convexmerger.ui.Theme
Formats the given area by rounding to an integer and adding dots to separate digits into groups of three.
formatTime(long) - Method in class dev.roanh.convexmerger.ui.ResultOverlay
Formats the given time in milliseconds to something human readable with seconds as the smallest unit and milliseconds as the precision.
frame - Variable in class dev.roanh.convexmerger.ui.ConvexMerger
Application main frame.
freeNeighbours() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Removes this trapezoid from the neighbour lists of all neighbours and clears the neighbour list of this trapezoid.
fromLines(List<Line2D>) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree.SegmentPartitionTreeConstructor
Constructs a new segment partition tree from the line segments in the given set.
fromObjects(List<ConvexObject>) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree.SegmentPartitionTreeConstructor
Constructs a new segment partition tree from the line segments making up the given set of convex objects.
fromPoints(List<Point2D>) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree.SegmentPartitionTreeConstructor
Constructs a new empty segment partition tree with the given set of points for the underlying partition tree.

G

game - Variable in class dev.roanh.convexmerger.player.HumanPlayer
The panel visualising the game this player is playing in.
game - Variable in class dev.roanh.convexmerger.ui.InfoMenu
The state for the current game.
GameConstructor - Interface in dev.roanh.convexmerger.game
A simple interface used to execute the longer calculations required to start a game on the main game thread.
gameEnd - Variable in class dev.roanh.convexmerger.game.GameState
Millisecond time the game ended or -1.
GamePanel - Class in dev.roanh.convexmerger.ui
Main panel responsible for rendering the current game state.
GamePanel(ConvexMerger, GameState) - Constructor for class dev.roanh.convexmerger.ui.GamePanel
Constructs a new game panel with the given game context.
gameStart - Variable in class dev.roanh.convexmerger.game.GameState
Millisecond time the game started or -1 if the game has not started.
GameState - Class in dev.roanh.convexmerger.game
Class managing the main game state, data, players and general control flow.
GameState(PlayfieldGenerator, List<Player>) - Constructor for class dev.roanh.convexmerger.game.GameState
Constructs a new game state with the given playfield generator and list of participating players.
GameState(List<ConvexObject>, String, List<Player>) - Constructor for class dev.roanh.convexmerger.game.GameState
Constructs a new game state with the given playfield objects, seed and list of participating players.
GameStateListener - Interface in dev.roanh.convexmerger.game
Interface that receives game state updates.
gameThread - Variable in class dev.roanh.convexmerger.ui.ConvexMerger
The thread running the active game (if any).
GameThread(GameConstructor) - Constructor for class dev.roanh.convexmerger.ui.ConvexMerger.GameThread
Constructs a new game thread with the given game constructor.
GAP - Static variable in class dev.roanh.convexmerger.ui.ResultOverlay
Gap between main result screen components (title, bars, stats, graph).
gen - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
The playfield generator being configured.
generatePlayfield() - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Generates a new game playfield with convex objects made up of 3 to 4 points.
get(int) - Static method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Gets the player theme for the player with the given ID.
getAbsorbed() - Method in class dev.roanh.convexmerger.player.Player.PlayerStats
Gets the total number of unrelated objects absorbed by merges.
getActivePlayer() - Method in class dev.roanh.convexmerger.game.GameState
Gets the active players whose turn it is currently.
getAnimation() - Method in class dev.roanh.convexmerger.animation.RenderableObject
Gets the animation for this object.
getArea() - Method in class dev.roanh.convexmerger.game.ConvexObject
Computes the area of this convex object.
getArea() - Method in class dev.roanh.convexmerger.player.Player
Gets the total area claimed by this player.
getArea() - Method in class dev.roanh.convexmerger.ui.ResultOverlay.AveragePlayer
 
getAverageTurnTime() - Method in class dev.roanh.convexmerger.player.Player.PlayerStats
Gets the average number of milliseconds per turn for this player.
getBarBody() - Method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Gets the bar chart body color for this theme.
getBarOutline() - Method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Gets the bar chart outline color for this theme.
getBaseOutline() - Method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Gets the base outline color for this theme.
getBisector() - Method in class dev.roanh.convexmerger.util.ConjugationTree
Gets the bisector line for this tree node.
getBody() - Method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Gets the object body color for this theme.
getBounds() - Method in class dev.roanh.convexmerger.util.KDTree
Gets the bounding rectangle of this kd-tree node.
getBounds2D() - Method in class dev.roanh.convexmerger.util.Segment
 
getButtonMessage() - Method in class dev.roanh.convexmerger.ui.HostMenu
 
getButtonMessage() - Method in class dev.roanh.convexmerger.ui.NewGameMenu
Gets the status message to display on the start button.
getCentroid() - Method in class dev.roanh.convexmerger.game.ConvexObject
Computes the centroid of this convex object.
getCentroid() - Method in class dev.roanh.convexmerger.util.ConjugationTree
Gets the centroid of this conjugation tree node.
getCentroid() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Returns the centroid of the trapezoid.
getChildren() - Method in class dev.roanh.convexmerger.util.ConjugationTree
 
getChildren() - Method in class dev.roanh.convexmerger.util.KDTree
 
getChildren() - Method in class dev.roanh.convexmerger.util.PartitionTree
Gets the child nodes of this tree node.
getClaims() - Method in class dev.roanh.convexmerger.player.Player.PlayerStats
Gets the total number of objects claimed by this player.
getContext() - Method in class dev.roanh.convexmerger.ui.Screen
Gets the game context this screen is associated with.
getCoverage() - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Gets the coverage number for this generator.
getData() - Method in class dev.roanh.convexmerger.util.PartitionTree
Gets the data stored at this tree node.
getDecompLines() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Gets a list of lines that represent the vertical decomposition lines.
getDecompLines() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Gets the vertical lines of this trapezoid.
getDecompVertex() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Gets the decomposition vertex that this trapezoid is linked to.
getDepth() - Method in class dev.roanh.convexmerger.util.PartitionTree
Gets the depth of this cell in the partition tree.
getDepth() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Computes the maximum depth of this trapezoid in the search structure.
getEndPoints() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Returns the points of the trapezoid in counterclockwise order.
getFirstIntersectedTrapezoid(Line2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Gets the first trapezoid to the right that is run through by a given segment.
getGameState() - Method in class dev.roanh.convexmerger.net.ClientConnection
Gets the gamestate for the remote game.
getGameTime() - Method in class dev.roanh.convexmerger.game.GameState
Gets the total number of milliseconds this game took or is taking up to this point in time.
getHeight(Graphics2D) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Gets the height of this button assembly.
getHeight() - Method in class dev.roanh.convexmerger.util.PartitionTree
Gets the height of the partition tree this cell is a part of.
getHeight() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Computes the height of the vertical decomposition as the length of the longest path to any trapezoid in the search structure.
getHelperLines(Point2D) - Method in class dev.roanh.convexmerger.game.GameState
Gets the helper lines to be drawn from the currently selected first object to the given point.
getHighNode() - Method in class dev.roanh.convexmerger.util.KDTree
Gets the child node containing the high value points stored in the children of this node.
getIconAI() - Method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Gets the AI icon for this theme.
getIconHuman() - Method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Gets the human icon for this theme.
getID() - Method in class dev.roanh.convexmerger.game.ConvexObject
 
getID() - Method in interface dev.roanh.convexmerger.game.Identity
Gets the ID of this entity.
getID() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerJoinAccept
Gets the ID assigned to the joining player.
getID() - Method in class dev.roanh.convexmerger.net.PlayerProxy
Gets the ID of the player.
getID() - Method in class dev.roanh.convexmerger.player.Player
 
getIncrease() - Method in class dev.roanh.convexmerger.player.Player.MergeOption
Gets the relative area gain for this merge.
getIntersectedTrapezoidToTheLeft(Line2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
Gets the trapezoid to the left that contains the given segment.
getIntersectedTrapezoidToTheRight(Line2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
Gets the trapezoid to the right that contains the given segment.
getLastLine() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Gets the last line segment added into the vertical decomposition.
getLeftButtonText() - Method in class dev.roanh.convexmerger.ui.GamePanel
 
getLeftButtonText() - Method in class dev.roanh.convexmerger.ui.InfoMenu
 
getLeftButtonText() - Method in class dev.roanh.convexmerger.ui.JoinMenu
 
getLeftButtonText() - Method in class dev.roanh.convexmerger.ui.MainMenu
 
getLeftButtonText() - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
getLeftButtonText() - Method in class dev.roanh.convexmerger.ui.Screen
Gets the text for the bottom left button.
getLeftChild() - Method in class dev.roanh.convexmerger.util.ConjugationTree
Gets the left child node of this tree node (CCW -1).
getLeftChild() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Gets the left child of the vertex.
getLeftDecompLine() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Gets the left vertical line of this trapezoid.
getLeftmostTrapAbove() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Gets the leftmost trapezoid that is above this line.
getLeftmostTrapBelow() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Gets the leftmost trapezoid that is below this line.
getLines() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Gets all lines that were ever added to the vertical decomposition.
getLowNode() - Method in class dev.roanh.convexmerger.util.KDTree
Gets the child node containing the low value points stored in the children of this node.
getMaxWidth(int, double, int) - Static method in class dev.roanh.convexmerger.ui.Screen
Computes how wide the content should be given a screen width, width usage ratio and maximum width.
getMenuTitle() - Method in class dev.roanh.convexmerger.ui.HostMenu
 
getMenuTitle() - Method in class dev.roanh.convexmerger.ui.NewGameMenu
Gets the title of this menu.
getMerges() - Method in class dev.roanh.convexmerger.player.Player.PlayerStats
Gets the total number of merges performed by this player.
getMessage() - Method in class dev.roanh.convexmerger.game.ClaimResult
Gets the feedback message for this result.
getMessage() - Method in enum dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject.RejectReason
Gets the help text message for this reject reason.
getMessage() - Method in enum dev.roanh.convexmerger.ui.MessageDialog
Gets the feedback message for this dialog.
getName() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerJoin
Gets the name of the player that wants to join.
getName() - Method in class dev.roanh.convexmerger.net.PlayerProxy
Gets the name of the player.
getName() - Method in enum dev.roanh.convexmerger.player.AIRegistry
Gets the name of this AI.
getName() - Method in class dev.roanh.convexmerger.player.Player
Gets the name of this player.
getNeighbours() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Getter for the neighbours of the trapezoid.
getObject(Point2D) - Method in class dev.roanh.convexmerger.game.GameState
Gets the object located at the given coordinates.
getObject(double, double) - Method in class dev.roanh.convexmerger.game.GameState
Gets the object located at the given coordinates.
getObject() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Returns the convex object that contains this trapezoid.
getObjectOfSegment(VerticalDecomposition.Line) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Gets the object that the segment points to.
getObjects() - Method in class dev.roanh.convexmerger.game.GameState
Gets all the objects in this game.
getObjects() - Method in class dev.roanh.convexmerger.net.packet.PacketGameInit
Gets the objects for this game.
getOrCreatePoint(Point2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Gets the decomposition point at the given point or adds a new point if it doesn't exist and returns it.
getOriginalSegment() - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree.LineSegment
Gets the original line segment this line segment was derived from.
getOutline() - Method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Gets the object outline color for this theme.
getOwner() - Method in class dev.roanh.convexmerger.game.ConvexObject
Gets the player that owns this object.
getP1() - Method in class dev.roanh.convexmerger.util.Segment
 
getP2() - Method in class dev.roanh.convexmerger.util.Segment
 
getParent() - Method in class dev.roanh.convexmerger.util.ConjugationTree
 
getParent() - Method in class dev.roanh.convexmerger.util.KDTree
 
getParent() - Method in class dev.roanh.convexmerger.util.PartitionTree
Gets the parent tree node of this node.
getPlayer() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerMove
Gets the player that made this move.
getPlayer() - Method in class dev.roanh.convexmerger.ui.HostMenu.HostPanel
 
getPlayer() - Method in class dev.roanh.convexmerger.ui.HostMenu.RemotePanel
 
getPlayer() - Method in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Gets the configured player for this panel if it exists.
getPlayerBody(ConvexObject) - Static method in class dev.roanh.convexmerger.ui.Theme
Gets the color to use to draw the body for the given convex object.
getPlayerCount() - Method in class dev.roanh.convexmerger.game.GameState
Gets the total number of players in this game.
getPlayerOutline(ConvexObject) - Static method in class dev.roanh.convexmerger.ui.Theme
Gets the color to use to draw the outline for the given convex object.
getPlayers() - Method in class dev.roanh.convexmerger.game.GameState
Gets a list of all the players in this game.
getPlayers() - Method in class dev.roanh.convexmerger.net.packet.PacketGameInit
Gets the players for this game.
getPoint() - Method in class dev.roanh.convexmerger.util.KDTree
Gets the point defining the line dividing this kd-tree node into two child nodes.
getPoint() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
Gets the point of this structure.
getPoint() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Gets the point that the vertex points to.
getPoint(Point2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Gets a decomposition point for a given query point.
getPoints() - Method in class dev.roanh.convexmerger.game.ConvexObject
Gets the points that define this convex object.
getPoints() - Method in class dev.roanh.convexmerger.util.ConjugationTree
Gets all the points located on the bisector for this tree cell.
getProxy() - Method in class dev.roanh.convexmerger.player.Player
Gets a proxy for this player.
getRangeMax() - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Gets the minimum size range for this generator.
getRangeMin() - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Gets the maximum size range for this generator.
getReason() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject
Gets the reason the player was not allowed to join.
getRegisteryType() - Method in interface dev.roanh.convexmerger.net.packet.Packet
The registry type of this packet.
getRegisteryType() - Method in class dev.roanh.convexmerger.net.packet.PacketGameEnd
 
getRegisteryType() - Method in class dev.roanh.convexmerger.net.packet.PacketGameInit
 
getRegisteryType() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerJoin
 
getRegisteryType() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerJoinAccept
 
getRegisteryType() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject
 
getRegisteryType() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerMove
 
getRejectReason() - Method in class dev.roanh.convexmerger.net.ClientConnection
Gets the reason why the connection to the server failed (if any).
getResult() - Method in class dev.roanh.convexmerger.game.ClaimResult
Gets the game state result for this claim result.
getRightButtonText() - Method in class dev.roanh.convexmerger.ui.GamePanel
 
getRightButtonText() - Method in class dev.roanh.convexmerger.ui.InfoMenu
 
getRightButtonText() - Method in class dev.roanh.convexmerger.ui.JoinMenu
 
getRightButtonText() - Method in class dev.roanh.convexmerger.ui.MainMenu
 
getRightButtonText() - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
getRightButtonText() - Method in class dev.roanh.convexmerger.ui.Screen
Gets the text for the bottom right button.
getRightChild() - Method in class dev.roanh.convexmerger.util.ConjugationTree
Gets the right child node of this tree node (CCW 1).
getRightChild() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Gets the right child of the vertex.
getRightDecompLine() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Gets the right vertical line of this trapezoid.
getRightmostTrapAbove() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Gets the rightmost trapezoid that is above this line.
getRightmostTrapBelow() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Gets the rightmost trapezoid that is below this line.
getRounds() - Method in class dev.roanh.convexmerger.game.GameState
Gets the number of rounds in this game.
getScaling() - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Gets the scaling number for this generator.
getScoreAnimation() - Method in class dev.roanh.convexmerger.player.Player
Getst the animation rendering the score for this player.
getScoreHistory() - Method in class dev.roanh.convexmerger.player.Player.PlayerStats
Gets the score per turn for this player.
getSeed() - Method in class dev.roanh.convexmerger.game.GameState
Gets the seed of the playfield generator that was used to generate this game.
getSeed() - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Gets the seed that describes this random generator.
getSeed() - Method in class dev.roanh.convexmerger.net.packet.PacketGameInit
Gets the game seed.
getSegment() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Gets the segment that the vertex points to.
getSegments() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
Gets the list of segments that this point is part of.
getSegmentTreeConj() - Method in class dev.roanh.convexmerger.game.GameState
Gets the conjugation tree based segment intersection tree for this game state.
getSegmentTreeKD() - Method in class dev.roanh.convexmerger.game.GameState
Gets the kd-tree based segment intersection tree for this game state.
getSelectedIndex(Point2D) - Method in class dev.roanh.convexmerger.ui.ComboBox
Computes the drop down list selected index given the list bounds.
getSelectedObject() - Method in class dev.roanh.convexmerger.game.GameState
Gets the (first) object selected by the player.
getSelectedPath() - Method in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Gets the bounds of the selected button.
getSelf() - Method in class dev.roanh.convexmerger.util.ConjugationTree
 
getSelf() - Method in class dev.roanh.convexmerger.util.KDTree
 
getSelf() - Method in class dev.roanh.convexmerger.util.PartitionTree
Gets 'this' partition tree.
getShape() - Method in class dev.roanh.convexmerger.game.ConvexObject
Gets a closed path representing the shape of this convex object.
getShape() - Method in class dev.roanh.convexmerger.util.ConjugationTree
 
getShape() - Method in class dev.roanh.convexmerger.util.KDTree
 
getShape() - Method in class dev.roanh.convexmerger.util.PartitionTree
Gets the shape defining the boundary of this tree cell.
getSmallIconAI() - Method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Gets the small AI icon for this theme.
getSmallIconHuman() - Method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Gets the small human icon for this theme.
getSource() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerMove
Gets the ID of the source object in this move.
getStats() - Method in class dev.roanh.convexmerger.player.Player
Gets the game stats for this player.
getTarget() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerMove
Gets the ID of the target object in this move.
getText() - Method in class dev.roanh.convexmerger.ui.TextField
Gets the text in this text field.
getTextColor() - Method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Gets the text color for this theme.
getTheme() - Method in class dev.roanh.convexmerger.player.Player
Gets the color theme for this player.
getTitle() - Method in enum dev.roanh.convexmerger.ui.MessageDialog
Gets the title for this dialog.
getTrapezoid() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Gets the trapezoid that the vertex points to.
getTrapezoids() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Gets all the trapezoids that make up the vertical decomposition.
getTrapsAbove() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Retrieves the list of trapezoids above this line.
getTrapsBelow() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Retrieves the list of trapezoids below this line.
getTurns() - Method in class dev.roanh.convexmerger.player.Player.PlayerStats
Gets the total number of turns for this player.
getType() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerMove
Gets the type of move that was made by the player.
getValue() - Method in class dev.roanh.convexmerger.ui.ComboBox
Gets the value selected in this combo box.
getVersion() - Method in class dev.roanh.convexmerger.net.packet.PacketPlayerJoin
Gets the version of the game the player that wants to join is currently running.
getVerticalDecomposition() - Method in class dev.roanh.convexmerger.game.GameState
Gets the vertical decomposition for the game state.
getWidth() - Method in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Gets the width of this button assembly.
getX() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
 
getX1() - Method in class dev.roanh.convexmerger.util.Segment
 
getX2() - Method in class dev.roanh.convexmerger.util.Segment
 
getXLeft() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Getter for the X coordinate of the left wall of the trapezoid.
getXRight() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Getter for the X coordinate of the right wall of the trapezoid.
getY() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
 
getY1() - Method in class dev.roanh.convexmerger.util.Segment
 
getY2() - Method in class dev.roanh.convexmerger.util.Segment
 
githubBox - Variable in class dev.roanh.convexmerger.ui.InfoMenu
Bounds of the GitHub link.
giveFocus() - Method in class dev.roanh.convexmerger.ui.TextField
Gives focus to this text field.
gradient - Variable in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Player theme gradient color.
GRAPH_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.ResultOverlay
Height of the graph.
GRAPH_MARK_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Result screen graph marker text color.
GRAPH_MARK_STROKE - Static variable in class dev.roanh.convexmerger.ui.Theme
Stroke used for the graph marker lines.
GRAPH_MARKER_INTERVAL - Static variable in class dev.roanh.convexmerger.ui.ResultOverlay
Score interval at which score markers are placed in the graph.
GRAPH_MARKER_OFFSET - Static variable in class dev.roanh.convexmerger.ui.ResultOverlay
The minimum score a player score has to be past a marker for a new top marker to be generated.
GRAPH_STROKE - Static variable in class dev.roanh.convexmerger.ui.Theme
Stroke used for the graph player data lines.
GreedyPlayer - Class in dev.roanh.convexmerger.player
Simple AI that follows the greedy strategy of maximising relative area gain in every turn.
GreedyPlayer() - Constructor for class dev.roanh.convexmerger.player.GreedyPlayer
Constructs a new greedy player (Isla).
GreedyPlayer(boolean, boolean, String) - Constructor for class dev.roanh.convexmerger.player.GreedyPlayer
Constructs a new greedy player with the given parameters.

H

handleClaim(ConvexObject, Point2D) - Method in class dev.roanh.convexmerger.player.HumanPlayer
Handles a new object to try to claim for this player.
handleClient(Socket) - Method in class dev.roanh.convexmerger.net.InternalServer.ServerThread
Handles an incoming client connection.
handleException(Exception) - Method in interface dev.roanh.convexmerger.net.InternalServer.InternalServerListener
Called when the server encountered a fatal exception while accepting incoming player connections.
handleException(Exception) - Method in class dev.roanh.convexmerger.ui.HostMenu
 
handleFirstTrapezoid(VerticalDecomposition.Trapezoid, Point2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Handles the special case of the current trapezoid being the first of the many intersected by the inserted segment.
handleKeyEvent(KeyEvent) - Method in class dev.roanh.convexmerger.ui.TextField
Handles a key event on this text field.
handleKeyPressed(KeyEvent) - Method in class dev.roanh.convexmerger.ui.JoinMenu
 
handleKeyPressed(KeyEvent) - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
handleKeyPressed(KeyEvent) - Method in class dev.roanh.convexmerger.ui.Screen
Handles a key press event.
handleKeyReleased(KeyEvent) - Method in class dev.roanh.convexmerger.ui.GamePanel
 
handleKeyReleased(KeyEvent) - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
handleKeyReleased(KeyEvent) - Method in class dev.roanh.convexmerger.ui.Screen
Handles a key release event.
handleLastTrapezoid(VerticalDecomposition.Trapezoid, Point2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Handles the special case of the current trapezoid being the last of the many intersected by the inserted segment.
handleLeftButtonClick() - Method in class dev.roanh.convexmerger.ui.GamePanel
 
handleLeftButtonClick() - Method in class dev.roanh.convexmerger.ui.HostMenu
 
handleLeftButtonClick() - Method in class dev.roanh.convexmerger.ui.InfoMenu
 
handleLeftButtonClick() - Method in class dev.roanh.convexmerger.ui.JoinMenu
 
handleLeftButtonClick() - Method in class dev.roanh.convexmerger.ui.MainMenu
 
handleLeftButtonClick() - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
handleLeftButtonClick() - Method in class dev.roanh.convexmerger.ui.Screen
Handles the bottom left button being clicked.
handleMouseClick(Point2D) - Method in class dev.roanh.convexmerger.ui.ComboBox
Handles a mouse click on this combo box.
handleMouseClick(Point2D) - Method in class dev.roanh.convexmerger.ui.HostMenu.RemotePanel
 
handleMouseClick(Point2D) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Handles a mouse click on this button assembly.
handleMouseClick(Point2D) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Handles a mouse click on this component.
handleMouseClick(Point2D) - Method in class dev.roanh.convexmerger.ui.ResultOverlay
Handles a mouse click on the result screen.
handleMouseClick(Point2D) - Method in class dev.roanh.convexmerger.ui.TextField
Handles a mouse event on this text field.
handleMouseDrag(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.GamePanel
 
handleMouseDrag(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.Screen
Handles a mouse move on this screen.
handleMouseMove(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.GamePanel
 
handleMouseMove(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.Screen
Handles a mouse move on this screen.
handleMousePress(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.GamePanel
 
handleMousePress(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.Screen
Handles a mouse button press on this screen.
handleMouseRelease(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.GamePanel
 
handleMouseRelease(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.HostMenu
 
handleMouseRelease(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.InfoMenu
 
handleMouseRelease(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.JoinMenu
 
handleMouseRelease(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.MainMenu
 
handleMouseRelease(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
handleMouseRelease(Point2D, int, int) - Method in class dev.roanh.convexmerger.ui.Screen
Handles a mouse button release on this screen.
handlePlayerJoin(Player) - Method in interface dev.roanh.convexmerger.net.InternalServer.InternalServerListener
Called when a new player joined the server.
handlePlayerJoin(Player) - Method in class dev.roanh.convexmerger.ui.HostMenu
 
handler - Variable in class dev.roanh.convexmerger.net.InternalServer
Listener to send server events to.
handleRightButtonClick() - Method in class dev.roanh.convexmerger.ui.GamePanel
 
handleRightButtonClick() - Method in class dev.roanh.convexmerger.ui.InfoMenu
 
handleRightButtonClick() - Method in class dev.roanh.convexmerger.ui.JoinMenu
 
handleRightButtonClick() - Method in class dev.roanh.convexmerger.ui.MainMenu
 
handleRightButtonClick() - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
handleRightButtonClick() - Method in class dev.roanh.convexmerger.ui.Screen
Handles the bottom right button being clicked.
handleStart(List<Player>, PlayfieldGenerator) - Method in class dev.roanh.convexmerger.ui.HostMenu
 
handleStart(List<Player>, PlayfieldGenerator) - Method in class dev.roanh.convexmerger.ui.NewGameMenu
Handles the start of the actual game given the player and playfield generator configuration.
hasAnimation() - Method in class dev.roanh.convexmerger.animation.RenderableObject
Checks if this convex object has an active animation.
hasFocus() - Method in class dev.roanh.convexmerger.ui.ComboBox
Checks if this combo box currently has focus.
hasFocus() - Method in class dev.roanh.convexmerger.ui.TextField
Checks if this text field currently has focus.
hashCode() - Method in class dev.roanh.convexmerger.game.ConvexObject
 
hashCode() - Method in class dev.roanh.convexmerger.net.PlayerProxy
 
hashCode() - Method in class dev.roanh.convexmerger.player.Player
 
hashCode() - Method in class dev.roanh.convexmerger.util.Segment
 
hashCode() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
 
hasMergeFrom(ConvexObject) - Method in class dev.roanh.convexmerger.player.Player
Checks if there exists a possible valid merge from the given object to any other object.
hasMessage() - Method in class dev.roanh.convexmerger.game.ClaimResult
Checks if this result has a feedback message.
hasPlayer() - Method in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Checks if this panel has a configured player.
hasResult() - Method in class dev.roanh.convexmerger.game.ClaimResult
Checks if this claim result has a game state result.
hasSeedMarker(long) - Static method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Checks if the given high order bits of a seed represent a valid game seed.
HEIGHT - Static variable in class dev.roanh.convexmerger.animation.ExampleAnimation
Height of the animation.
HEIGHT - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
The height of the panels.
HELPER_STROKE - Static variable in class dev.roanh.convexmerger.ui.Theme
Stroke used to draw the playfield merge helper lines.
helperLines - Variable in class dev.roanh.convexmerger.ui.GamePanel
Currently showing merge helper lines.
high - Variable in class dev.roanh.convexmerger.util.KDTree
The high child of this kd-tree.
host - Variable in class dev.roanh.convexmerger.ui.JoinMenu
Host name input field.
host - Variable in class dev.roanh.convexmerger.ui.MainMenu
Bounds of the multiplayer host button.
HostMenu - Class in dev.roanh.convexmerger.ui
Menu used to host a multiplayer match.
HostMenu(ConvexMerger) - Constructor for class dev.roanh.convexmerger.ui.HostMenu
Constructs a new host menu with the given game context.
HostMenu.HostPanel - Class in dev.roanh.convexmerger.ui
Special player panel that cannot be removed.
HostMenu.RemotePanel - Class in dev.roanh.convexmerger.ui
Special player panel that cannot be removed or edited.
HostPanel(Theme.PlayerTheme) - Constructor for class dev.roanh.convexmerger.ui.HostMenu.HostPanel
Constructs a new host panel with the given theme.
hull - Variable in class dev.roanh.convexmerger.util.ConjugationTree
The convex hull defining the bounds of this tree cell.
human - Variable in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Human icon in the color for this player theme.
HumanPlayer - Class in dev.roanh.convexmerger.player
Represents a player controlled by a local human.
HumanPlayer(String) - Constructor for class dev.roanh.convexmerger.player.HumanPlayer
Constructs a new human player with the given name.
humanSmall - Variable in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Small human icon in the color for this player theme.

I

icon - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Current panel icon.
ICON_TEXT_SPACING - Static variable in class dev.roanh.convexmerger.ui.GamePanel
Number of pixels between the player icon and the text.
id - Variable in class dev.roanh.convexmerger.game.ConvexObject
The ID for this object.
id - Variable in class dev.roanh.convexmerger.net.packet.PacketPlayerJoinAccept
The assigned player ID.
id - Variable in enum dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject.RejectReason
Numeric ID of this reason.
id - Variable in class dev.roanh.convexmerger.net.PlayerProxy
The ID of the player this proxy represents.
id - Variable in class dev.roanh.convexmerger.player.Player
The ID of this player.
Identity - Interface in dev.roanh.convexmerger.game
Interface for objects that can be identified via some unique ID.
in - Variable in class dev.roanh.convexmerger.net.Connection
The input stream for this connection.
increase - Variable in class dev.roanh.convexmerger.player.Player.MergeOption
The relative area gain for this merge.
indexFirst - Variable in class dev.roanh.convexmerger.animation.CalliperAnimation
Cached current index in the first object's points list.
indexSecond - Variable in class dev.roanh.convexmerger.animation.CalliperAnimation
Cached current index in the second object's points list.
info - Variable in class dev.roanh.convexmerger.ui.MainMenu
Bounds of the info button.
InfoMenu - Class in dev.roanh.convexmerger.ui
Screen showing the rules, credits and version.
InfoMenu(ConvexMerger, GameState, Screen) - Constructor for class dev.roanh.convexmerger.ui.InfoMenu
Constructs a new info menu with the given game context and state and screen to return to.
init() - Method in class dev.roanh.convexmerger.game.GameState
Initialises the game state running tasks that need to run on the main game thread.
init(long, int, int, int, int) - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Initialises the internal generator state.
init(GameState, Theme.PlayerTheme) - Method in class dev.roanh.convexmerger.player.Player
Initialises this player with the given game state and theme.
INIT_SIZE - Static variable in class dev.roanh.convexmerger.Constants
Initial frame size scaling factor
initialiseGame(GameConstructor) - Method in class dev.roanh.convexmerger.ui.ConvexMerger
Initialises a new game with the given game constructor.
interceptClosed(Line2D, Line2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the intersection point of the two given closed line segments.
interceptClosed(Point2D, Point2D, Point2D, Point2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the intersection point of the two given closed line segments.
interceptOpen(Line2D, Line2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the intersection point of the two given infinite line segments.
interceptOpen(Point2D, Point2D, Point2D, Point2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Computes the intersection point of the two given infinite line segments.
InternalServer - Class in dev.roanh.convexmerger.net
Server responsible for hosting multiplayer games.
InternalServer(InternalServer.InternalServerListener) - Constructor for class dev.roanh.convexmerger.net.InternalServer
Constructs a new server with the given listener.
InternalServer.InternalServerListener - Interface in dev.roanh.convexmerger.net
Interface that receives server events.
InternalServer.ServerThread - Class in dev.roanh.convexmerger.net
Main thread managing all connections and initially responsible for accepting joining players.
interpolate(Point2D, Point2D, float) - Method in class dev.roanh.convexmerger.animation.MergeAnimation
Interpolates between the given two points starting from the source and ending at the given fraction to the target point.
intersects(Point2D, Point2D) - Method in class dev.roanh.convexmerger.game.ConvexObject
Checks if this convex object intersects the line segment defined by the given end points.
intersects(ConvexObject) - Method in class dev.roanh.convexmerger.game.ConvexObject
Checks if the given convex object intersects this convex object.
intersects(Line2D) - Method in class dev.roanh.convexmerger.util.KDTree
Checks if the given line intersects this kd-tree node.
intersects(Point2D, Point2D) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Checks if the line segment defined by the given points intersects any of the segments stored in this tree.
intersects(Line2D) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Checks if the line segment defined by the given points intersects any of the segments stored in this tree.
intersectsAny(List<SegmentPartitionTree.LineSegment>, SegmentPartitionTree.LineSegment) - Static method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Checks if the given line segment intersects any of the line segments in the given set of line segments.
intersectsInternal(SegmentPartitionTree.LineSegment) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Checks if the line segment defined by the given points intersects any of the segments stored in this tree.
intersectsLeft(Point2D) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Checks if the given point is on the left button.
intersectsMiddle(Point2D) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Checks if the given point is on the middle button.
intersectsRight(Point2D) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Checks if the given point is on the right button.
intersectsSegment(Line2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Checks whether a given line segment intersects with this trapezoid.
isAI() - Method in class dev.roanh.convexmerger.net.PlayerProxy
Checks if the player is an AI.
isAI() - Method in class dev.roanh.convexmerger.player.Player
Checks if this player is an AI.
isAnimated() - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Checks if this segment partition tree is animated.
isAnimated() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Checks if the vertical decomposition is animated, meaning it is showing individual segment updates.
isClosed() - Method in class dev.roanh.convexmerger.net.Connection
Checks if this connection is closed.
isConnected() - Method in class dev.roanh.convexmerger.net.ClientConnection
Checks if this client was connected to the server.
isEnabled() - Method in class dev.roanh.convexmerger.ui.ResultOverlay
Checks if this overlay is enabled and showing.
isFinished() - Method in class dev.roanh.convexmerger.game.GameState
Checks if the game is finished.
isLeafCell() - Method in class dev.roanh.convexmerger.util.ConjugationTree
 
isLeafCell() - Method in class dev.roanh.convexmerger.util.KDTree
 
isLeafCell() - Method in class dev.roanh.convexmerger.util.PartitionTree
Checks if this tree node is a leaf cell.
isLeftButtonEnabled() - Method in class dev.roanh.convexmerger.ui.GamePanel
 
isLeftButtonEnabled() - Method in class dev.roanh.convexmerger.ui.InfoMenu
 
isLeftButtonEnabled() - Method in class dev.roanh.convexmerger.ui.JoinMenu
 
isLeftButtonEnabled() - Method in class dev.roanh.convexmerger.ui.MainMenu
 
isLeftButtonEnabled() - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
isLeftButtonEnabled() - Method in class dev.roanh.convexmerger.ui.Screen
Checks if the bottom left button is enabled.
isLocal() - Method in class dev.roanh.convexmerger.player.Player
Checks if this player is executing locally or acting as a remote proxy.
isLost() - Method in class dev.roanh.convexmerger.net.PlayerProxy
Checks if the connection to the player was lost.
isLost() - Method in class dev.roanh.convexmerger.player.RemotePlayer
Checks if the connection to the remote player was lost.
isOwned() - Method in class dev.roanh.convexmerger.game.ConvexObject
Checks if this object is owned by a player.
isOwnedBy(Player) - Method in class dev.roanh.convexmerger.game.ConvexObject
Tests if this convex object is owned by the given player.
isRightButtonEnabled() - Method in class dev.roanh.convexmerger.ui.GamePanel
 
isRightButtonEnabled() - Method in class dev.roanh.convexmerger.ui.InfoMenu
 
isRightButtonEnabled() - Method in class dev.roanh.convexmerger.ui.JoinMenu
 
isRightButtonEnabled() - Method in class dev.roanh.convexmerger.ui.MainMenu
 
isRightButtonEnabled() - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
isRightButtonEnabled() - Method in class dev.roanh.convexmerger.ui.Screen
Checks if the bottom right button is enabled.
isSelectingSecond() - Method in class dev.roanh.convexmerger.game.GameState
True if the active player is currently selecting a second object to merge with.
isValidSeed(String) - Static method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Tests if the given seed is a valid game seed.

J

join - Variable in class dev.roanh.convexmerger.ui.MainMenu
Bounds of the multiplayer join button.
JoinMenu - Class in dev.roanh.convexmerger.ui
Menu shown to connect to a remote server.
JoinMenu(ConvexMerger) - Constructor for class dev.roanh.convexmerger.ui.JoinMenu
Constructs a new join menu with the given game context.

K

KDTree<T> - Class in dev.roanh.convexmerger.util
Implementation of a kd-tree for k = 2.
KDTree(List<Point2D>) - Constructor for class dev.roanh.convexmerger.util.KDTree
Constructs a new kd-tree for the given point set.
KDTree(KDTree<T>, List<Point2D>, boolean) - Constructor for class dev.roanh.convexmerger.util.KDTree
Constructs a new child kd-tree node with the given parent node, point set to build a sub tree with and axis to split on.
KEY_WIDTH - Static variable in class dev.roanh.convexmerger.ui.InfoMenu
Width of a keyboard key frame.
keyPressed(KeyEvent) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 
keyReleased(KeyEvent) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 
KEYS_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.InfoMenu
Height of the shortcuts box.
keyTyped(KeyEvent) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 

L

last - Variable in class dev.roanh.convexmerger.animation.ScoreAnimation
Timestamp the last animation frame was rendered.
lastDepth - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.SearchAnimation
The depth visualised in the last animation frame.
lastHost - Static variable in class dev.roanh.convexmerger.ui.JoinMenu
Last used host name.
lastHostName - Static variable in class dev.roanh.convexmerger.ui.HostMenu
Last name used by the host.
lastLocation - Variable in class dev.roanh.convexmerger.ui.ConvexMerger
Window location before switching to full screen.
lastLocation - Variable in class dev.roanh.convexmerger.ui.Screen
Last mouse location.
lastName - Static variable in class dev.roanh.convexmerger.ui.JoinMenu
Last used player name.
lastSize - Variable in class dev.roanh.convexmerger.ui.ConvexMerger
Window size before switching to full screen.
latestBox - Variable in class dev.roanh.convexmerger.ui.InfoMenu
Bounds of the latest version link.
left - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
The bounds for the left button.
left - Variable in class dev.roanh.convexmerger.util.ConjugationTree
The left child node of this node (containing CCW -1 points).
left - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
The left child of the vertex in the search structure.
leftOn - Variable in class dev.roanh.convexmerger.util.ConjugationTree.ConjugateData
The point from the left point set defining the conjugate line, possibly null if the left point set was empty.
leftPoints - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
The points that bound the trapezoid from the left.
leftPoly - Variable in class dev.roanh.convexmerger.ui.Screen
Bottom left button polygon.
LIGHTEN - Static variable in class dev.roanh.convexmerger.ui.Theme
Lighten new game screen color.
Line(Point2D, Point2D) - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Constructs a new line with the given end points.
LINE_DURATION - Static variable in class dev.roanh.convexmerger.animation.MergeAnimation
Number of milliseconds the merge line drawing phase lasts for.
lines - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition
All line segments ever added into the vertical decomposition.
LineSegment(Line2D) - Constructor for class dev.roanh.convexmerger.util.SegmentPartitionTree.LineSegment
Constructs a new line segment from the given line.
LineSegment(Point2D, Point2D) - Constructor for class dev.roanh.convexmerger.util.SegmentPartitionTree.LineSegment
Constructs a new line segment with the given end points.
LINK_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Hyper link color.
list - Variable in class dev.roanh.convexmerger.ui.ComboBox
The bounds for the drop down list of this combo box.
listener - Variable in class dev.roanh.convexmerger.game.PlayfieldGenerator
Listener to notify of generation progress.
listener - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Listener called when the selected button changes.
listeners - Variable in class dev.roanh.convexmerger.game.GameState
Listeners subscribed for gamestate events.
loadImage(InputStream, int, Color) - Static method in class dev.roanh.convexmerger.ui.Theme
Loads an image from the given input stream, resizes it to the given size and recolours it with the given color.
loc - Variable in class dev.roanh.convexmerger.animation.ClaimAnimation
The point that was clicked to claim the convex object.
local - Variable in class dev.roanh.convexmerger.player.Player
Whether this player is local or acting as remote proxy.
LocalPlayer - Class in dev.roanh.convexmerger.player
AI that focuses on maximising local area gain.
LocalPlayer() - Constructor for class dev.roanh.convexmerger.player.LocalPlayer
Constructs a new local player (Elaina).
LocalPlayer(String) - Constructor for class dev.roanh.convexmerger.player.LocalPlayer
Constructs a new local player with the given name.
lost - Variable in class dev.roanh.convexmerger.net.PlayerProxy
Whether the connection to the player this proxy represents was lost.
lost - Variable in class dev.roanh.convexmerger.player.RemotePlayer
True if the connection to the remote player was lost.
low - Variable in class dev.roanh.convexmerger.util.KDTree
The low child of this kd-tree.

M

Main - Class in dev.roanh.convexmerger
Main entry point for the application.
Main() - Constructor for class dev.roanh.convexmerger.Main
 
main(String[]) - Static method in class dev.roanh.convexmerger.Main
Main subroutine that starts the game.
MAIN_MENU_BUTTON - Static variable in class dev.roanh.convexmerger.ui.Theme
Result screen main menu button text color.
MAIN_MENU_BUTTON_HOVER - Static variable in class dev.roanh.convexmerger.ui.Theme
Result screen main menu button hover text color.
MainMenu - Class in dev.roanh.convexmerger.ui
Game main menu screen.
MainMenu(ConvexMerger) - Constructor for class dev.roanh.convexmerger.ui.MainMenu
Constructs a new main menu with the given game context.
marked - Variable in class dev.roanh.convexmerger.util.PartitionTree
Whether this partition tree is marked or not, used for animation.
marked - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.LineSegment
Whether this segment is marked, used for animation.
MAX_WIDTH - Static variable in class dev.roanh.convexmerger.ui.InfoMenu
Maximum width used by the boxes.
MAX_WIDTH - Static variable in class dev.roanh.convexmerger.ui.JoinMenu
Maximum width used by the boxes.
MAX_WIDTH - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu
Maximum width used by the boxes.
MAX_WIDTH - Static variable in class dev.roanh.convexmerger.ui.ResultOverlay
Maximum width of the information part of the menu.
maxDepth - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.SearchAnimation
The lowest depth searched by the search.
MENU_BODY - Static variable in class dev.roanh.convexmerger.ui.Theme
Playfield menu/score display area background.
menuBounds - Variable in class dev.roanh.convexmerger.ui.ResultOverlay
The bounds of the main menu button if present.
merge(ConvexObject) - Method in class dev.roanh.convexmerger.game.ConvexObject
Merges this object with the given object.
merge(GameState, ConvexObject) - Method in class dev.roanh.convexmerger.game.ConvexObject
Attempts to merge this object with the given object while checking that the boundary of the resulting merged object does not intersect any other objects in the given game state.
merge(GameState, ConvexObject, boolean) - Method in class dev.roanh.convexmerger.game.ConvexObject
Attempts to merge this object with the given object while checking that the boundary of the resulting merged object does not intersect any other objects in the given game state.
merge(Player, ConvexObject, ConvexObject, ConvexObject, List<ConvexObject>) - Method in interface dev.roanh.convexmerger.game.GameStateListener
Called when a player performs a merge.
merge(Player, ConvexObject, ConvexObject, ConvexObject, List<ConvexObject>) - Method in class dev.roanh.convexmerger.net.ClientConnection
 
merge(Player, ConvexObject, ConvexObject, ConvexObject, List<ConvexObject>) - Method in class dev.roanh.convexmerger.net.InternalServer
 
merge(Player, ConvexObject, ConvexObject, ConvexObject, List<ConvexObject>) - Method in class dev.roanh.convexmerger.ui.GamePanel
 
merge(Player, ConvexObject, ConvexObject, ConvexObject, List<ConvexObject>) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
 
MergeAnimation - Class in dev.roanh.convexmerger.animation
Animation that plays when two objects are merged into a single object (along with contained objects).
MergeAnimation(ConvexObject, ConvexObject, ConvexObject, List<ConvexObject>) - Constructor for class dev.roanh.convexmerger.animation.MergeAnimation
Constructs a new merge animation with the given event data.
mergeHulls(List<Point2D>, List<Point2D>, Point2D[]) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Merges the two given convex objects into a joint convex hull encompassing all points in both original objects.
mergeLines - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
The merge lines used to construct the result object.
mergeObjects(ConvexObject, ConvexObject) - Method in class dev.roanh.convexmerger.game.GameState
Attempts to merge the given two convex objects.
MergeOption(ConvexObject, ConvexObject, double) - Constructor for class dev.roanh.convexmerger.player.Player.MergeOption
Constructs a new merge option with the given objects and area gain.
merges - Variable in class dev.roanh.convexmerger.player.Player.PlayerStats
Number of merges performed by this player.
message - Variable in class dev.roanh.convexmerger.game.ClaimResult
Message returned for invalid moves.
message - Variable in enum dev.roanh.convexmerger.ui.MessageDialog
The message for this dialog.
MessageDialog - Enum in dev.roanh.convexmerger.ui
Enum of feedback messages shown to the player.
MessageDialog(String, String) - Constructor for enum dev.roanh.convexmerger.ui.MessageDialog
Constructs a new message dialog with the given title and feedback message.
middle - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
The bounds for the middle button.
MIN_SIZE - Static variable in class dev.roanh.convexmerger.Constants
Minimum frame size scaling factor
MIN_TURN_TIME - Static variable in class dev.roanh.convexmerger.Constants
Minimum number of milliseconds any turn should take.
mouseClicked(MouseEvent) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 
mouseDragged(MouseEvent) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 
mouseEntered(MouseEvent) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 
mouseExited(MouseEvent) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 
mouseMoved(MouseEvent) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 
mousePressed(MouseEvent) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 
mouseReleased(MouseEvent) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 
MoveType() - Constructor for enum dev.roanh.convexmerger.net.packet.PacketPlayerMove.MoveType
 
msg - Variable in enum dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject.RejectReason
The help text for this reason.
msg - Variable in class dev.roanh.convexmerger.ui.JoinMenu
Current status message.

N

name - Variable in class dev.roanh.convexmerger.net.packet.PacketPlayerJoin
The name of the player that wants to join.
name - Variable in class dev.roanh.convexmerger.net.PlayerProxy
The name of the player this proxy represents.
name - Variable in enum dev.roanh.convexmerger.player.AIRegistry
The name of this AI.
name - Variable in class dev.roanh.convexmerger.player.Player
The name for this player.
name - Variable in class dev.roanh.convexmerger.ui.JoinMenu
Player name input field.
name - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Text field used to configure a human player.
neighbours - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
The neighbouring trapezoids of the trapezoid.
newBot(VerticalDecomposition.Trapezoid, VerticalDecomposition.Line) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Creates a new trapezoid from the part of a given trapezoid that lies below a given segment.
newGame - Variable in class dev.roanh.convexmerger.ui.ConvexMerger
Cached new game menu to persist settings.
NewGameMenu - Class in dev.roanh.convexmerger.ui
Menu used to configure and start a new game.
NewGameMenu(ConvexMerger) - Constructor for class dev.roanh.convexmerger.ui.NewGameMenu
Constructs a new new game menu with the given game context.
NewGameMenu.ButtonAssembly - Class in dev.roanh.convexmerger.ui
Assembly of three mutually exclusive buttons.
NewGameMenu.PlayerPanel - Class in dev.roanh.convexmerger.ui
Panel to configure a new AI or human player.
newThread(Runnable) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 
newTop(VerticalDecomposition.Trapezoid, VerticalDecomposition.Line) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Creates a new trapezoid from the part of a given trapezoid that lies above a given segment.
nextClaim - Variable in class dev.roanh.convexmerger.player.HumanPlayer
The objected selected by the player as the next object to claim.
nextID - Variable in class dev.roanh.convexmerger.net.InternalServer.ServerThread
The ID to assign to the next valid player.

O

obj - Variable in class dev.roanh.convexmerger.animation.ClaimAnimation
The convex object that was claimed.
objects - Variable in class dev.roanh.convexmerger.animation.ProxyAnimation
List of objects to render.
objects - Variable in class dev.roanh.convexmerger.game.GameState
The convex objects in this game.
objects - Variable in class dev.roanh.convexmerger.net.packet.PacketGameInit
The convex objects for this game.
objects - Variable in class dev.roanh.convexmerger.ui.MainMenu
Main menu show case objects.
of(MessageDialog) - Static method in class dev.roanh.convexmerger.game.ClaimResult
Constructs a new claim result with the given feedback message.
of(ConvexObject) - Static method in class dev.roanh.convexmerger.game.ClaimResult
Constructs a new claim result with the given claim result.
on - Variable in class dev.roanh.convexmerger.util.ConjugationTree
The points in this cell on the bisector line.
onFocusLost() - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
onFocusLost() - Method in interface dev.roanh.convexmerger.ui.TextField.FocusLossListener
Called when the text field loses user focus.
onLine(Point2D, Point2D, Point2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Checks if the given point p is on the closed line segment between a and b.
onTextChange(String) - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
onTextChange(String) - Method in interface dev.roanh.convexmerger.ui.TextField.TextChangeListener
Called when the text field content changes.
orientedLine(Point2D, Point2D) - Static method in class dev.roanh.convexmerger.util.ConjugationTree
Create an oriented line segment given two points.
orientedLine(Point2D, Point2D) - Static method in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Create an oriented line segment given two points.
orientedSegments - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition
The list of segments that have been added to the decomposition.
original - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.LineSegment
The line segment this line segment was derived from or null if this line segment was not derived.
out - Variable in class dev.roanh.convexmerger.net.Connection
The output stream for this connection.
outline - Variable in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Player theme object outline color.
overlapsLine(Line2D, Line2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Checks if the given test line segment fully overlaps the given line segment.
OVERLAY_BACKGROUND - Static variable in class dev.roanh.convexmerger.ui.Theme
Color used to darken the playfield when on the result screen.
owned - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
The already owned object in the merge.
owner - Variable in class dev.roanh.convexmerger.game.ConvexObject
The player that owns this object.
owns(ConvexObject) - Method in class dev.roanh.convexmerger.player.Player
Checks if this player owns the given object.

P

p1 - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Configuration for player 1.
p1 - Variable in class dev.roanh.convexmerger.util.Segment
First end point of the line.
p1Clipped - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.LineSegment
Whether the first end point of this line was clipped, meaning the original line segment continues beyond the new first end point.
p2 - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Configuration for player 2.
p2 - Variable in class dev.roanh.convexmerger.util.Segment
Second end point of the line.
p2Clipped - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.LineSegment
Whether the second end point of this line was clipped, meaning the original line segment continues beyond the new second end point.
p3 - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Configuration for player 3.
p4 - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Configuration for player 4.
Packet - Interface in dev.roanh.convexmerger.net.packet
Interface for packets that get sent across the network.
PacketGameEnd - Class in dev.roanh.convexmerger.net.packet
Packet sent when the game ends.
PacketGameEnd() - Constructor for class dev.roanh.convexmerger.net.packet.PacketGameEnd
 
PacketGameInit - Class in dev.roanh.convexmerger.net.packet
Packet sent when the game starts.
PacketGameInit(List<ConvexObject>, String, List<Player>) - Constructor for class dev.roanh.convexmerger.net.packet.PacketGameInit
Constructs a new game init packet with the given objects and players.
PacketPlayerJoin - Class in dev.roanh.convexmerger.net.packet
Packet sent when a players wants to join a game.
PacketPlayerJoin(String, String) - Constructor for class dev.roanh.convexmerger.net.packet.PacketPlayerJoin
Constructs a new player join packet.
PacketPlayerJoinAccept - Class in dev.roanh.convexmerger.net.packet
Packet sent when a player is accepted into a game.
PacketPlayerJoinAccept(int) - Constructor for class dev.roanh.convexmerger.net.packet.PacketPlayerJoinAccept
Constructs a new join accept packet with the given assigned ID for the joining player.
PacketPlayerJoinReject - Class in dev.roanh.convexmerger.net.packet
Packet sent when a player is not accepted into a game.
PacketPlayerJoinReject(PacketPlayerJoinReject.RejectReason) - Constructor for class dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject
Constructs a new join reject packet with the given reason.
PacketPlayerJoinReject.RejectReason - Enum in dev.roanh.convexmerger.net.packet
Enum of join reject reasons.
PacketPlayerMove - Class in dev.roanh.convexmerger.net.packet
Packet sent when a player finishes their move.
PacketPlayerMove() - Constructor for class dev.roanh.convexmerger.net.packet.PacketPlayerMove
Constructs a new player move no more remaining moves being available to the player.
PacketPlayerMove(Player, ConvexObject) - Constructor for class dev.roanh.convexmerger.net.packet.PacketPlayerMove
Constructs a new player move packet for a claim with the given data.
PacketPlayerMove(Player, ConvexObject, ConvexObject) - Constructor for class dev.roanh.convexmerger.net.packet.PacketPlayerMove
Constructs a new player move packet for a merge with the given data.
PacketPlayerMove(Player, ConvexObject, ConvexObject, PacketPlayerMove.MoveType) - Constructor for class dev.roanh.convexmerger.net.packet.PacketPlayerMove
Constructs a new player move packet with the given data.
PacketPlayerMove.MoveType - Enum in dev.roanh.convexmerger.net.packet
Player move types.
PacketRegistry - Enum in dev.roanh.convexmerger.net.packet
Enum of all packet types.
PacketRegistry() - Constructor for enum dev.roanh.convexmerger.net.packet.PacketRegistry
 
paintComponent(Graphics) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
 
parent - Variable in class dev.roanh.convexmerger.util.ConjugationTree
The parent node of this tree node.
parent - Variable in class dev.roanh.convexmerger.util.KDTree
The parent kd-tree this kd-tree is a cell in.
partitions - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree
The partition tree used for store points for this segment partition tree.
PartitionTree<T,S extends PartitionTree<T,S>> - Class in dev.roanh.convexmerger.util
Abstract base class for partition tree implementations.
PartitionTree() - Constructor for class dev.roanh.convexmerger.util.PartitionTree
 
partitionVisitor - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree
A search function that can be used to traverse the used partition tree.
pink - Static variable in class dev.roanh.convexmerger.animation.ExampleAnimation
First player.
player - Variable in class dev.roanh.convexmerger.animation.ScoreAnimation
Player whose score to display.
player - Variable in class dev.roanh.convexmerger.net.packet.PacketPlayerMove
The player that made the move.
Player - Class in dev.roanh.convexmerger.player
Abstract base class for player instances.
Player(boolean, boolean, String) - Constructor for class dev.roanh.convexmerger.player.Player
Constructs a new player instance.
player - Variable in class dev.roanh.convexmerger.ui.HostMenu.RemotePanel
The remote player associated with this panel.
Player.MergeOption - Class in dev.roanh.convexmerger.player
Class describing a possible merge that a player could perform.
Player.PlayerStats - Class in dev.roanh.convexmerger.player
Class holding various game related player statistics.
PLAYER_ADD - Static variable in class dev.roanh.convexmerger.ui.Theme
Player add image.
PLAYER_ADD_HIGHLIGHT - Static variable in class dev.roanh.convexmerger.ui.Theme
Player add image when highlighted.
PLAYER_ICON_SIZE - Static variable in class dev.roanh.convexmerger.ui.Theme
Dimensions of the player icon.
PLAYER_ICON_SIZE_SMALL - Static variable in class dev.roanh.convexmerger.ui.Theme
Dimensions of the small player icon.
PLAYER_TEXT_OFFSET - Static variable in class dev.roanh.convexmerger.ui.GamePanel
Number of pixels from the left text border to the player info.
PlayerPanel(Theme.PlayerTheme) - Constructor for class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Constructs a new player panel with the given theme.
PlayerProxy - Class in dev.roanh.convexmerger.net
Proxy representative of players across a connection.
PlayerProxy(Player) - Constructor for class dev.roanh.convexmerger.net.PlayerProxy
Constructs a new player proxy from the given player.
players - Variable in class dev.roanh.convexmerger.game.GameState
The players playing in this game.
players - Variable in class dev.roanh.convexmerger.net.packet.PacketGameInit
The players participating in this game.
PlayerStats() - Constructor for class dev.roanh.convexmerger.player.Player.PlayerStats
 
PlayerTheme(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int) - Constructor for enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Constructs a new player theme with the given colours.
PlayerTheme(int, int, int, int, int, int, int, int, int, int, int, int) - Constructor for enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Constructs a new player theme with the given colours.
PlayerTheme(int, int, int, int, int, int, int, int, int, int, int, int, Color) - Constructor for enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Constructs a new player theme with the given colours.
PLAYFIELD_HEIGHT - Static variable in class dev.roanh.convexmerger.Constants
The playfield height (from 0 to 900).
PLAYFIELD_WIDTH - Static variable in class dev.roanh.convexmerger.Constants
The playfield height (from 0 to 1600).
PlayfieldGenerator - Class in dev.roanh.convexmerger.game
Generator to generate a playfield of randomly placed convex objects on a rectangular plane.
PlayfieldGenerator() - Constructor for class dev.roanh.convexmerger.game.PlayfieldGenerator
Constructs a new playfield generator with a random seed, range of 0-100, coverage of 0.2745 and scale of 0.78.
PlayfieldGenerator(String) - Constructor for class dev.roanh.convexmerger.game.PlayfieldGenerator
Constructs a new playfield generate with the given seed.
PlayfieldGenerator.GeneratorProgressListener - Interface in dev.roanh.convexmerger.game
Listener interface for classes that want to informed of playfield generation progress.
point - Variable in class dev.roanh.convexmerger.util.KDTree
The point defining the line splitting this kd-tree cell into a low and high cell.
point - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
The point of this structure.
point - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
If the vertex represents a point, it points to it.
pointInside(double, double) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Checks whether a point given by its coordinates is strictly inside a trapezoid.
pointInside(Point2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Checks whether a given point is strictly inside a trapezoid.
points - Variable in class dev.roanh.convexmerger.game.ConvexObject
The points that make up this convex object, starting with the left most point in counter clockwise order.
points - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition
The list of points added to the decomposition.
POLY_STROKE - Static variable in class dev.roanh.convexmerger.ui.Theme
Stroke used to draw the outline of playfield convex objects.
PORT - Static variable in class dev.roanh.convexmerger.Constants
Multiplayer server port.
prev - Variable in class dev.roanh.convexmerger.ui.InfoMenu
The screen to switch to after this screen is closed.
PRIDI_MEDIUM_10 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi medium font with size 10, used for graph markers.
PRIDI_MEDIUM_12 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi medium font with size 12, used for titled borders.
PRIDI_MEDIUM_13 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi medium font with size 13, used for bar chart scores.
PRIDI_MEDIUM_14 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi medium font with size 14, used for text fields.
PRIDI_MEDIUM_16 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi medium font with size 16, used for bar chart names and result overlay stats.
PRIDI_MEDIUM_24 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi medium font with size 24, used for playfield player names.
PRIDI_MEDIUM_30 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi medium font with size 30, used for the info menu title.
PRIDI_MEDIUM_36 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi medium font with size 36, used for the result overlay title.
PRIDI_REGULAR_12 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi regular font with size 12, used for the rules.
PRIDI_REGULAR_14 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi regular font with size 14, used for the rules.
PRIDI_REGULAR_16 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi regular font with size 18, used for the playfield hint.
PRIDI_REGULAR_18 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi regular font with size 16, used for the playfield hint.
PRIDI_REGULAR_24 - Static variable in class dev.roanh.convexmerger.ui.Theme
Pridi regular font with size 24, used for buttons.
PRIMARY_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Color used for the result screen divider and graph markers.
progress - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Playfield generation progress (0~1).
ProxyAnimation - Class in dev.roanh.convexmerger.animation
Animation that renders the object it is initialised with.
ProxyAnimation(RenderableObject...) - Constructor for class dev.roanh.convexmerger.animation.ProxyAnimation
Constructs a new proxy animation with the given list of objects to render.
ProxyAnimation(RenderableObject, RenderableObject, List<? extends RenderableObject>) - Constructor for class dev.roanh.convexmerger.animation.ProxyAnimation
Constructs a new proxy animation with the given objects to render.

Q

query - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.SearchAnimation
The search query line.
queryObject(double, double) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Queries the convex object that is at the given position.
queryPoint(Point2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Queries which trapezoid a point lies in.
queryTrapezoid(double, double) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Queries the trapezoid that is at the given position.
queryTrapezoid(Point2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Queries the trapezoid that is at the given position.
quit - Variable in class dev.roanh.convexmerger.ui.MainMenu
Bounds of the quit button.
quitNo - Variable in class dev.roanh.convexmerger.ui.GamePanel
Quit dialog no button.
quitYes - Variable in class dev.roanh.convexmerger.ui.GamePanel
Quit dialog yes button.

R

random - Variable in class dev.roanh.convexmerger.game.PlayfieldGenerator
Local random instance to use the generate the playfield.
RANGE_VALUES_MAX - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu
Raw maximum range values associated with the object size buttons.
RANGE_VALUES_MIN - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu
Raw minimum range values associated with the object size buttons.
rangeMax - Variable in class dev.roanh.convexmerger.game.PlayfieldGenerator
Maximum object size.
rangeMin - Variable in class dev.roanh.convexmerger.game.PlayfieldGenerator
Minimum object size.
readPacket() - Method in class dev.roanh.convexmerger.net.Connection
Reads a new packet from the connection.
ready() - Method in class dev.roanh.convexmerger.game.GameState
Checks if the game state is ready to handle the next turn.
reason - Variable in class dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject
They ID of the reject reason.
registerStateListener(GameStateListener) - Method in class dev.roanh.convexmerger.game.GameState
Registers a listener to receive game status updates.
RejectReason(int, String) - Constructor for enum dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject.RejectReason
Constructs a new reject reason with the given ID and text.
RemotePanel(Theme.PlayerTheme, Player) - Constructor for class dev.roanh.convexmerger.ui.HostMenu.RemotePanel
Constructs a new remote panel for the given player.
RemotePlayer - Class in dev.roanh.convexmerger.player
Proxy representative for a player playing on a remote system.
RemotePlayer(Connection, boolean, String) - Constructor for class dev.roanh.convexmerger.player.RemotePlayer
Constructs a new remote player with the given player connection, AI status and name.
remove - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Bounds of the remove button.
REMOVE_BUTTON_HIGHLIGHT - Static variable in class dev.roanh.convexmerger.ui.Theme
Remove button highlight color.
REMOVE_ICON - Static variable in class dev.roanh.convexmerger.ui.Theme
Remove icon.
REMOVE_ICON_HIGHLIGHT - Static variable in class dev.roanh.convexmerger.ui.Theme
Remove icon when highlighted.
REMOVE_ICON_SIZE - Static variable in class dev.roanh.convexmerger.ui.Theme
Size of the remove thrash can icon.
removeArea(double) - Method in class dev.roanh.convexmerger.player.Player
Removes some claimed area from this player.
removeFocus() - Method in class dev.roanh.convexmerger.ui.TextField
Removes the focus from this text field.
removeNeighbour(VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Removes a neighbour from the list of neighbours.
removePoint(VerticalDecomposition.DecompositionPoint) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Removes a decomposition point from the list of decomposition points.
removeSegment(VerticalDecomposition.Line) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
Removes a segment from the list of segments that this point is part of.
removeTrapAbove(VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Removes a given trapezoid from the list of trapezoids above this line.
removeTrapBelow(VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Removes a given trapezoid from the list of trapezoids below this line.
removeTrapezoid(VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Removes a trapezoid from the structure, freeing its neighbours and disassociating it from its decomposition vertex.
render(Graphics2D) - Method in class dev.roanh.convexmerger.animation.Animation
Renders the next frame of this animation.
render(Graphics2D) - Method in class dev.roanh.convexmerger.animation.CalliperAnimation
 
render(Graphics2D) - Method in class dev.roanh.convexmerger.animation.ClaimAnimation
 
render(Graphics2D) - Method in class dev.roanh.convexmerger.animation.ExampleAnimation
 
render(Graphics2D) - Method in class dev.roanh.convexmerger.animation.MergeAnimation
 
render(Graphics2D) - Method in class dev.roanh.convexmerger.animation.ProxyAnimation
 
render(Graphics2D) - Method in class dev.roanh.convexmerger.animation.RenderableObject
Renders this object.
render(Graphics2D) - Method in class dev.roanh.convexmerger.animation.ScoreAnimation
 
render(Graphics2D) - Method in class dev.roanh.convexmerger.game.ConvexObject
 
render(Graphics2D, double, double, double, double, Point2D) - Method in class dev.roanh.convexmerger.ui.ComboBox
Renders this combo box according to the given parameters.
render(Graphics2D, int, int, Point2D) - Method in class dev.roanh.convexmerger.ui.GamePanel
 
render(Graphics2D, int, int, Point2D) - Method in class dev.roanh.convexmerger.ui.InfoMenu
 
render(Graphics2D, int, int, Point2D) - Method in class dev.roanh.convexmerger.ui.JoinMenu
 
render(Graphics2D, int, int, Point2D) - Method in class dev.roanh.convexmerger.ui.MainMenu
 
render(Graphics2D, Shape, Theme.PlayerTheme) - Method in class dev.roanh.convexmerger.ui.MainMenu
Renders the given shape in the convex object style.
render(Graphics2D, double, double, double, Point2D) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Renders this button assembly at the given location.
render(Graphics2D, double, double, Point2D) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Renders this panel at the given location.
render(Graphics2D, int, int, Point2D) - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 
render(Graphics2D, int, int, Point2D) - Method in class dev.roanh.convexmerger.ui.ResultOverlay
Renders this overlay if it is enabled.
render(Graphics2D, int, int) - Method in class dev.roanh.convexmerger.ui.Screen
Renders this screen with the given graphics and dimensions.
render(Graphics2D, int, int, Point2D) - Method in class dev.roanh.convexmerger.ui.Screen
Renders the content of this screen with the given graphics.
render(Graphics2D, double, double, double, double) - Method in class dev.roanh.convexmerger.ui.TextField
Renders this text field.
render(Graphics2D) - Method in class dev.roanh.convexmerger.util.ConjugationTree
 
render(Graphics2D) - Method in class dev.roanh.convexmerger.util.KDTree
 
render(Graphics2D) - Method in class dev.roanh.convexmerger.util.PartitionTree
 
render(Graphics2D) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree
 
render(Graphics2D) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree.SearchAnimation
 
render(Graphics2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
 
RenderableObject - Class in dev.roanh.convexmerger.animation
Represents an object that can be rendered and animated.
RenderableObject() - Constructor for class dev.roanh.convexmerger.animation.RenderableObject
 
renderAddButtons(Graphics2D, double, double, Point2D) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Renders the add player/AI buttons at the given location.
renderBars(Graphics2D, int) - Method in class dev.roanh.convexmerger.ui.ResultOverlay
Renders the bar chart shown on the result screen.
renderBorder(Graphics2D, float, float, float, float, String) - Method in class dev.roanh.convexmerger.ui.ResultOverlay
Renders a titled border with the given location, dimensions and title.
renderCredits(Graphics2D, Paint, double, double, double, double) - Method in class dev.roanh.convexmerger.ui.InfoMenu
Renders the credits box.
renderer - Variable in class dev.roanh.convexmerger.ui.ConvexMerger
The renderer rending the active game screen.
renderExample(Graphics2D, Paint, double, double, double, double) - Method in class dev.roanh.convexmerger.ui.InfoMenu
Renders the example box.
renderGraph(Graphics2D, int) - Method in class dev.roanh.convexmerger.ui.ResultOverlay
Renders the graph shown on the result screen.
renderInterface(Graphics2D, int, int) - Method in class dev.roanh.convexmerger.ui.GamePanel
Renders the user interface with the given graphics.
renderKeys(Graphics2D, Paint, double, double, double, double) - Method in class dev.roanh.convexmerger.ui.InfoMenu
Renders the shortcuts box.
renderMainInterface(Graphics2D, int, int, GameState) - Method in class dev.roanh.convexmerger.ui.Screen
Renders the main interface, the top panel and button left and right buttons.
renderMenuTitle(Graphics2D, int, String) - Method in class dev.roanh.convexmerger.ui.Screen
Renders a screen sub title.
renderOrAnimate(Graphics2D) - Method in class dev.roanh.convexmerger.animation.RenderableObject
Renders this object or runs its animation if it has one set.
renderPlayfield(Graphics2D, int, int) - Method in class dev.roanh.convexmerger.ui.GamePanel
Renders the playfield with the given graphics.
renderRemoveButton(Graphics2D, double, double, Point2D) - Method in class dev.roanh.convexmerger.ui.HostMenu.HostPanel
 
renderRemoveButton(Graphics2D, double, double, Point2D) - Method in class dev.roanh.convexmerger.ui.HostMenu.RemotePanel
 
renderRemoveButton(Graphics2D, double, double, Point2D) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Renders the remove button at the given location.
renderRules(Graphics2D, Paint, double, double, double, double) - Method in class dev.roanh.convexmerger.ui.InfoMenu
Renders the rules box.
renderStats(Graphics2D, int) - Method in class dev.roanh.convexmerger.ui.ResultOverlay
Renders the statistics shown on the result screen.
renderVersion(Graphics2D, Paint, double, double, double, double, Point2D) - Method in class dev.roanh.convexmerger.ui.InfoMenu
Renders the version box.
replaceOverlappedSegment(VerticalDecomposition.Line, VerticalDecomposition.Line) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Replaces a given line segment and line segments between its end points and points collinear with the line, with a segment that overlaps the union of the shorter line segments.
requireInput() - Method in class dev.roanh.convexmerger.player.HumanPlayer
Checks if this player currently requires input via the UI.
reset() - Method in class dev.roanh.convexmerger.ui.NewGameMenu
Resets this menu keeping the selected options but resetting that the game was started.
result - Static variable in class dev.roanh.convexmerger.animation.ExampleAnimation
The result of merging the first and third object.
result - Variable in class dev.roanh.convexmerger.game.ClaimResult
The newly claimed or created convex object as a result of the claim that was made.
resultOverlay - Variable in class dev.roanh.convexmerger.ui.GamePanel
Result overlay.
ResultOverlay - Class in dev.roanh.convexmerger.ui
Overlay that shows at the end of a game with a lot of stats.
ResultOverlay(GameState) - Constructor for class dev.roanh.convexmerger.ui.ResultOverlay
Constructs a new result overlay for the given game.
ResultOverlay.AveragePlayer - Class in dev.roanh.convexmerger.ui
Dummy player instance that averages play results.
RESULTS_STROKE - Static variable in class dev.roanh.convexmerger.ui.Theme
Stroke used for borders on the result screen.
right - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
The bounds for the right button.
right - Variable in class dev.roanh.convexmerger.util.ConjugationTree
The right child node of this node (containing CCW 1 points).
right - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
The right child of the vertex in the search structure.
rightOn - Variable in class dev.roanh.convexmerger.util.ConjugationTree.ConjugateData
The point from the right point set defining the conjugate line, possibly null if the left point set was empty.
rightPoints - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
The points that bound the trapezoid from the right.
rightPoly - Variable in class dev.roanh.convexmerger.ui.Screen
Bottom right button polygon.
ROUND_RADIUS - Static variable in class dev.roanh.convexmerger.ui.ResultOverlay
Bar chart bar corner rounding radius.
rules - Static variable in class dev.roanh.convexmerger.ui.InfoMenu
Strings in the rules box.
run(Graphics2D) - Method in class dev.roanh.convexmerger.animation.Animation
Renders the next frame of the animation.
run() - Method in class dev.roanh.convexmerger.net.InternalServer.ServerThread
 
run() - Method in class dev.roanh.convexmerger.ui.ConvexMerger.GameThread
 
runAnimation(Graphics2D) - Method in class dev.roanh.convexmerger.animation.RenderableObject
Renders the animation for this convex object using the given graphics instance.
running - Variable in class dev.roanh.convexmerger.net.InternalServer.ServerThread
Whether the server is running and accepting new connections.

S

sanitizeNeighbours() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Removes undesired neighbourhoods of trapezoids.
scale(double) - Method in class dev.roanh.convexmerger.game.ConvexObject
Scales this object by the given scaling factor.
scale - Variable in class dev.roanh.convexmerger.game.PlayfieldGenerator
Object scaling factor.
scaleNum - Variable in class dev.roanh.convexmerger.game.PlayfieldGenerator
Scaling value in range 0-255.
SCALING_VALUES - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu
Raw scaling values associated with the spacing buttons.
SCORE_COLOR - Static variable in class dev.roanh.convexmerger.ui.Theme
Playfield player score color.
SCORE_COLOR_LEAD - Static variable in class dev.roanh.convexmerger.ui.Theme
Playfield leading player score color.
SCORE_PER_MS - Static variable in class dev.roanh.convexmerger.animation.ScoreAnimation
Number of score points to add each millisecond.
ScoreAnimation - Class in dev.roanh.convexmerger.animation
Animation that shows the player score increasing or decreasing.
ScoreAnimation(Player) - Constructor for class dev.roanh.convexmerger.animation.ScoreAnimation
Constructs a new score animation for the given player.
scoreAnimation - Variable in class dev.roanh.convexmerger.player.Player
The score animation for this player.
scoreHistory - Variable in class dev.roanh.convexmerger.player.Player.PlayerStats
Player score at the end of each turn.
Screen - Class in dev.roanh.convexmerger.ui
Base class for all screens containing shared rendering subroutines.
Screen(ConvexMerger) - Constructor for class dev.roanh.convexmerger.ui.Screen
Constructs a new screen with the given game context.
screen - Variable in class dev.roanh.convexmerger.ui.ScreenRenderer
The active screen to render.
ScreenRenderer - Class in dev.roanh.convexmerger.ui
Main game renderer responsible for rendering screens.
ScreenRenderer(Screen) - Constructor for class dev.roanh.convexmerger.ui.ScreenRenderer
Constructs a new screen renderer with the given initial screen to render.
SearchAnimation(SegmentPartitionTree.LineSegment) - Constructor for class dev.roanh.convexmerger.util.SegmentPartitionTree.SearchAnimation
Constructs a new search animation with the given query line.
searchStructure - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition
The search structure of the decomposition.
second - Variable in class dev.roanh.convexmerger.animation.CalliperAnimation
The second object in the merge.
second - Static variable in class dev.roanh.convexmerger.animation.ExampleAnimation
Middle object.
second - Variable in class dev.roanh.convexmerger.player.Player.MergeOption
The target object in the merge.
secondAngle - Variable in class dev.roanh.convexmerger.animation.CalliperAnimation
The angle of the second merge line.
secondInner - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
Path for the inner (internal after the merge) hull segment of the second object
secondInnerData - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
Points defining the inner hull segment of the second object.
secondLine - Variable in class dev.roanh.convexmerger.animation.CalliperAnimation
The second merge line.
secondOuter - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
Path for the outer (not internal after the merge) hull segment of the second object
seed - Variable in class dev.roanh.convexmerger.game.GameState
The seed of the generator that generated this game's playfield.
seed - Variable in class dev.roanh.convexmerger.game.PlayfieldGenerator
The random seed for this playfield generator.
seed - Variable in class dev.roanh.convexmerger.net.packet.PacketGameInit
The game seed.
seed - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Text field showing the game seed.
seedBounds - Variable in class dev.roanh.convexmerger.ui.ResultOverlay
The bounds of the seed display field.
Segment - Class in dev.roanh.convexmerger.util
A line segment instance with equality based on its end points.
Segment(Point2D, Point2D) - Constructor for class dev.roanh.convexmerger.util.Segment
Constructs a new line segment with the given end points.
segment - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
If the vertex represents a segment, it points to it.
SegmentPartitionTree<T extends PartitionTree<SegmentPartitionTree.LineSegment,T>> - Class in dev.roanh.convexmerger.util
Segment partition tree for efficient detection of line intersections with the stored line set.
SegmentPartitionTree(T, SegmentPartitionTree.VisitingFunction<T>) - Constructor for class dev.roanh.convexmerger.util.SegmentPartitionTree
Constructs a new segment partition tree with the given partitioning tree data structure.
SegmentPartitionTree.LineSegment - Class in dev.roanh.convexmerger.util
Represents a line segment between two end points.
SegmentPartitionTree.PartitionTreeVisitor<T extends PartitionTree<SegmentPartitionTree.LineSegment,T>> - Interface in dev.roanh.convexmerger.util
Interface for a function that nodes visited in a partition tree search are reported to.
SegmentPartitionTree.SearchAnimation - Class in dev.roanh.convexmerger.util
Implementation of a search animation with a segment in the tree.
SegmentPartitionTree.SegmentPartitionTreeConstructor<T extends PartitionTree<SegmentPartitionTree.LineSegment,T>> - Class in dev.roanh.convexmerger.util
A class that can create new instances of a segment partition tree based on a specific partition tree type.
SegmentPartitionTree.VisitingFunction<T extends PartitionTree<SegmentPartitionTree.LineSegment,T>> - Interface in dev.roanh.convexmerger.util
Interface for a function that can be used to search a partition tree.
SegmentPartitionTreeConstructor(Function<List<Point2D>, T>, SegmentPartitionTree.VisitingFunction<T>) - Constructor for class dev.roanh.convexmerger.util.SegmentPartitionTree.SegmentPartitionTreeConstructor
Constructs a new segment partition tree constructor.
segmentProjectionComparator(Line2D) - Static method in class dev.roanh.convexmerger.util.ConjugationTree
Sorts the points on the order of their projections onto a segment, from the direction of its first point to the direction of its second point.
segments - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree
The segments stored in this segment partition tree.
segments - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
The segments that this point bounds.
segmentTreeConj - Variable in class dev.roanh.convexmerger.game.GameState
The conjugation tree based segment intersection tree.
segmentTreeKD - Variable in class dev.roanh.convexmerger.game.GameState
The kd-tree based segment intersection tree.
segToObj - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition
Map of segments to the object above them or to null if that object is the playing field.
selected - Variable in class dev.roanh.convexmerger.game.GameState
The convex object currently selected by the player, or null if there is no selected object.
selected - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
The index of the currently selected button (0~2).
self - Variable in class dev.roanh.convexmerger.net.ClientConnection
The local player that wants to join.
self - Variable in class dev.roanh.convexmerger.ui.JoinMenu
Local player.
sendPacket(Packet) - Method in class dev.roanh.convexmerger.net.Connection
Sends a new packet over this connection.
serialVersionUID - Static variable in class dev.roanh.convexmerger.game.ConvexObject
Serial ID.
serialVersionUID - Static variable in class dev.roanh.convexmerger.net.packet.PacketGameEnd
Serial ID.
serialVersionUID - Static variable in class dev.roanh.convexmerger.net.packet.PacketGameInit
Serial ID.
serialVersionUID - Static variable in class dev.roanh.convexmerger.net.packet.PacketPlayerJoin
Serial ID.
serialVersionUID - Static variable in class dev.roanh.convexmerger.net.packet.PacketPlayerJoinAccept
Serial ID.
serialVersionUID - Static variable in class dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject
Serial ID.
serialVersionUID - Static variable in class dev.roanh.convexmerger.net.packet.PacketPlayerMove
Serial ID.
serialVersionUID - Static variable in class dev.roanh.convexmerger.net.PlayerProxy
Serial ID.
serialVersionUID - Static variable in class dev.roanh.convexmerger.ui.ScreenRenderer
Serial ID.
server - Variable in class dev.roanh.convexmerger.net.InternalServer.ServerThread
Main server socket.
server - Variable in class dev.roanh.convexmerger.ui.HostMenu
The multiplayer server.
ServerThread() - Constructor for class dev.roanh.convexmerger.net.InternalServer.ServerThread
Constructs a new server thread.
setAnimated(boolean) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Sets whether this segment partition tree is animated.
setAnimated(boolean) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition
Sets whether the vertical decomposition is animated and showing individual segment updates.
setAnimation(Animation) - Method in class dev.roanh.convexmerger.animation.RenderableObject
Sets the active animation for this convex object.
setCentred(boolean) - Method in class dev.roanh.convexmerger.ui.TextField
Sets whether the text in this text field should be centred.
setChangeListener(IntConsumer) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Sets the listener called when the selected button changes.
setChangeListener(TextField.TextChangeListener) - Method in class dev.roanh.convexmerger.ui.TextField
Sets the change listener for this text field.
setCoverage(int) - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Sets the minimum total area of the whole playfield that should be covered by convex objects before scaling.
setDecompVertex(VerticalDecomposition.DecompVertex) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Links the trapezoid to a Decomposition vertex.
setEnabled(boolean) - Method in class dev.roanh.convexmerger.ui.ResultOverlay
Enables or disables this overlay.
setFocusListener(TextField.FocusLossListener) - Method in class dev.roanh.convexmerger.ui.TextField
Sets the focus loss listener for this text field.
setForegroundColor(Color) - Method in class dev.roanh.convexmerger.ui.TextField
Sets the foreground (text) colour for this text field.
setGamePanel(GamePanel) - Method in class dev.roanh.convexmerger.player.HumanPlayer
Sets the game panel visualising the game this player is playing in.
setHuman(String) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Sets the player currently being configured to a human and activates the corresponding UI elements.
setID(int) - Method in class dev.roanh.convexmerger.game.ConvexObject
 
setID(int) - Method in interface dev.roanh.convexmerger.game.Identity
Sets the ID of this entity.
setID(int) - Method in class dev.roanh.convexmerger.player.Player
 
setLeftChild(VerticalDecomposition.DecompVertex) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Sets the right child of the vertex
setLine(double, double, double, double) - Method in class dev.roanh.convexmerger.util.Segment
 
setLocation(double, double) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompositionPoint
 
setMarked(boolean) - Method in class dev.roanh.convexmerger.util.PartitionTree
Sets whether this partition tree is marked or not.
setMessage(MessageDialog) - Method in class dev.roanh.convexmerger.ui.GamePanel
Sets the active display message for the game.
setName(String) - Method in class dev.roanh.convexmerger.player.Player
Sets the name of this player.
setOwner(Player) - Method in class dev.roanh.convexmerger.game.ConvexObject
Sets the player that owns this object.
setPoint(Point2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Sets the point that the vertex points to to a given point, if the vertex is a point vertex.
setProgressListener(PlayfieldGenerator.GeneratorProgressListener) - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Sets the listener to notify of playfield generation progress.
setRange(int, int) - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Sets the size range of generated objects.
setRightChild(VerticalDecomposition.DecompVertex) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Sets the right child of the vertex.
setScaling(int) - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Sets the factor by with which to scale all objects after generation.
setScreen(Screen) - Method in class dev.roanh.convexmerger.ui.ScreenRenderer
Sets the screen to render.
setSeed(String) - Method in class dev.roanh.convexmerger.game.PlayfieldGenerator
Sets the seed of this generator to the given seed.
setSegment(Line2D) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Sets the segment that the vertex points to to a given segment, if the vertex is a segment vertex.
setSelected(int) - Method in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Sets the selected button for this assembly.
setSelectedObject(ConvexObject) - Method in class dev.roanh.convexmerger.game.GameState
Sets the object selected by the current player.
setText(String) - Method in class dev.roanh.convexmerger.ui.TextField
Sets the text for this text field.
setToPoint(Point2D, VerticalDecomposition.DecompVertex, VerticalDecomposition.DecompVertex) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Converts the vertex to a point vertex, associating it to a point, assigning children to the left and right, and removing the associated trapezoid and segment.
setToSegment(VerticalDecomposition.Line, VerticalDecomposition.DecompVertex, VerticalDecomposition.DecompVertex) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Converts the vertex to a segment vertex, associating it to a segment, assigning children to the left and right (bottom and top respectively), and removing the associated trapezoid and point, if any.
setTrapezoid(VerticalDecomposition.Trapezoid) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Sets the trapezoid that the vertex points to to a given trapezoid, if the vertex is a leaf.
setType(VerticalDecomposition.DecompVertexType) - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
Sets the type of this decomposition vertex.
shape - Variable in class dev.roanh.convexmerger.game.ConvexObject
The shape of this convex object.
shape - Variable in class dev.roanh.convexmerger.util.ConjugationTree
The shape defining the bounds of this cell as constructed from the convex hull points in ConjugationTree.hull.
showAnimation(Point2D, Point2D) - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Animates a search for intersections with the given line segment.
showCallipers - Variable in class dev.roanh.convexmerger.ui.GamePanel
True if the callipers for merges should be rendered.
showCentroids - Variable in class dev.roanh.convexmerger.ui.GamePanel
True if the centroid of objects objects should be rendered.
showDecomp - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Whether to show the vertical decomposition from the start of the game.
showFPS - Variable in class dev.roanh.convexmerger.ui.ScreenRenderer
Whether to render the FPS counter.
showGame() - Method in class dev.roanh.convexmerger.ui.ConvexMerger
Shows the main game window.
showNewGame() - Method in class dev.roanh.convexmerger.ui.ConvexMerger
Shows the new game menu.
shutdown() - Method in class dev.roanh.convexmerger.net.InternalServer.ServerThread
Shuts down the part of this server responsible for accepting incoming players.
shutdown() - Method in class dev.roanh.convexmerger.net.InternalServer
Immediately shuts down this server and closes all the connections it had open.
SIDE_OFFSET - Static variable in class dev.roanh.convexmerger.ui.Screen
Offset from the side to the playfield rectangle.
single - Variable in class dev.roanh.convexmerger.ui.MainMenu
Bounds of the single player button.
size - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Configuration for the playfield object size.
SmallPlayer - Class in dev.roanh.convexmerger.player
AI that focuses on maximising local area gain starting from small objects.
SmallPlayer() - Constructor for class dev.roanh.convexmerger.player.SmallPlayer
Constructs a new small player (Shiro).
socket - Variable in class dev.roanh.convexmerger.net.Connection
The socket for this connection.
source - Variable in class dev.roanh.convexmerger.net.packet.PacketPlayerMove
The source object involved (the ID of the claimed object or the ID of the object a merge started from).
spacing - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Configuration for the playfield spacing.
SPACING - Static variable in class dev.roanh.convexmerger.ui.Screen
Spacing between various components.
splitHull(List<Point2D>, Line2D) - Static method in class dev.roanh.convexmerger.util.ConvexUtil
Splits the given convex hull into two new hulls along the given splitting line.
start - Variable in class dev.roanh.convexmerger.animation.CalliperAnimation
The epoch millisecond start time of the animation.
start - Variable in class dev.roanh.convexmerger.animation.ClaimAnimation
Millisecond time this animation started.
start - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
Time in milliseconds when the animation started.
start - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Bounds of the start button.
start - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.SearchAnimation
The millisecond start time of the animation.
START_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu
Height of the start button.
started - Variable in class dev.roanh.convexmerger.ui.NewGameMenu
Whether the start button was clicked.
startGame(List<Player>, PlayfieldGenerator, boolean) - Method in class dev.roanh.convexmerger.net.InternalServer
Gets the game constructor required to start a game with the given set of players and with the given playfield generator.
state - Variable in class dev.roanh.convexmerger.animation.ExampleAnimation
Current animation state.
state - Variable in class dev.roanh.convexmerger.player.Player
The game this player is associated with.
state - Variable in class dev.roanh.convexmerger.ui.GamePanel
The game state to visualise.
state - Variable in class dev.roanh.convexmerger.ui.ResultOverlay
The active/completed game.
stats - Variable in class dev.roanh.convexmerger.player.Player
The game stats for this player.
stream() - Method in class dev.roanh.convexmerger.game.GameState
Streams all the objects in this game.
stream() - Method in class dev.roanh.convexmerger.player.Player
Streams all the objects owned by this player.
streamCells() - Method in class dev.roanh.convexmerger.util.PartitionTree
Streams all the cells (both leaf and internal) in this tree.
streamCells() - Method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Returns a stream over all the nodes of the underlying partition tree.
streamLeafCells() - Method in class dev.roanh.convexmerger.util.PartitionTree
Streams all the leaf cells in this tree.
switchScene(Screen) - Method in class dev.roanh.convexmerger.ui.ConvexMerger
Switches the scene being displayed to the user to the given screen.
switchScene(Screen) - Method in class dev.roanh.convexmerger.ui.Screen
Switches the context from the current screen to the given screen.

T

target - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
The target object of the merge (possibly unowned)
target - Variable in class dev.roanh.convexmerger.net.packet.PacketPlayerMove
The ID of the target object of a merge move.
target - Variable in class dev.roanh.convexmerger.player.LocalPlayer
Object currently being worked on.
terminal(BiConsumer<T, SegmentPartitionTree.LineSegment>) - Static method in interface dev.roanh.convexmerger.util.SegmentPartitionTree.PartitionTreeVisitor
Constructs a special partition tree visitor that only receives terminal nodes.
text - Variable in class dev.roanh.convexmerger.ui.TextField
Current text field text.
text - Variable in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Player theme text color.
TEXT_OFFSET - Static variable in class dev.roanh.convexmerger.ui.ResultOverlay
Internal titled border offset to the text inside.
TextField - Class in dev.roanh.convexmerger.ui
Text field UI component.
TextField(Color) - Constructor for class dev.roanh.convexmerger.ui.TextField
Constructs a new text field with the given accent color.
TextField.FocusLossListener - Interface in dev.roanh.convexmerger.ui
Listener called when the user stops editing a text field.
TextField.TextChangeListener - Interface in dev.roanh.convexmerger.ui
Listener called when the text field context changes.
theme - Variable in class dev.roanh.convexmerger.player.Player
The theme for this player.
theme - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
Panel theme.
Theme - Class in dev.roanh.convexmerger.ui
Class holding various UI design related constants.
Theme() - Constructor for class dev.roanh.convexmerger.ui.Theme
 
Theme.PlayerTheme - Enum in dev.roanh.convexmerger.ui
Enum with specific colours for the different players.
third - Static variable in class dev.roanh.convexmerger.animation.ExampleAnimation
Rightmost object.
thread - Variable in class dev.roanh.convexmerger.net.InternalServer
Thread executing the main server logic.
time - Variable in class dev.roanh.convexmerger.animation.ExampleAnimation
Saved timestamp for animation.
TITLE - Static variable in class dev.roanh.convexmerger.Constants
Game and window title.
title - Variable in enum dev.roanh.convexmerger.ui.MessageDialog
The title for this dialog.
title - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Title of this assembly.
TOP_MIDDLE_OFFSET - Static variable in class dev.roanh.convexmerger.ui.Screen
Height of the middle text area attached to the top part.
TOP_MIDDLE_TEXT_OFFSET - Static variable in class dev.roanh.convexmerger.ui.Screen
Text offset from the bottom in the top middle text area.
TOP_MIDDLE_WIDTH - Static variable in class dev.roanh.convexmerger.ui.Screen
Width of the middle text area attached to the top part.
TOP_OFFSET - Static variable in class dev.roanh.convexmerger.ui.Screen
Offset from the score display part of the game panel to the playfield rectangle.
TOP_SIDE_TRIANGLE - Static variable in class dev.roanh.convexmerger.ui.Screen
Dimensions of the triangles on the left and right side of the top part.
TOP_SPACE - Static variable in class dev.roanh.convexmerger.ui.Screen
Height of the top score display part of the game panel.
topSegment - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
The segment that bound the trapezoid from the top.
toShape() - Method in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Computes the shape for this trapezoid.
toString() - Method in class dev.roanh.convexmerger.game.ConvexObject
 
toString() - Method in enum dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject.RejectReason
 
toString() - Method in class dev.roanh.convexmerger.player.Player
 
toString - Variable in class dev.roanh.convexmerger.ui.ComboBox
The function to use to turn the values into strings.
toString() - Method in class dev.roanh.convexmerger.util.Segment
 
totalTurnTime - Variable in class dev.roanh.convexmerger.player.Player.PlayerStats
Total time spent across all turns.
translateToGameSpace(double, double, int, int) - Method in class dev.roanh.convexmerger.ui.GamePanel
Translates the given point from window coordinate space to game coordinate space.
trapezoid - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
If the vertex is a leaf, it points to a trapezoid.
Trapezoid(Point2D, Point2D, VerticalDecomposition.Line, VerticalDecomposition.Line) - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Constructs a trapezoid given a left and a right bounding point, and the top and bottom bounding segments.
Trapezoid(List<Point2D>, Point2D, VerticalDecomposition.Line, VerticalDecomposition.Line) - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Constructs a trapezoid given a list of left bounding points and a right bounding point, and the top and bottom bounding segments.
Trapezoid(Point2D, List<Point2D>, VerticalDecomposition.Line, VerticalDecomposition.Line) - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Constructs a trapezoid given a left bounding point and a list of right bounding points, and the top and bottom bounding segments.
Trapezoid(List<Point2D>, List<Point2D>, VerticalDecomposition.Line, VerticalDecomposition.Line) - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
Constructs a trapezoid given lists of left and right bounding points, and the top and bottom bounding segments.
trapezoids - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition
The trapezoids of the decomposition.
trapsAbove - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Trapezoids with this line as its bottom segment.
trapsBelow - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.Line
Trapezoids with this line as its top segment.
turns - Variable in class dev.roanh.convexmerger.game.GameState
The number of individual player turns so far in this game.
turns - Variable in class dev.roanh.convexmerger.player.Player.PlayerStats
Total number of player turns.
type - Variable in class dev.roanh.convexmerger.net.packet.PacketPlayerMove
The type of move.
type - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertex
The type of the vertex.
TYPE_CONJUGATION_TREE - Static variable in class dev.roanh.convexmerger.util.SegmentPartitionTree
Constructor for conjugation tree based segment partition trees.
TYPE_KD_TREE - Static variable in class dev.roanh.convexmerger.util.SegmentPartitionTree
Constructor for kd-tree based segment partition trees.

U

unclaimed - Variable in class dev.roanh.convexmerger.animation.MergeAnimation
Whether or not the target object was unclaimed before.
update(double) - Method in interface dev.roanh.convexmerger.game.PlayfieldGenerator.GeneratorProgressListener
Updates the current progress.
update(double) - Method in class dev.roanh.convexmerger.ui.NewGameMenu
 

V

value - Variable in class dev.roanh.convexmerger.ui.ComboBox
The currently selected value.
valueOf(String) - Static method in enum dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject.RejectReason
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum dev.roanh.convexmerger.net.packet.PacketPlayerMove.MoveType
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum dev.roanh.convexmerger.net.packet.PacketRegistry
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum dev.roanh.convexmerger.player.AIRegistry
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum dev.roanh.convexmerger.ui.MessageDialog
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertexType
Returns the enum constant of this type with the specified name.
values() - Static method in enum dev.roanh.convexmerger.net.packet.PacketPlayerJoinReject.RejectReason
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum dev.roanh.convexmerger.net.packet.PacketPlayerMove.MoveType
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum dev.roanh.convexmerger.net.packet.PacketRegistry
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum dev.roanh.convexmerger.player.AIRegistry
Returns an array containing the constants of this enum type, in the order they are declared.
values - Variable in class dev.roanh.convexmerger.ui.ComboBox
The list of possible values.
values() - Static method in enum dev.roanh.convexmerger.ui.MessageDialog
Returns an array containing the constants of this enum type, in the order they are declared.
values - Variable in class dev.roanh.convexmerger.ui.NewGameMenu.ButtonAssembly
Button display values.
values() - Static method in enum dev.roanh.convexmerger.ui.Theme.PlayerTheme
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum dev.roanh.convexmerger.util.VerticalDecomposition.DecompVertexType
Returns an array containing the constants of this enum type, in the order they are declared.
VERSION - Static variable in class dev.roanh.convexmerger.Constants
Current game version.
version - Variable in class dev.roanh.convexmerger.net.packet.PacketPlayerJoin
The version of the game the player that wants to join is running.
version - Static variable in class dev.roanh.convexmerger.ui.InfoMenu
The latest version of the program.
VERSION_HEIGHT - Static variable in class dev.roanh.convexmerger.ui.InfoMenu
Height of the version box.
vertex - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition.Trapezoid
The vertex that this trapezoid is linked to.
VerticalDecomposition - Class in dev.roanh.convexmerger.util
Vertical decomposition of a plane containing non-overlapping convex objects.
VerticalDecomposition() - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition
Constructs a new blank vertical decomposition with a corresponding search structure vertex.
VerticalDecomposition(List<ConvexObject>) - Constructor for class dev.roanh.convexmerger.util.VerticalDecomposition
Constructs a new vertical decomposition with the given objects.
VerticalDecomposition.DecompositionPoint - Class in dev.roanh.convexmerger.util
A structure to represent a point in the vertical decomposition.
VerticalDecomposition.DecompVertex - Class in dev.roanh.convexmerger.util
Represents a vertex in the search structure of the decomposition.
VerticalDecomposition.DecompVertexType - Enum in dev.roanh.convexmerger.util
Enum to denote the type of a decomposition vertex.
VerticalDecomposition.Line - Class in dev.roanh.convexmerger.util
A line instance with equality based on its end points, extended with information about decomposition trapezoids.
VerticalDecomposition.Trapezoid - Class in dev.roanh.convexmerger.util
Defines the trapezoid structure that is used in the Vertical decomposition.
verticalSegments - Variable in class dev.roanh.convexmerger.util.VerticalDecomposition
The list of vertical segments.
visitConjugationTree(ConjugationTree<SegmentPartitionTree.LineSegment>, SegmentPartitionTree.LineSegment, int, boolean, SegmentPartitionTree.PartitionTreeVisitor<ConjugationTree<SegmentPartitionTree.LineSegment>>) - Static method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Visitor function for conjugation tree traversal.
visitFun - Variable in class dev.roanh.convexmerger.util.SegmentPartitionTree.SegmentPartitionTreeConstructor
A function that can traverse the partition tree type.
visitKDTree(KDTree<SegmentPartitionTree.LineSegment>, SegmentPartitionTree.LineSegment, int, boolean, SegmentPartitionTree.PartitionTreeVisitor<KDTree<SegmentPartitionTree.LineSegment>>) - Static method in class dev.roanh.convexmerger.util.SegmentPartitionTree
Visitor function for kd-tree traversal.
visitTree(T, SegmentPartitionTree.LineSegment, int, boolean, SegmentPartitionTree.PartitionTreeVisitor<T>) - Method in interface dev.roanh.convexmerger.util.SegmentPartitionTree.VisitingFunction
Visitor function for partition tree traversal.
visitTree(T, SegmentPartitionTree.LineSegment, boolean, SegmentPartitionTree.PartitionTreeVisitor<T>) - Method in interface dev.roanh.convexmerger.util.SegmentPartitionTree.VisitingFunction
Visitor function for partition tree traversal.

W

waitFor() - Method in class dev.roanh.convexmerger.animation.Animation
Blocks the current thread until this animation has finished.
WIDTH - Static variable in class dev.roanh.convexmerger.animation.ExampleAnimation
Width of the animation.
WIDTH - Static variable in class dev.roanh.convexmerger.ui.NewGameMenu.PlayerPanel
The width of the panels.
winner - Variable in class dev.roanh.convexmerger.ui.ResultOverlay
The player that is currently winning.

X

xAxis - Variable in class dev.roanh.convexmerger.util.KDTree
The way this kd-tree node is split into a low and high cell.
A B C D E F G H I J K L M N O P Q R S T U V W X 
Skip navigation links