public class KDTree
Class KDTree. Provides kdtree functionality for the Hytale server.
java.lang.Object > KDTree
Field Summary
nodePoolIndex
Field nodePoolIndex.
dataListPoolIndex
Field dataListPoolIndex.
size
Field size.
root
Field root.
spatialDataSize
Field spatialDataSize.
mid
Field mid.
sortedIndex
Field sortedIndex.
vector
Field vector.
data
Field data.
list
Field list.
leftSortedIndex
Field leftSortedIndex.
leftVector
Field leftVector.
leftData
Field leftData.
rightSortedIndex
Field rightSortedIndex.
rightVector
Field rightVector.
rightData
Field rightData.
closestState
Field closestState.
distanceSq
Field distanceSq.
radiusSq
Field radiusSq.
halfHeight
Field halfHeight.
entryResults
Field entryResults.
node
Field node.
set
Field set.
axis
Field axis.
compare
Field compare.
newDepth
Field newDepth.
plane
Field plane.
component
Field component.
planeDistance
Field planeDistance.
nodeDistanceSq
Field nodeDistanceSq.
dy
Field dy.
dx
Field dx.
dz
Field dz.
xzDistanceSq
Field xzDistanceSq.
axisRadius
Field axisRadius.
minComponent
Field minComponent.
maxComponent
Field maxComponent.
inCuboid
Field inCuboid.
primary
Field primary.
secondary
Field secondary.
radius
Field radius.
one
Field one.
two
Field two.
nextDepth
Field nextDepth.
Method Detail
KDTree
public
KDTree
(@Nonnull final Predicate collectionFilter)
Method KDTree.
- Parameters:
@Nonnull final PredicatecollectionFilter
size
int
size
()
Method size.
collect
void
collect
(@Nonnull final Vector3d center, final double radius, @Nonnull final List results)
Method collect.
- Parameters:
@Nonnull final Vector3dcenterfinal doubleradius@Nonnull final Listresults
collectCylinder
void
collectCylinder
(@Nonnull final Vector3d center, final double radius, final double height, @Nonnull final List results)
Method collectCylinder.
- Parameters:
@Nonnull final Vector3dcenterfinal doubleradiusfinal doubleheight@Nonnull final Listresults
collectBox
void
collectBox
(@Nonnull final Vector3d min, @Nonnull final Vector3d max, @Nonnull final List results)
Method collectBox.
- Parameters:
@Nonnull final Vector3dmin@Nonnull final Vector3dmax@Nonnull final Listresults
ordered
void
ordered
(@Nonnull final Vector3d center, final double radius, @Nonnull final List results)
Method ordered.
- Parameters:
@Nonnull final Vector3dcenterfinal doubleradius@Nonnull final Listresults
ordered3DAxis
void
ordered3DAxis
(@Nonnull final Vector3d center, final double xSearchRadius, final double YSearchRadius, final double zSearchRadius, @Nonnull final List results)
Method ordered3DAxis.
- Parameters:
@Nonnull final Vector3dcenterfinal doublexSearchRadiusfinal doubleYSearchRadiusfinal doublezSearchRadius@Nonnull final Listresults
dump
String
dump
()
Method dump.
getPooledDataList
List
getPooledDataList
()
Method getPooledDataList.
build0
Method build0.
- Parameters:
@Nonnull final SpatialDataspatialDatafinal intstartfinal intend
put0
void
put0
(@Nonnull final Node node, @Nonnull final Vector3d vector, @Nonnull final List list, final int axis)
Method put0.
- Parameters:
@Nonnull final Nodenode@Nonnull final Vector3dvector@Nonnull final Listlistfinal intaxis
if
else
if
(node.two == null)
Method if.
- Parameters:
node.two ==null
closest0
void
closest0
(@Nonnull final ClosestState closestState, @Nullable final Node node, @Nonnull final Vector3d vector, final int depth)
Method closest0.
- Parameters:
@Nonnull final ClosestStateclosestState@Nullable final Nodenode@Nonnull final Vector3dvectorfinal intdepth
collect0
void
collect0
(@Nonnull final List results, @Nullable final Node node, @Nonnull final Vector3d vector, final double distanceSq, final int depth)
Method collect0.
- Parameters:
@Nonnull final Listresults@Nullable final Nodenode@Nonnull final Vector3dvectorfinal doubledistanceSqfinal intdepth
collectCylinder0
void
collectCylinder0
(@Nonnull final List results, @Nullable final Node node, @Nonnull final Vector3d center, final double radiusSq, final double halfHeight, final double radius, final int depth)
Method collectCylinder0.
- Parameters:
@Nonnull final Listresults@Nullable final Nodenode@Nonnull final Vector3dcenterfinal doubleradiusSqfinal doublehalfHeightfinal doubleradiusfinal intdepth
collectBox0
void
collectBox0
(@Nonnull final List results, @Nullable final Node node, @Nonnull final Vector3d min, @Nonnull final Vector3d max, final int depth)
Method collectBox0.
- Parameters:
@Nonnull final Listresults@Nullable final Nodenode@Nonnull final Vector3dmin@Nonnull final Vector3dmaxfinal intdepth
ordered0
void
ordered0
(@Nonnull final List> results, @Nullable final Node node, @Nonnull final Vector3d vector, final double distanceSq, final int depth)
Method ordered0.
- Parameters:
@Nonnull final Listresults> @Nullable final Nodenode@Nonnull final Vector3dvectorfinal doubledistanceSqfinal intdepth
_internal_ordered3DAxis
void
_internal_ordered3DAxis
(@Nonnull final List> results, @Nullable final Node node, @Nonnull final Vector3d center, final double xSearchRadius, final double ySearchRadius, final double zSearchRadius, final int depth)
Method _internal_ordered3DAxis.
- Parameters:
@Nonnull final Listresults> @Nullable final Nodenode@Nonnull final Vector3dcenterfinal doublexSearchRadiusfinal doubleySearchRadiusfinal doublezSearchRadiusfinal intdepth
compare
Method compare.
- Parameters:
@Nonnull final Vector3dv1@Nonnull final Vector3dv2final intaxis
switch
return
switch
(axis)
Method switch.
- Parameters:
axisaxis
ClosestState
public
ClosestState
(final Node node, final double distanceSq)
Method ClosestState.
- Parameters:
final Nodenodefinal doubledistanceSq
OrderedEntry
public
OrderedEntry
(final double distanceSq, final List values)
Method OrderedEntry.
- Parameters:
final doubledistanceSqfinal Listvalues