Package org.apache.lucene.spatial3d.geom
Class BaseXYZSolid
- 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 intALL_INSIDEAll edgepoints inside shapeprotected static GeoPoint[]EMPTY_POINTSEmpty point vectorprotected static intNO_EDGEPOINTSNo edgepoints at all (means a shape that is the whole world)protected static intNONE_INSIDENo edgepoints inside shapeprotected static intSOME_INSIDESome edgepoints inside shapeprotected static VectorxUnitVectorUnit vector in xprotected static PlanexVerticalPlaneVertical plane normal to x unit vector passing through originprotected static VectoryUnitVectorUnit vector in yprotected static PlaneyVerticalPlaneVertical plane normal to y unit vector passing through originprotected static VectorzUnitVectorUnit 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 booleanequals(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.inthashCode()protected intisAreaInsideShape(GeoShape path)Determine the relationship between a shape and this area's edgepoints.protected intisShapeInsideArea(GeoShape path)Determine the relationship between this area and the provided shape's edgepoints.abstract booleanisWithin(double x, double y, double z)Check if a point is within this shape.booleanisWithin(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:MembershipCheck if a point is within this shape.- Specified by:
isWithinin 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:MembershipCheck if a point is within this shape.- Specified by:
isWithinin 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:
equalsin classBasePlanetObject
-
hashCode
public int hashCode()
- Overrides:
hashCodein classBasePlanetObject
-
-