public final class ShapeField extends Object
Polygon
's and Line
's are decomposed into a triangular mesh using the Tessellator
utility class.
Each ShapeField.Triangle
is encoded by this base class and indexed as a seven dimension multivalue field.
Finding all shapes that intersect a range (e.g., bounding box), or target shape, at search time is efficient.
This class defines the static methods for encoding the three vertices of a tessellated triangles as a seven dimension point. The coordinates are converted from double precision values into 32 bit integers so they are sortable at index time.
Modifier and Type  Class and Description 

static class 
ShapeField.DecodedTriangle
Represents a encoded triangle using
decodeTriangle(byte[], DecodedTriangle) . 
static class 
ShapeField.QueryRelation
Query Relation Types

static class 
ShapeField.Triangle
polygons are decomposed into tessellated triangles using
Tessellator
these triangles are encoded and inserted as separate indexed POINT fields 
Modifier and Type  Field and Description 

protected static FieldType 
TYPE
tessellated triangles are seven dimensions; the first four are the bounding box index dimensions

Modifier and Type  Method and Description 

static void 
decodeTriangle(byte[] t,
ShapeField.DecodedTriangle triangle)
Decode a triangle encoded by
encodeTriangle(byte[], int, int, boolean, int, int, boolean, int, int, boolean) . 
static void 
encodeTriangle(byte[] bytes,
int aY,
int aX,
boolean ab,
int bY,
int bX,
boolean bc,
int cY,
int cX,
boolean ca)
A triangle is encoded using 6 points and an extra point with encoded information in three bits of how to reconstruct it.

protected static final FieldType TYPE
public static void encodeTriangle(byte[] bytes, int aY, int aX, boolean ab, int bY, int bX, boolean bc, int cY, int cX, boolean ca)
public static void decodeTriangle(byte[] t, ShapeField.DecodedTriangle triangle)
encodeTriangle(byte[], int, int, boolean, int, int, boolean, int, int, boolean)
.Copyright © 20002021 Apache Software Foundation. All Rights Reserved.