honeybee_ph_utils.face_tools module¶
Tools for working with Honeybee.face.Face objects.
- honeybee_ph_utils.face_tools.find_connected_HB_Faces(_hb_faces: List[Face], _tolerance: float) List[List[Face]][source]¶
Finds ‘connected’ HB-Faces.
- Parameters:
Shade] (_hb_faces List[Face |) – A list of Honeybee face or shades to search for connected components.
_tolerance – A tolerance value for determining whether two faces are touching.
- Returns:
A list of lists, where each inner list contains a connected component of touching faces.
- honeybee_ph_utils.face_tools.group_hb_faces(_hb_faces: Sequence[T], _tolerance: float, _angle_tolerance_degrees: float) List[List[T]][source]¶
Sort HB-Faces into groups of similar, planar, connected faces.
- Parameters:
_hb_faces – (List[Face | Shade]) A list of HB-Faces to sort.
_tolerance – (Model units) The tolerance value for co-planarity test, in model units.
_angle_tolerance_degrees – (Degrees) The tolerance for co-planarity, in degrees.
- Returns:
(List[List[Face | Shade]]) A list of lists of HB-Faces that are similar, planar, and connected.
- honeybee_ph_utils.face_tools.hb_faces_are_touching(_face_2: Face, _face_1: Face, _tolerance: float) bool[source]¶
Return True if the faces are ‘touching’ one another within the tolerance.
- honeybee_ph_utils.face_tools.points_are_coincident(_pt1: Point3D, _pt2: Point3D, _tolerance: float) bool[source]¶
Return True if two Point3D objects are coincident within the tolerance.
- honeybee_ph_utils.face_tools.sort_hb_faces_by_co_planar(_faces: List[T], _tolerance: float, _angle_tolerance_radians: float) List[List[T]][source]¶
Group HB-Faces with their co-planar neighbors. :param _faces: (List[Face | Shade]) A list of HB-Faces to sort. :param _tolerance: (Model units) The tolerance value for co-planarity test, in model units. :param _angle_tolerance: (Radians) The tolerance for co-planarity, in radians.
- Returns:
(List[List[Face | Shade]]) A list of lists of HB-Faces that are co-planar.