code: def get_height(self, points, edge=True, attach=False, 
                     extra_height=0):
          
          points = self.surface.get_height(points, edge=edge)  
          points[:, 2] += extra_height
          if attach: 
              logic = np.logical_not(np.isnan(points[:, 2]))
              self.add_set_of_points(points[logic])
          else:
              return points
docs: Launch ``pyny.Surface.get_height(points)`` for the Place's 
          Surface.
          
          This method gives the possibility to store the computed points
          along with the Place's set of points. It also makes possible to
          add an extra height (z value) to these points.
          
          The points outside the object will have a NaN value in the
          z column. These point will not be stored but it will be
          returned.
           
          :param points: list of coordinates of the points to calculate.
          :type points: ndarray (shape=(N, 2 or 3))
          :param edge: If True, consider the points in the Polygon's edge
              inside the Polygon.
          :type edge: bool
          :param attach: If True, stores the computed points along with
              the Place's set of points.
          :type attach: bool
          :param extra_height: Adds an extra height (z value) to the
              resulting points.
          :type extra_height: float
          :returns: (x, y, z)
          :rtype: ndarray