/**
 * PublicPoint3d is a variation of Point3d in which all
 * of the fields are public.  This means that we no 
 * longer need getters and setters.  However, this is
 * VERY BAD DESIGN. Getters and setters allow us to
 * enforce invariants; we have no control over public
 * fields.
 * 
 * Walker White
 * February 2, 2012
 */
public class PublicPoint3d {
  
    /* These are the three coordinates. */
    public double x; // x coordinate; no restrictions
    public double y; // y coordinate; no restrictions
    public double z; // z coordinate; no restrictions
    
    /** 
     * Constructor:  a point at the origin 
     * Precondition: None
     */
    public PublicPoint3d() {
        x = 0.0;  
        y = 0.0;  
        z = 0.0;
    }
    
    /** 
     * Constructor: a point with given coordinates (x0,y0,z0)
     * Precondition: None
     */
    public PublicPoint3d(double x0, double y0, double z0) {
       x = x0;
       y = y0;
       z = z0;
    }
}