## Uses of Class
com.orsoncharts.graphics3d.Point3D

- Packages that use Point3D
  Package | Description
  --- | ---
  com.orsoncharts | Core classes, including `Chart3D`, `Chart3DPanel` and `Chart3DFactory`.
  com.orsoncharts.graphics3d | The core 3D graphics rendering engine which is fully implemented using the Java2D (Graphics2D) API.

- - ### Uses of Point3D in com.orsoncharts

    Methods in com.orsoncharts with parameters of type Point3D
    Modifier and Type | Method and Description
    --- | ---
    `float` | ChartBox3D.ChartBoxFace.`calculateAverageZValue(Point3D[] points)` Returns `-123456f` which ensures that the chart box face is always drawn first (before any data items).

  - ### Uses of Point3D in com.orsoncharts.graphics3d

    Fields in com.orsoncharts.graphics3d declared as Point3D
    Modifier and Type | Field and Description
    --- | ---
    `static Point3D` | Point3D.`ORIGIN` The origin `(0, 0, 0)`.
    `static Point3D` | Point3D.`UNIT_X` The point `(1, 0, 0)`.
    `static Point3D` | Point3D.`UNIT_Y` The point `(0, 1, 0)`.
    `static Point3D` | Point3D.`UNIT_Z` The point `(0, 0, 1)`.

    Methods in com.orsoncharts.graphics3d that return Point3D
    Modifier and Type | Method and Description
    --- | ---
    `Point3D` | Rotate3D.`applyRotation(double x, double y, double z)` Creates an returns a new point that is the rotation of the point `(x, y, z)` about the axis that was specified via the constructor.
    `Point3D` | Rotate3D.`applyRotation(Point3D p)` Creates and returns a new point that is the rotation of `p` about the axis that was specified via the constructor.
    `Point3D[]` | World.`calculateEyeCoordinates(ViewPoint3D vp)` Returns an array containing the vertices for all objects in this world, transformed to eye coordinates.
    `Point3D[]` | Object3D.`calculateEyeCoordinates(ViewPoint3D viewPoint)` Returns the eye coordinates of the object's vertices.
    `static Point3D` | Point3D.`createPoint3D(double theta, double phi, double rho)` Creates a new `Point3D` instance from spherical coordinates.
    `Point3D` | Line3D.`getEnd()` Returns the ending point for the line.
    `Point3D` | ViewPoint3D.`getHorizontalRotationAxis()` Returns a vector at right angles to the viewing direction and the "up" vector (this axis can be used to rotate forward and backwards).
    `Point3D` | ViewPoint3D.`getPoint()` Returns the location of the view point.
    `Point3D` | Line3D.`getStart()` Returns the starting point for the line.
    `Point3D` | ViewPoint3D.`getVerticalRotationAxis()` Returns the vector that points "up" in relation to the orientation of the view point.
    `static Point3D` | Utils3D.`normal(Point3D a, Point3D b, Point3D c)` Returns the normal vector for the plane defined by three points.
    `static Point3D` | Utils3D.`normalise(Point3D v)` Returns a new vector that is the normalised form of the specified vector.
    `Point3D` | ViewPoint3D.`worldToEye(Point3D p)` Converts a point in world coordinates to a point in eye coordinates.

    Methods in com.orsoncharts.graphics3d with parameters of type Point3D
    Modifier and Type | Method and Description
    --- | ---
    `void` | Object3D.`addVertex(Point3D vertex)` Adds a new object vertex.
    `static double` | Utils3D.`angle(Point3D a, Point3D b)` Returns the angle between the two vectors.
    `Point3D` | Rotate3D.`applyRotation(Point3D p)` Creates and returns a new point that is the rotation of `p` about the axis that was specified via the constructor.
    `float` | Face.`calculateAverageZValue(Point3D[] points)` Returns the average z-value.
    `double[]` | Face.`calculateNormal(Point3D[] points)` Calculates the normal vector for this face.
    `static double` | Utils3D.`length(Point3D v)` Returns the length of the vector v.
    `static Point3D` | Utils3D.`normal(Point3D a, Point3D b, Point3D c)` Returns the normal vector for the plane defined by three points.
    `static Point3D` | Utils3D.`normalise(Point3D v)` Returns a new vector that is the normalised form of the specified vector.
    `static double` | Utils3D.`scalarprod(Point3D a, Point3D b)` Returns the scalar product of two vectors.
    `void` | World.`setSunSource(Point3D p)` Sets the light source point.
    `java.util.List<Face>` | StandardFaceSorter.`sort(java.util.List<Face> faces, Point3D[] eyePts)`
    `java.util.List<Face>` | FaceSorter.`sort(java.util.List<Face> faces, Point3D[] eyePts)` Returns a list of faces in the order that they should be painted.
    `Point3D` | ViewPoint3D.`worldToEye(Point3D p)` Converts a point in world coordinates to a point in eye coordinates.
    `java.awt.geom.Point2D` | ViewPoint3D.`worldToScreen(Point3D p, double d)` Calculates and returns the screen coordinates for the specified point in (world) 3D space.

    Constructors in com.orsoncharts.graphics3d with parameters of type Point3D
    Constructor and Description
    `Line3D(Point3D start, Point3D end)` Creates a new line in 3D space.
    `Rotate3D(Point3D a, Point3D b, double angle)` Creates a new instance that will rotate points about the axis passing through points a and b, by the specified angle.
    `ViewPoint3D(Point3D p, double orientation)` Creates a new instance using the specified point and orientation.
    `ZOrderComparator(Point3D[] pts)` Creates a new comparator.