docs: def get_height(self, points, only_in = True, edge=True, full=False):
          """
          Given a set of points, it computes the z value for the 
  		parametric equation of the plane where the polygon belongs.
          
          Only the two first columns of the points will be taken into 
          account as x and y.
          
          By default, the points outside the object will have a NaN value 
          in the z column. If the inputed points has a third column the z 
          values outside the Surface's domain will remain unchanged, the 
          rest will be replaced.
          
          :param points: Coordinates of the points to calculate.
          :type points: ndarray shape=(N, 2 or 3)
          :param only_in: If True, computes only the points which are 
              inside of the Polygon.
          :type only_in: bool
          :param edge: If True, consider the points in the Polygon's edge
              inside the Polygon.
          :type edge: bool
          :param full: If true, the return will have three columns 
              (x, y, z) instead of one (z).
          :type full: bool
          :returns: (z) or (x, y, z)
          :rtype: ndarray shape=(N, 1 or 3)
          """
          
          p = self.get_parametric()
          z = (-p[0]*points[:, 0]-p[1]*points[:, 1]-p[3])/p[2]
          
          if only_in:
              pip = self.contains(points, edge=edge)
              z[pip == False] *= np.nan
              
          if full:
              z = np.hstack((points[:, :2], 
                             np.reshape(z, (points.shape[0], 1))))
              if points.shape[1] == 3: # Restore original z
                  z[pip == False] = points[pip == False]
          return z