"""
Module containing two classes: Point3 and Rectangle.

Author: Walker M. White (wmw2), Anne Bracy (awb93), Lillian Lee (LJL2)
Date:   Feb 2020
"""


class Point3():
    """
    An instance is a point in 3D space.

    to create a 3D point, type:
    p1 = shapes.Point3(1,2,3)

    """

    def __init__(self, x, y, z):
        """
        Creates a new Point with the given coordinates.
        """
        self.x = x
        self.y = y
        self.z = z

    def greet(self):
        """
        Prints a greeting that tells the location of the point.
        """
        msg = "Hi! I am a 3-dimensional point located at ("
        print(msg + str(self.x)+","+str(self.y)+","+str(self.z)+")")

class Rectangle():
    """
    An instance is a rectangle in 2D space.

    """

    # BUILT_IN METHODS
    def __init__(self, left, bottom, right, top):
        """
        Creates a new Rectangle with the given coordinates.
        """
        self.left = left
        self.bottom = bottom
        self.right = right
        self.top = top

    def greet(self):
        """
        Prints a greeting that tells the bottom left corner of the rectangle.
        """
        print("Hi, I am a rectangle. My bottom left corner is located at ("+str(self.left)+","+str(self.bottom)+")")

