- java.lang.Object
-
- org.apache.lucene.spatial3d.geom.BasePlanetObject
-
- org.apache.lucene.spatial3d.geom.BaseXYZSolid
-
- All Implemented Interfaces:
GeoArea
,Membership
,PlanetObject
,SerializableObject
,XYZSolid
- Direct Known Subclasses:
dXdYdZSolid
,dXdYZSolid
,dXYdZSolid
,dXYZSolid
,StandardXYZSolid
,XdYdZSolid
,XdYZSolid
,XYdZSolid
abstract class BaseXYZSolid extends BasePlanetObject implements XYZSolid
Base class of a family of 3D rectangles, bounded on six sides by X,Y,Z limits
-
-
Field Summary
Fields Modifier and Type Field Description protected static int
ALL_INSIDE
All edgepoints inside shapeprotected static GeoPoint[]
EMPTY_POINTS
Empty point vectorprotected static int
NO_EDGEPOINTS
No edgepoints at all (means a shape that is the whole world)protected static int
NONE_INSIDE
No edgepoints inside shapeprotected static int
SOME_INSIDE
Some edgepoints inside shapeprotected static Vector
xUnitVector
Unit vector in xprotected static Plane
xVerticalPlane
Vertical plane normal to x unit vector passing through originprotected static Vector
yUnitVector
Unit vector in yprotected static Plane
yVerticalPlane
Vertical plane normal to y unit vector passing through originprotected static Vector
zUnitVector
Unit vector in z-
Fields inherited from class org.apache.lucene.spatial3d.geom.BasePlanetObject
planetModel
-
-
Constructor Summary
Constructors Constructor Description BaseXYZSolid(PlanetModel planetModel)
Base solid constructor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
protected abstract GeoPoint[]
getEdgePoints()
Get the edge points for this shape.protected static GeoPoint[]
glueTogether(GeoPoint[]... pointArrays)
Construct a single array from a number of individual arrays.int
hashCode()
protected int
isAreaInsideShape(GeoShape path)
Determine the relationship between a shape and this area's edgepoints.protected int
isShapeInsideArea(GeoShape path)
Determine the relationship between this area and the provided shape's edgepoints.abstract boolean
isWithin(double x, double y, double z)
Check if a point is within this shape.boolean
isWithin(Vector point)
Check if a point is within this shape.-
Methods inherited from class org.apache.lucene.spatial3d.geom.BasePlanetObject
getPlanetModel, write
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.spatial3d.geom.GeoArea
getRelationship
-
Methods inherited from interface org.apache.lucene.spatial3d.geom.PlanetObject
getPlanetModel
-
Methods inherited from interface org.apache.lucene.spatial3d.geom.SerializableObject
write
-
-
-
-
Field Detail
-
xUnitVector
protected static final Vector xUnitVector
Unit vector in x
-
yUnitVector
protected static final Vector yUnitVector
Unit vector in y
-
zUnitVector
protected static final Vector zUnitVector
Unit vector in z
-
xVerticalPlane
protected static final Plane xVerticalPlane
Vertical plane normal to x unit vector passing through origin
-
yVerticalPlane
protected static final Plane yVerticalPlane
Vertical plane normal to y unit vector passing through origin
-
EMPTY_POINTS
protected static final GeoPoint[] EMPTY_POINTS
Empty point vector
-
ALL_INSIDE
protected static final int ALL_INSIDE
All edgepoints inside shape- See Also:
- Constant Field Values
-
SOME_INSIDE
protected static final int SOME_INSIDE
Some edgepoints inside shape- See Also:
- Constant Field Values
-
NONE_INSIDE
protected static final int NONE_INSIDE
No edgepoints inside shape- See Also:
- Constant Field Values
-
NO_EDGEPOINTS
protected static final int NO_EDGEPOINTS
No edgepoints at all (means a shape that is the whole world)- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BaseXYZSolid
public BaseXYZSolid(PlanetModel planetModel)
Base solid constructor.- Parameters:
planetModel
- is the planet model.
-
-
Method Detail
-
glueTogether
protected static GeoPoint[] glueTogether(GeoPoint[]... pointArrays)
Construct a single array from a number of individual arrays.- Parameters:
pointArrays
- is the array of point arrays.- Returns:
- the single unified array.
-
isWithin
public boolean isWithin(Vector point)
Description copied from interface:Membership
Check if a point is within this shape.- Specified by:
isWithin
in interfaceMembership
- Parameters:
point
- is the point to check.- Returns:
- true if the point is within this shape
-
isWithin
public abstract boolean isWithin(double x, double y, double z)
Description copied from interface:Membership
Check if a point is within this shape.- Specified by:
isWithin
in interfaceMembership
- Parameters:
x
- is x coordinate of point to check.y
- is y coordinate of point to check.z
- is z coordinate of point to check.- Returns:
- true if the point is within this shape
-
isShapeInsideArea
protected int isShapeInsideArea(GeoShape path)
Determine the relationship between this area and the provided shape's edgepoints.- Parameters:
path
- is the shape.- Returns:
- the relationship.
-
isAreaInsideShape
protected int isAreaInsideShape(GeoShape path)
Determine the relationship between a shape and this area's edgepoints.- Parameters:
path
- is the shape.- Returns:
- the relationship.
-
getEdgePoints
protected abstract GeoPoint[] getEdgePoints()
Get the edge points for this shape.- Returns:
- the edge points.
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classBasePlanetObject
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classBasePlanetObject
-
-