fairyfly-core 0.2.12__tar.gz → 0.2.13__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.
Files changed (40) hide show
  1. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/PKG-INFO +1 -1
  2. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/model.py +38 -0
  3. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly_core.egg-info/PKG-INFO +1 -1
  4. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/CODE_OF_CONDUCT.md +0 -0
  5. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/CONTRIBUTING.md +0 -0
  6. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/LICENSE +0 -0
  7. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/MANIFEST.in +0 -0
  8. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/README.md +0 -0
  9. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/dev-requirements.txt +0 -0
  10. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/__init__.py +0 -0
  11. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/__main__.py +0 -0
  12. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/_base.py +0 -0
  13. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/_lockable.py +0 -0
  14. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/boundary.py +0 -0
  15. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/checkdup.py +0 -0
  16. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/cli/__init__.py +0 -0
  17. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/cli/setconfig.py +0 -0
  18. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/colorobj.py +0 -0
  19. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/config.json +0 -0
  20. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/config.py +0 -0
  21. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/dictutil.py +0 -0
  22. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/extensionutil.py +0 -0
  23. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/logutil.py +0 -0
  24. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/properties.py +0 -0
  25. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/search.py +0 -0
  26. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/shape.py +0 -0
  27. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/typing.py +0 -0
  28. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/units.py +0 -0
  29. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/writer/__init__.py +0 -0
  30. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/writer/boundary.py +0 -0
  31. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/writer/model.py +0 -0
  32. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly/writer/shape.py +0 -0
  33. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly_core.egg-info/SOURCES.txt +0 -0
  34. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly_core.egg-info/dependency_links.txt +0 -0
  35. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly_core.egg-info/entry_points.txt +0 -0
  36. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly_core.egg-info/requires.txt +0 -0
  37. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/fairyfly_core.egg-info/top_level.txt +0 -0
  38. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/requirements.txt +0 -0
  39. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/setup.cfg +0 -0
  40. {fairyfly_core-0.2.12 → fairyfly_core-0.2.13}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fairyfly-core
3
- Version: 0.2.12
3
+ Version: 0.2.13
4
4
  Summary: A library to represent construction detail geometry for environmental simulation.
5
5
  Home-page: https://github.com/ladybug-tools/fairyfly-core
6
6
  Author: Ladybug Tools
@@ -373,6 +373,44 @@ class Model(_Base):
373
373
  mn, mx = self.min, self.max
374
374
  return Point3D((mn.x + mx.x) / 2, (mn.y + mx.y) / 2, (mn.z + mx.z) / 2)
375
375
 
376
+ @property
377
+ def duplicate_shape_geometry(self):
378
+ """Get a list of Face3Ds for any duplicate Shape geometry in the model.
379
+
380
+ These may not cause holes or extra regions in the model but they can
381
+ nevertheless cause simulation failures.
382
+ """
383
+ duplicates = []
384
+ for i, shape_1 in enumerate(self._shapes):
385
+ try:
386
+ for shape_2 in self._shapes[i + 1:]:
387
+ if shape_1.geometry.is_centered_adjacent(
388
+ shape_2.geometry, self.tolerance):
389
+ duplicates.append(shape_2.geometry)
390
+ except IndexError:
391
+ pass # we have reached the end of the list of shapes
392
+ return duplicates
393
+
394
+ @property
395
+ def duplicate_boundary_geometry(self):
396
+ """Get a list of LineSegment3Ds for any duplicate Boundary geometry in the model.
397
+ """
398
+ # gather together all line segments across the boundaries
399
+ lines = []
400
+ for bound in self._boundaries:
401
+ lines.extend(bound.geometry)
402
+ # evaluate the line segments for equivalency
403
+ duplicates = []
404
+ for i, line_1 in enumerate(lines):
405
+ try:
406
+ for line_2 in lines[i + 1:]:
407
+ if line_1.distance_to_point(line_2.p1) <= self.tolerance and \
408
+ line_1.distance_to_point(line_2.p2) <= self.tolerance:
409
+ duplicates.append(line_2)
410
+ except IndexError:
411
+ pass # we have reached the end of the list of boundaries
412
+ return duplicates
413
+
376
414
  def add_model(self, other_model):
377
415
  """Add another Model object to this model."""
378
416
  assert isinstance(other_model, Model), \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fairyfly-core
3
- Version: 0.2.12
3
+ Version: 0.2.13
4
4
  Summary: A library to represent construction detail geometry for environmental simulation.
5
5
  Home-page: https://github.com/ladybug-tools/fairyfly-core
6
6
  Author: Ladybug Tools
File without changes
File without changes
File without changes
File without changes