An oriented circle can be defined by a center point. The circle is the the set of points that are in the normal plan the center.
Since it is oriented the two spherical caps at its two sides are unambiguously identified as a left cap and a right cap. This can be used to identify the interior and the exterior in a simple way by local properties only when part of a line is used to define part of a spherical polygon boundary.
| Modifier and Type | Class and Description |
|---|---|
| private static class | Circle.
Class embedding a 3D rotation. |
| Modifier and Type | Field and Description |
|---|---|
| private Vector3D | pole
Pole or circle center. |
| private final double | tolerance
Tolerance below which close sub-arcs are merged together. |
| private Vector3D | x
First axis in the equator plane, origin of the phase angles. |
| private Vector3D | y
Second axis in the equator plane, in quadrature with respect to x. |
| Access | Constructor and Description |
|---|---|
| public | |
| public | |
| private | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| public Circle | copySelf()
Implements org. Copy the instance. |
| public Arc | Returns: arc of the instance that lies inside the other circleother circle other)Get the arc of the instance that lies inside the other circle. |
| public double | getOffset(final Point<Sphere2D>
point to check point)Implements org. Get the offset (oriented distance) of a point. |
| public double | |
| public double | |
| public Vector3D | Returns: circle point on the spherephase around the circle alpha)Get a circle point from its phase around the circle. |
| public Vector3D | |
| public Circle | Returns: a new circle, with orientation opposite to the instance orientationGet the reverse of the instance. |
| public double | getTolerance()
Implements org. Get the tolerance below which points are considered to belong to the hyperplane. |
| public static Transform | |
| public Vector3D | |
| public Vector3D | |
| public Point | project(Point<Sphere2D>
point to project point)Implements org. Project a point to the hyperplane. |
| public void | |
| public void | |
| public boolean | sameOrientationAs(final Hyperplane<Sphere2D>
other hyperplane to check against the instance other)Implements org. Check if the instance has the same orientation as another hyperplane. |
| public S2Point | toSpace(final Point<Sphere1D>
(n-1)-dimension point of the sub-space point)Implements org. Transform a sub-space point into a space point. |
| public S1Point | toSubSpace(final Point<Sphere2D>
n-dimension point of the space point)Implements org. Transform a space point into a sub-space point. |
| public SubCircle | wholeHyperplane()
Implements org. Build a sub-hyperplane covering the whole hyperplane. |
| public SphericalPolygonsSet | Returns: a region containing the instance (really aSphericalPolygonsSet instance)Implements org. Build a region covering the whole space. |
| pole | back to summary |
|---|---|
| private Vector3D pole Pole or circle center. | |
| tolerance | back to summary |
|---|---|
| private final double tolerance Tolerance below which close sub-arcs are merged together. | |
| x | back to summary |
|---|---|
| private Vector3D x First axis in the equator plane, origin of the phase angles. | |
| y | back to summary |
|---|---|
| private Vector3D y Second axis in the equator plane, in quadrature with respect to x. | |
| Circle | back to summary |
|---|---|
| public Circle(final Vector3D pole, final double tolerance) Build a great circle from its pole. The circle is oriented in the trigonometric direction around pole.
| |
| Circle | back to summary |
|---|---|
| public Circle(final S2Point first, final S2Point second, final double tolerance) Build a great circle from two non-aligned points. The circle is oriented from first to second point using the path smaller than \( \pi \). | |
| Circle | back to summary |
|---|---|
| private Circle(final Vector3D pole, final Vector3D x, final Vector3D y, final double tolerance) Build a circle from its internal components. The circle is oriented in the trigonometric direction around center. | |
| Circle | back to summary |
|---|---|
| public Circle(final Circle circle) Copy constructor. The created instance is completely independent from the original instance, it is a deep copy.
| |
| copySelf | back to summary |
|---|---|
| public Circle copySelf() Implements org. Doc from org. Copy the instance. The instance created is completely independant of the original one. A deep copy is used, none of the underlying objects are shared (except for immutable objects).
| |
| getInsideArc | back to summary |
|---|---|
| public Arc getInsideArc(final Circle other) Get the arc of the instance that lies inside the other circle. | |
| getOffset | back to summary |
|---|---|
| public double getOffset(final Point<Sphere2D> point) Implements org. Doc from org. Get the offset (oriented distance) of a point. The offset is 0 if the point is on the underlying hyperplane, it is positive if the point is on one particular side of the hyperplane, and it is negative if the point is on the other side, according to the hyperplane natural orientation.
| |
| getOffset | back to summary |
|---|---|
| public double getOffset(final Vector3D direction) Get the offset (oriented distance) of a direction. The offset is defined as the angular distance between the circle center and the direction minus the circle radius. It is therefore 0 on the circle, positive for directions outside of the cone delimited by the circle, and negative inside the cone.
| |
| getPhase | back to summary |
|---|---|
| public double getPhase(final Vector3D direction) Get the phase angle of a direction. The direction may not belong to the circle as the phase is computed for the meridian plane between the circle pole and the direction.
| |
| getPointAt | back to summary |
|---|---|
| public Vector3D getPointAt(final double alpha) Get a circle point from its phase around the circle.
| |
| getPole | back to summary |
|---|---|
| public Vector3D getPole() Get the pole of the circle. As the circle is a great circle, the pole does not belong to it.
| |
| getReverse | back to summary |
|---|---|
| public Circle getReverse() Get the reverse of the instance. Get a circle with reversed orientation with respect to the instance. A new object is built, the instance is untouched.
| |
| getTolerance | back to summary |
|---|---|
| public double getTolerance() Implements org. Doc from org. Get the tolerance below which points are considered to belong to the hyperplane.
| |
| getTransform | back to summary |
|---|---|
| public static Transform Get a | |
| getXAxis | back to summary |
|---|---|
| public Vector3D getXAxis() Get the X axis of the circle.
This method returns the same value as
| |
| getYAxis | back to summary |
|---|---|
| public Vector3D getYAxis() Get the Y axis of the circle.
This method returns the same value as
| |
| project | back to summary |
|---|---|
| public Point Implements org. Doc from org. Project a point to the hyperplane. | |
| reset | back to summary |
|---|---|
| public void reset(final Vector3D newPole) Reset the instance as if built from a pole. The circle is oriented in the trigonometric direction around pole.
| |
| revertSelf | back to summary |
|---|---|
| public void revertSelf() Revert the instance. | |
| sameOrientationAs | back to summary |
|---|---|
| public boolean sameOrientationAs(final Hyperplane<Sphere2D> other) Implements org. Doc from org. Check if the instance has the same orientation as another hyperplane. This method is expected to be called on parallel hyperplanes. The method should not re-check for parallelism, only for orientation, typically by testing something like the sign of the dot-products of normals.
| |
| toSpace | back to summary |
|---|---|
| public S2Point toSpace(final Point<Sphere1D> point) Implements org. Doc from org. Transform a sub-space point into a space point.
| |
| toSubSpace | back to summary |
|---|---|
| public S1Point toSubSpace(final Point<Sphere2D> point) Implements org. Doc from org. Transform a space point into a sub-space point.
| |
| wholeHyperplane | back to summary |
|---|---|
| public SubCircle wholeHyperplane() Implements org. Doc from org. Build a sub-hyperplane covering the whole hyperplane.
| |
| wholeSpace | back to summary |
|---|---|
| public SphericalPolygonsSet wholeSpace() Implements org. Build a region covering the whole space.
| |
| Modifier and Type | Field and Description |
|---|---|
| private final Rotation | rotation
Underlying rotation. |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public S2Point | apply(final Point<Sphere2D>
point to transform point)Implements org. Transform a point of a space. |
| public Circle | apply(final Hyperplane<Sphere2D>
hyperplane to transform hyperplane)Implements org. Transform an hyperplane of a space. |
| public SubHyperplane | apply(final SubHyperplane<Sphere1D>
sub-hyperplane to transform sub, final Hyperplane<Sphere2D> hyperplane in which the sub-hyperplane is
defined (this is the original hyperplane, the transform has
not been applied to it) original, final Hyperplane<Sphere2D> hyperplane in which the sub-hyperplane is
defined (this is the transformed hyperplane, the transform
has been applied to it) transformed)Implements org. Transform a sub-hyperplane embedded in an hyperplane. |
| rotation | back to summary |
|---|---|
| private final Rotation rotation Underlying rotation. | |
| CircleTransform | back to summary |
|---|---|
| pack-priv CircleTransform(final Rotation rotation) Build a transform from a
| |
| apply | back to summary |
|---|---|
| public S2Point apply(final Point<Sphere2D> point) Implements org. Doc from org. Transform a point of a space. | |
| apply | back to summary |
|---|---|
| public Circle apply(final Hyperplane<Sphere2D> hyperplane) Implements org. Doc from org. Transform an hyperplane of a space.
| |
| apply | back to summary |
|---|---|
| public SubHyperplane Implements org. Doc from org. Transform a sub-hyperplane embedded in an hyperplane.
| |