honeybee-core 1.61.29__tar.gz → 1.61.31__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {honeybee_core-1.61.29/honeybee_core.egg-info → honeybee_core-1.61.31}/PKG-INFO +3 -3
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/cli/edit.py +2 -1
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/face.py +2 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/model.py +34 -13
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/room.py +24 -4
- {honeybee_core-1.61.29 → honeybee_core-1.61.31/honeybee_core.egg-info}/PKG-INFO +3 -3
- honeybee_core-1.61.31/honeybee_core.egg-info/requires.txt +5 -0
- honeybee_core-1.61.31/requirements.txt +3 -0
- honeybee_core-1.61.29/honeybee_core.egg-info/requires.txt +0 -5
- honeybee_core-1.61.29/requirements.txt +0 -3
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/.github/workflows/ci.yaml +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/.github/workflows/dependency-release.yaml +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/.gitignore +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/.releaserc.json +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/CODE_OF_CONDUCT.md +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/CONTRIBUTING.md +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/LICENSE +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/MANIFEST.in +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/README.md +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/deploy.sh +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/dev-requirements.txt +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/docs/_build/.nojekyll +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/docs/_build/README.md +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/docs/_build/docs/README.md +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/docs/_static/custom.css +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/docs/_templates/layout.html +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/docs/cli/index.rst +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/docs/conf.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/docs/index.rst +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/__init__.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/__main__.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/_base.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/_basewithshade.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/_lockable.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/altnumber.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/aperture.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/boundarycondition.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/checkdup.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/cli/__init__.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/cli/compare.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/cli/create.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/cli/lib.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/cli/setconfig.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/cli/validate.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/colorobj.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/config.json +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/config.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/dictutil.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/door.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/extensionutil.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/facetype.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/logutil.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/orientation.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/properties.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/search.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/shade.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/shademesh.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/typing.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/units.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/writer/__init__.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/writer/aperture.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/writer/door.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/writer/face.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/writer/model.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/writer/room.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/writer/shade.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee/writer/shademesh.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee_core.egg-info/SOURCES.txt +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee_core.egg-info/dependency_links.txt +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee_core.egg-info/entry_points.txt +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/honeybee_core.egg-info/top_level.txt +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/setup.cfg +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/setup.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/__init__.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/aperture_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/boundary_condition_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/cli_compare_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/cli_create_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/cli_edit_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/cli_validate_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/colorobj_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/config_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/dictutil_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/door_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/face_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/facetype_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/ShoeBox.json +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/bad_geometry_model.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/colliding_room_volumes.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/compare_model_1.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/compare_model_2.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/complex_polyfaces.json +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/minor_geometry/existing_model.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/minor_geometry/updated_model.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/mismatched_area_adj.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/model_with_adiabatic.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/model_with_holes.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/model_without_adjacency.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/nonascii_face.json +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/polygons_for_gap_boundary.json +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/room_for_window_offset.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/single_family_home.hbjson +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/lockable_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/model_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/orientation_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/room_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/search_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/shade_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/shademesh_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/stl/cube_ascii.stl +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/stl/cube_binary.stl +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/typing_test.py +0 -0
- {honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/units_test.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: honeybee-core
|
|
3
|
-
Version: 1.61.
|
|
3
|
+
Version: 1.61.31
|
|
4
4
|
Summary: A library to create 3D building geometry for various types of environmental simulation.
|
|
5
5
|
Home-page: https://github.com/ladybug-tools/honeybee-core
|
|
6
6
|
Author: Ladybug Tools
|
|
@@ -14,8 +14,8 @@ Classifier: License :: OSI Approved :: GNU Affero General Public License v3
|
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: ladybug-core==0.44.
|
|
18
|
-
Requires-Dist: ladybug-geometry-polyskel==1.7.
|
|
17
|
+
Requires-Dist: ladybug-core==0.44.20
|
|
18
|
+
Requires-Dist: ladybug-geometry-polyskel==1.7.31
|
|
19
19
|
Requires-Dist: honeybee-schema==1.59.0; python_version >= "3.7"
|
|
20
20
|
|
|
21
21
|

|
|
@@ -104,7 +104,8 @@ def solve_adjacency(model_file, no_merge, no_intersect, no_overwrite,
|
|
|
104
104
|
air_boundary = not wall
|
|
105
105
|
adiabatic = not surface
|
|
106
106
|
parsed_model.solve_adjacency(
|
|
107
|
-
merge_coplanar, intersect, overwrite,
|
|
107
|
+
merge_coplanar, intersect, overwrite,
|
|
108
|
+
air_boundary=air_boundary, adiabatic=adiabatic)
|
|
108
109
|
|
|
109
110
|
# write the new model out to the file or stdout
|
|
110
111
|
output_file.write(json.dumps(parsed_model.to_dict()))
|
|
@@ -740,6 +740,8 @@ class Face(_BaseWithShade):
|
|
|
740
740
|
if len(joined_bounds) == 1: # can be represented with a single Face3D
|
|
741
741
|
verts3d = tuple(ref_plane.xy_to_xyz(_v) for _v in joined_bounds[0])
|
|
742
742
|
non_rect_geos = [Face3D(verts3d, plane=ref_plane)]
|
|
743
|
+
elif len(joined_bounds) == 0: # everything was invalid
|
|
744
|
+
non_rect_geos = []
|
|
743
745
|
else: # need to separate holes from distinct Face3Ds
|
|
744
746
|
bound_faces = []
|
|
745
747
|
for poly in joined_bounds:
|
|
@@ -1449,7 +1449,7 @@ class Model(_Base):
|
|
|
1449
1449
|
|
|
1450
1450
|
def solve_adjacency(
|
|
1451
1451
|
self, merge_coplanar=False, intersect=False, overwrite=False,
|
|
1452
|
-
air_boundary=False, adiabatic=False,
|
|
1452
|
+
remove_mismatched_sub_faces=True, air_boundary=False, adiabatic=False,
|
|
1453
1453
|
tolerance=None, angle_tolerance=None):
|
|
1454
1454
|
"""Solve adjacency between Rooms of the Model.
|
|
1455
1455
|
|
|
@@ -1465,6 +1465,10 @@ class Model(_Base):
|
|
|
1465
1465
|
solved. (Default: False).
|
|
1466
1466
|
overwrite: Boolean to note whether existing Surface boundary
|
|
1467
1467
|
conditions should be overwritten. (Default: False).
|
|
1468
|
+
remove_mismatched_sub_faces: Boolean to note whether any mis-matches
|
|
1469
|
+
in sub-faces between adjacent rooms should simply result in
|
|
1470
|
+
the sub-faces being removed rather than raising an
|
|
1471
|
+
exception. (Default: True).
|
|
1468
1472
|
air_boundary: Boolean to note whether the wall adjacencies should be
|
|
1469
1473
|
of the air boundary face type. (Default: False).
|
|
1470
1474
|
adiabatic: Boolean to note whether the adjacencies should be
|
|
@@ -1491,11 +1495,20 @@ class Model(_Base):
|
|
|
1491
1495
|
|
|
1492
1496
|
# solve adjacency
|
|
1493
1497
|
if not overwrite: # only assign new adjacencies
|
|
1494
|
-
adj_info = Room.solve_adjacency(self.rooms, tol)
|
|
1498
|
+
adj_info = Room.solve_adjacency(self.rooms, tol, remove_mismatched_sub_faces)
|
|
1495
1499
|
else: # overwrite existing Surface BC
|
|
1496
1500
|
adj_faces = Room.find_adjacency(self.rooms, tol)
|
|
1497
|
-
|
|
1498
|
-
face_pair
|
|
1501
|
+
if remove_mismatched_sub_faces:
|
|
1502
|
+
for face_pair in adj_faces:
|
|
1503
|
+
try:
|
|
1504
|
+
face_pair[0].set_adjacency(face_pair[1])
|
|
1505
|
+
except AssertionError:
|
|
1506
|
+
face_pair[0].remove_sub_faces()
|
|
1507
|
+
face_pair[1].remove_sub_faces()
|
|
1508
|
+
face_pair[0].set_adjacency(face_pair[1])
|
|
1509
|
+
else:
|
|
1510
|
+
for face_pair in adj_faces:
|
|
1511
|
+
face_pair[0].set_adjacency(face_pair[1])
|
|
1499
1512
|
adj_info = {'adjacent_faces': adj_faces}
|
|
1500
1513
|
|
|
1501
1514
|
# try to assign the air boundary face type
|
|
@@ -3484,11 +3497,6 @@ class Model(_Base):
|
|
|
3484
3497
|
json_output: Boolean to note whether the output validation report
|
|
3485
3498
|
should be formatted as a JSON object instead of plain text.
|
|
3486
3499
|
"""
|
|
3487
|
-
# first get the function to call on this class
|
|
3488
|
-
check_func = getattr(Model, check_function, None)
|
|
3489
|
-
assert check_func is not None, \
|
|
3490
|
-
'Honeybee Model class has no method {}'.format(check_function)
|
|
3491
|
-
|
|
3492
3500
|
# process the input model if it's not already serialized
|
|
3493
3501
|
report = ''
|
|
3494
3502
|
if isinstance(model, str):
|
|
@@ -3505,8 +3513,22 @@ class Model(_Base):
|
|
|
3505
3513
|
elif not isinstance(model, Model):
|
|
3506
3514
|
report = 'Input Model for validation is not a Model object, ' \
|
|
3507
3515
|
'file path to a Model or a Model HBJSON string.'
|
|
3516
|
+
|
|
3517
|
+
# get the function to call to do checks
|
|
3518
|
+
if '.' in check_function: # nested attribute
|
|
3519
|
+
attributes = check_function.split('.') # get all the sub-attributes
|
|
3520
|
+
check_func = model
|
|
3521
|
+
for attribute in attributes:
|
|
3522
|
+
if check_func is None:
|
|
3523
|
+
continue
|
|
3524
|
+
check_func = getattr(check_func, attribute, None)
|
|
3525
|
+
else:
|
|
3526
|
+
check_func = getattr(model, check_function, None)
|
|
3527
|
+
assert check_func is not None, \
|
|
3528
|
+
'Honeybee Model class has no method {}'.format(check_function)
|
|
3529
|
+
|
|
3508
3530
|
# process the arguments and options
|
|
3509
|
-
args = [
|
|
3531
|
+
args = [] if check_args is None else [] + list(check_args)
|
|
3510
3532
|
kwargs = {'raise_exception': False}
|
|
3511
3533
|
|
|
3512
3534
|
# create the report
|
|
@@ -3517,9 +3539,8 @@ class Model(_Base):
|
|
|
3517
3539
|
ver_msg = 'Validating Model using honeybee-core=={} and ' \
|
|
3518
3540
|
'honeybee-schema=={}'.format(c_ver, s_ver)
|
|
3519
3541
|
# run the check function
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
report = check_func(*args, **kwargs)
|
|
3542
|
+
kwargs['detailed'] = False
|
|
3543
|
+
report = check_func(*args, **kwargs)
|
|
3523
3544
|
# format the results of the check
|
|
3524
3545
|
if report == '':
|
|
3525
3546
|
full_msg = ver_msg + '\nCongratulations! Your Model is valid!'
|
|
@@ -1759,10 +1759,18 @@ class Room(_BaseWithShade):
|
|
|
1759
1759
|
nf = Face(fid, new_geo, prop_f.type, fbc)
|
|
1760
1760
|
for ap in apertures:
|
|
1761
1761
|
if nf.geometry.is_sub_face(ap.geometry, tol, a_tol):
|
|
1762
|
-
|
|
1762
|
+
try:
|
|
1763
|
+
nf.add_aperture(ap)
|
|
1764
|
+
except AssertionError: # probably adiabatic
|
|
1765
|
+
nf.boundary_condition = boundary_conditions.outdoors
|
|
1766
|
+
nf.add_aperture(ap)
|
|
1763
1767
|
for dr in doors:
|
|
1764
1768
|
if nf.geometry.is_sub_face(dr.geometry, tol, a_tol):
|
|
1765
|
-
|
|
1769
|
+
try:
|
|
1770
|
+
nf.add_door(dr)
|
|
1771
|
+
except AssertionError: # probably adiabatic
|
|
1772
|
+
nf.boundary_condition = boundary_conditions.outdoors
|
|
1773
|
+
nf.add_door(dr)
|
|
1766
1774
|
if i == 0: # add all assigned shades to this face
|
|
1767
1775
|
nf.add_indoor_shades(in_shades)
|
|
1768
1776
|
nf.add_outdoor_shades(out_shades)
|
|
@@ -1943,7 +1951,7 @@ class Room(_BaseWithShade):
|
|
|
1943
1951
|
room.coplanar_split(other_rooms, tolerance, angle_tolerance)
|
|
1944
1952
|
|
|
1945
1953
|
@staticmethod
|
|
1946
|
-
def solve_adjacency(rooms, tolerance=0.01):
|
|
1954
|
+
def solve_adjacency(rooms, tolerance=0.01, remove_mismatched_sub_faces=False):
|
|
1947
1955
|
"""Solve for adjacencies between a list of rooms.
|
|
1948
1956
|
|
|
1949
1957
|
Note that this method will mutate the input rooms by setting Surface
|
|
@@ -1956,6 +1964,10 @@ class Room(_BaseWithShade):
|
|
|
1956
1964
|
tolerance: The minimum difference between the coordinate values of two
|
|
1957
1965
|
faces at which they can be considered centered adjacent. Default: 0.01,
|
|
1958
1966
|
suitable for objects in meters.
|
|
1967
|
+
remove_mismatched_sub_faces: Boolean to note whether any mis-matches
|
|
1968
|
+
in sub-faces between adjacent rooms should simply result in
|
|
1969
|
+
the sub-faces being removed rather than raising an
|
|
1970
|
+
exception. (Default: False).
|
|
1959
1971
|
|
|
1960
1972
|
Returns:
|
|
1961
1973
|
A dictionary of information about the objects that had their adjacency set.
|
|
@@ -1989,7 +2001,15 @@ class Room(_BaseWithShade):
|
|
|
1989
2001
|
if not isinstance(face_2.boundary_condition, Surface):
|
|
1990
2002
|
if face_1.geometry.is_centered_adjacent(
|
|
1991
2003
|
face_2.geometry, tolerance):
|
|
1992
|
-
|
|
2004
|
+
if not remove_mismatched_sub_faces:
|
|
2005
|
+
face_info = face_1.set_adjacency(face_2)
|
|
2006
|
+
else:
|
|
2007
|
+
try:
|
|
2008
|
+
face_info = face_1.set_adjacency(face_2)
|
|
2009
|
+
except AssertionError:
|
|
2010
|
+
face_1[0].remove_sub_faces()
|
|
2011
|
+
face_2.remove_sub_faces()
|
|
2012
|
+
face_info = face_1.set_adjacency(face_2)
|
|
1993
2013
|
adj_info['adjacent_faces'].append((face_1, face_2))
|
|
1994
2014
|
adj_info['adjacent_apertures'].extend(
|
|
1995
2015
|
face_info['adjacent_apertures'])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: honeybee-core
|
|
3
|
-
Version: 1.61.
|
|
3
|
+
Version: 1.61.31
|
|
4
4
|
Summary: A library to create 3D building geometry for various types of environmental simulation.
|
|
5
5
|
Home-page: https://github.com/ladybug-tools/honeybee-core
|
|
6
6
|
Author: Ladybug Tools
|
|
@@ -14,8 +14,8 @@ Classifier: License :: OSI Approved :: GNU Affero General Public License v3
|
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: ladybug-core==0.44.
|
|
18
|
-
Requires-Dist: ladybug-geometry-polyskel==1.7.
|
|
17
|
+
Requires-Dist: ladybug-core==0.44.20
|
|
18
|
+
Requires-Dist: ladybug-geometry-polyskel==1.7.31
|
|
19
19
|
Requires-Dist: honeybee-schema==1.59.0; python_version >= "3.7"
|
|
20
20
|
|
|
21
21
|

|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/minor_geometry/existing_model.hbjson
RENAMED
|
File without changes
|
{honeybee_core-1.61.29 → honeybee_core-1.61.31}/tests/json/minor_geometry/updated_model.hbjson
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|