All Classes and Interfaces

Class
Description
 
 
 
 
Bresenham2DRaycastCollisionDetector<P extends com.github.tommyettinger.crux.Point2<P>>
A raycast collision detector used for path smoothing in 2D, with cells considered passable if a predicate returns true.
Bresenham3DRaycastCollisionDetector<P extends com.github.tommyettinger.crux.Point3<P>>
A raycast collision detector used for path smoothing in 3D, with cells considered passable if a predicate returns true.
A random number generator that is optimized for performance on 32-bit machines and with Google Web Toolkit.
Various methods that have different implementations on GWT, such as Compatibility.imul(int, int) to multiply two ints and get an int that is guaranteed to act like it does on desktop.
 
 
 
 
 
 
 
Represents the eight grid directions and the deltaX, deltaY values associated with those directions.
 
 
 
 
 
 
A drop-in replacement for Random that adds few new APIs, but is faster, has better statistical quality, and has a guaranteed longer minimum period (also called cycle length).
GradientGrid<P extends com.github.tommyettinger.crux.Point2<P>>
A group of pathfinding algorithms that explore in all directions equally, and are commonly used when there is more than one valid goal, or when you want a gradient floodfill to mark each cell in an area with its distance from a goal.
A group of pathfinding algorithms that explore in all directions equally, and are commonly used when there is more than one valid goal, or when you want a gradient floodfill to mark each cell in an area with its distance from a goal.
 
 
A way of measuring what cells are adjacent and how much further any adjacent cells are from other adjacent cells.
An annotation for the GWT compiler that makes a piece of code ignored on GWT only.
A function which estimates the distance of a shortest path between two vertices.
 
 
 
 
Analogous to Collection but for primitive ints, this is built around the primitive-specialized iterator IntIterator instead of the generic Iterator.
A type-specific Comparator; provides methods to compare two primitive types both as objects and as primitive types.
A class providing static methods and objects that do useful things with comparators.
A type-specific comparator mimicking the natural order.
 
A type-specific comparator mimicking the opposite of the natural order.
A type-specific comparator that compares items in the natural order, but as if they are unsigned (so, all negative items are greater than any non-negative items).
A type-specific comparator that compares items in the opposite of the natural order, but as if they are unsigned.
Represents an operation that accepts a single int-valued argument and returns no result.
A resizable, insertion-ordered double-ended queue of ints with efficient add and remove at the beginning and end.
A IntIterator, plus similar methods to a ListIterator, over the elements of an IntDeque.
Used by Graph internally; not meant for external usage.
Represents an operation that accepts three int arguments and returns a boolean result.
Represents an operation that accepts two int arguments and returns a boolean result.
An Iterator specialized for int values.
A resizable, insertion-ordered int list.
A IntIterator, plus ListIterator methods, over the elements of a IntList.
Represents an operation that accepts one int argument and returns a boolean result.
Utility methods to register common Vector/GridPoint types with an instance of libGDX Json.
 
A graph node that wraps a given type of position, V.
Represents an operation that accepts a single T-valued argument and returns no result.
A resizable, insertion-ordered double-ended queue of objects with efficient add and remove at the beginning and end.
An Iterator and ListIterator over the elements of an ObjectDeque, while also an Iterable.
A ObjectSet that also stores keys in an ArrayList using the insertion order.
 
Represents an operation that accepts a single T-valued argument and returns a boolean result.
An unordered set where the keys are objects.
 
An alternative to Arrays.sort(Object[], int, int, Comparator) or Sort for sorting an array with no allocation.
Ortho2DRaycastCollisionDetector<P extends com.github.tommyettinger.crux.Point2<P>>
A raycast collision detector used for path smoothing in 2D, with cells considered passable if a predicate returns true.
Ortho3DRaycastCollisionDetector<P extends com.github.tommyettinger.crux.Point3<P>>
A raycast collision detector used for path smoothing in 3D, with cells considered passable if a predicate returns true.
 
PathSmoother<V extends com.github.tommyettinger.crux.PointN<V>>
A PathSmoother takes a Path of PointN items and transforms it by linking directly the nodes that are in line of sight.
PathSmootherRequest<V extends com.github.tommyettinger.crux.PointN<V>>
A request for interruptible path smoothing.
RaycastCollisionDetector<T extends com.github.tommyettinger.crux.PointN<T>>
A RaycastCollisionDetector finds the closest intersection between a ray and any object in the game world.
Essentially the same as a Consumer<SearchStep<V>>, this is a functional interface that is typically run by search algorithms at each step.
An object representing a "step" in a search algorithm.
A random number generator that is optimized for performance on 32-bit machines and with Google Web Toolkit, this uses only the most portable operations (including compatibility with JS), and has a period of exactly 2 to the 64.
This generates orthogonally-connected paths of PointI2 that meander through an area; this won't ever generate paths that cross themselves.
This generates orthogonally-connected paths of PointI3 that meander through an area; this won't ever generate paths that cross themselves.
 
 
Utility code shared by various data structures in this package.