topologicpy 0.4.73__tar.gz → 0.4.75__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 (97) hide show
  1. {topologicpy-0.4.73/src/topologicpy.egg-info → topologicpy-0.4.75}/PKG-INFO +1 -1
  2. {topologicpy-0.4.73 → topologicpy-0.4.75}/pyproject.toml +1 -1
  3. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/CellComplex.py +66 -0
  4. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Graph.py +1 -1
  5. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/__init__.py +1 -1
  6. {topologicpy-0.4.73 → topologicpy-0.4.75/src/topologicpy.egg-info}/PKG-INFO +1 -1
  7. {topologicpy-0.4.73 → topologicpy-0.4.75}/LICENSE +0 -0
  8. {topologicpy-0.4.73 → topologicpy-0.4.75}/MANIFEST.in +0 -0
  9. {topologicpy-0.4.73 → topologicpy-0.4.75}/README.md +0 -0
  10. {topologicpy-0.4.73 → topologicpy-0.4.75}/setup.cfg +0 -0
  11. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Aperture.py +0 -0
  12. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Cell.py +0 -0
  13. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Cluster.py +0 -0
  14. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Color.py +0 -0
  15. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Context.py +0 -0
  16. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/DGL.py +0 -0
  17. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Dictionary.py +0 -0
  18. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Edge.py +0 -0
  19. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/EnergyModel.py +0 -0
  20. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Face.py +0 -0
  21. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Grid.py +0 -0
  22. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Helper.py +0 -0
  23. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Honeybee.py +0 -0
  24. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Matrix.py +0 -0
  25. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Neo4j.py +0 -0
  26. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Plotly.py +0 -0
  27. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Polyskel.py +0 -0
  28. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Shell.py +0 -0
  29. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Speckle.py +0 -0
  30. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Topology.py +0 -0
  31. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Vector.py +0 -0
  32. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Vertex.py +0 -0
  33. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/Wire.py +0 -0
  34. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/__init__.py +0 -0
  35. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKBO-6bdf205d.so.7.7.0 +0 -0
  36. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKBRep-2960a069.so.7.7.0 +0 -0
  37. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKBool-c44b74bd.so.7.7.0 +0 -0
  38. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKFillet-9a670ba0.so.7.7.0 +0 -0
  39. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKG2d-8f31849e.so.7.7.0 +0 -0
  40. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKG3d-4c6bce57.so.7.7.0 +0 -0
  41. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKGeomAlgo-26066fd9.so.7.7.0 +0 -0
  42. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKGeomBase-2116cabe.so.7.7.0 +0 -0
  43. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKMath-72572fa8.so.7.7.0 +0 -0
  44. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKMesh-2a060427.so.7.7.0 +0 -0
  45. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKOffset-6cab68ff.so.7.7.0 +0 -0
  46. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKPrim-eb1262b3.so.7.7.0 +0 -0
  47. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKShHealing-e67e5cc7.so.7.7.0 +0 -0
  48. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKTopAlgo-e4c96c33.so.7.7.0 +0 -0
  49. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libTKernel-fb7fe3b7.so.7.7.0 +0 -0
  50. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libgcc_s-32c1665e.so.1 +0 -0
  51. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/libstdc++-672d7b41.so.6.0.30 +0 -0
  52. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/topologic.cpython-310-x86_64-linux-gnu.so +0 -0
  53. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/topologic.cpython-311-x86_64-linux-gnu.so +0 -0
  54. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/topologic.cpython-38-x86_64-linux-gnu.so +0 -0
  55. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic/topologic.cpython-39-x86_64-linux-gnu.so +0 -0
  56. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKBO-6bdf205d.so.7.7.0 +0 -0
  57. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKBRep-2960a069.so.7.7.0 +0 -0
  58. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKBool-c44b74bd.so.7.7.0 +0 -0
  59. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKFillet-9a670ba0.so.7.7.0 +0 -0
  60. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKG2d-8f31849e.so.7.7.0 +0 -0
  61. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKG3d-4c6bce57.so.7.7.0 +0 -0
  62. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKGeomAlgo-26066fd9.so.7.7.0 +0 -0
  63. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKGeomBase-2116cabe.so.7.7.0 +0 -0
  64. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKMath-72572fa8.so.7.7.0 +0 -0
  65. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKMesh-2a060427.so.7.7.0 +0 -0
  66. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKOffset-6cab68ff.so.7.7.0 +0 -0
  67. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKPrim-eb1262b3.so.7.7.0 +0 -0
  68. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKShHealing-e67e5cc7.so.7.7.0 +0 -0
  69. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKTopAlgo-e4c96c33.so.7.7.0 +0 -0
  70. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libTKernel-fb7fe3b7.so.7.7.0 +0 -0
  71. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libgcc_s-32c1665e.so.1 +0 -0
  72. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/linux/topologic.libs/libstdc++-672d7b41.so.6.0.30 +0 -0
  73. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/macos/topologic/__init__.py +0 -0
  74. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKBO-f6b191de.dll +0 -0
  75. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKBRep-e56a600e.dll +0 -0
  76. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKBool-7b8d47ae.dll +0 -0
  77. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKFillet-0ddbf0a8.dll +0 -0
  78. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKG2d-2e2dee3d.dll +0 -0
  79. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKG3d-6674513d.dll +0 -0
  80. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKGeomAlgo-d240e370.dll +0 -0
  81. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKGeomBase-df87aba5.dll +0 -0
  82. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKMath-45bd625a.dll +0 -0
  83. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKMesh-d6e826b1.dll +0 -0
  84. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKOffset-79b9cc94.dll +0 -0
  85. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKPrim-aa430a86.dll +0 -0
  86. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKShHealing-bb48be89.dll +0 -0
  87. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKTopAlgo-7d0d1e22.dll +0 -0
  88. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/TKernel-08c8cfbb.dll +0 -0
  89. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/__init__.py +0 -0
  90. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/topologic.cp310-win_amd64.pyd +0 -0
  91. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/topologic.cp311-win_amd64.pyd +0 -0
  92. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/topologic.cp38-win_amd64.pyd +0 -0
  93. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy/bin/windows/topologic/topologic.cp39-win_amd64.pyd +0 -0
  94. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy.egg-info/SOURCES.txt +0 -0
  95. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy.egg-info/dependency_links.txt +0 -0
  96. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy.egg-info/requires.txt +0 -0
  97. {topologicpy-0.4.73 → topologicpy-0.4.75}/src/topologicpy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: topologicpy
3
- Version: 0.4.73
3
+ Version: 0.4.75
4
4
  Summary: An Advanced Spatial Modelling and Analysis Software Library for Architecture, Engineering, and Construction.
5
5
  Author-email: Wassim Jabi <wassim.jabi@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/wassimj/TopologicPy
@@ -3,7 +3,7 @@ requires = ["setuptools>=61"]
3
3
  build-backend = "setuptools.build_meta"
4
4
  [project]
5
5
  name = "topologicpy"
6
- version = "0.4.73"
6
+ version = "0.4.75"
7
7
  authors = [
8
8
  { name="Wassim Jabi", email="wassim.jabi@gmail.com" },
9
9
  ]
@@ -967,7 +967,73 @@ class CellComplex(Topology):
967
967
  if not volume == None:
968
968
  volume += Cell.Volume(cell)
969
969
  return round(volume, mantissa)
970
+
971
+ @staticmethod
972
+ def Voronoi(vertices: list, cell: topologic.Cell = None, tolerance: float = 0.0001):
973
+ """
974
+ Partitions the input cell based on the Voronoi method. See https://en.wikipedia.org/wiki/Voronoi_diagram.
975
+
976
+ Parameters
977
+ ----------
978
+ vertices: list
979
+ The input list of vertices to use for voronoi partitioning.
980
+ cell : topologic.Cell , optional
981
+ The input cell. If set to None, an axes-aligned bounding cell is created from the list of vertices. The default is None.
982
+ tolerance : float , optional
983
+ the desired tolerance. The default is 0.0001.
984
+
970
985
 
986
+ Returns
987
+ -------
988
+ float
989
+ The volume of the input cellComplex.
990
+
991
+ """
992
+ from topologicpy.Vertex import Vertex
993
+ from topologicpy.Face import Face
994
+ from topologicpy.Cell import Cell
995
+ from topologicpy.Cluster import Cluster
996
+ from topologicpy.Topology import Topology
997
+ from scipy.spatial import Voronoi as SCIVoronoi
998
+ import numpy as np
999
+
1000
+ def fracture_with_voronoi(points):
1001
+ # Compute Voronoi tessellation
1002
+ vor = SCIVoronoi(points)
1003
+ verts = []
1004
+ faces = []
1005
+ for v in vor.vertices:
1006
+ verts.append(Vertex.ByCoordinates(list(v)))
1007
+ for region in vor.ridge_vertices:
1008
+ temp_list = []
1009
+ if -1 not in region and len(region) > 0:
1010
+ for item in region:
1011
+ temp_list.append(verts[item])
1012
+ f = Face.ByVertices(temp_list)
1013
+ if isinstance(f, topologic.Face):
1014
+ faces.append(f)
1015
+ return Cluster.ByTopologies(faces)
1016
+
1017
+
1018
+ if cell == None:
1019
+ cell = Topology.BoundingBox(Cluster.ByTopologies(vertices))
1020
+ if not isinstance(cell, topologic.Cell):
1021
+ print("CellComplex.Voronoi - Error: The input cell parameter is not a valid cell. Returning None.")
1022
+ return None
1023
+ vertices = [v for v in vertices if Cell.IsInternal(cell, v)]
1024
+ if len(vertices) < 1:
1025
+ print("CellComplex.Voronoi - Error: The input vertices paramter does not contain any vertices that are inside the input cell parameter. Returning None.")
1026
+ return None
1027
+ cell_vertices = Topology.Vertices(cell)
1028
+ all_vertices = cell_vertices + vertices
1029
+ voronoi_points = np.array([Vertex.Coordinates(v) for v in all_vertices])
1030
+ cluster = fracture_with_voronoi(voronoi_points)
1031
+ cellComplex = Topology.Slice(cell, cluster)
1032
+ if not isinstance(cellComplex, topologic.CellComplex):
1033
+ print("CellComplex.Voronoi - Error: the operation failed. Returning None.")
1034
+ return None
1035
+ return cellComplex
1036
+
971
1037
  @staticmethod
972
1038
  def Wires(cellComplex: topologic.CellComplex) -> list:
973
1039
  """
@@ -5462,7 +5462,7 @@ class Graph:
5462
5462
  shortest_path = Edge.Reverse(shortest_path)
5463
5463
  if isinstance(shortest_path, topologic.Wire):
5464
5464
  shortest_path = Wire.Reverse(shortest_path)
5465
- return shortest_path
5465
+ return shortest_path
5466
5466
  except:
5467
5467
  return None
5468
5468
 
@@ -18,7 +18,7 @@ import sys
18
18
  import os, re
19
19
  from sys import platform
20
20
 
21
- __version__ = '0.4.73'
21
+ __version__ = '0.4.75'
22
22
  __version_info__ = tuple([ int(num) for num in __version__.split('.')])
23
23
 
24
24
  if platform == 'win32':
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: topologicpy
3
- Version: 0.4.73
3
+ Version: 0.4.75
4
4
  Summary: An Advanced Spatial Modelling and Analysis Software Library for Architecture, Engineering, and Construction.
5
5
  Author-email: Wassim Jabi <wassim.jabi@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/wassimj/TopologicPy
File without changes
File without changes
File without changes
File without changes