topologicpy 0.4.99__tar.gz → 0.5.0__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.99/src/topologicpy.egg-info → topologicpy-0.5.0}/PKG-INFO +1 -1
  2. {topologicpy-0.4.99 → topologicpy-0.5.0}/pyproject.toml +1 -1
  3. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Vertex.py +24 -20
  4. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/__init__.py +1 -1
  5. {topologicpy-0.4.99 → topologicpy-0.5.0/src/topologicpy.egg-info}/PKG-INFO +1 -1
  6. {topologicpy-0.4.99 → topologicpy-0.5.0}/LICENSE +0 -0
  7. {topologicpy-0.4.99 → topologicpy-0.5.0}/MANIFEST.in +0 -0
  8. {topologicpy-0.4.99 → topologicpy-0.5.0}/README.md +0 -0
  9. {topologicpy-0.4.99 → topologicpy-0.5.0}/setup.cfg +0 -0
  10. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Aperture.py +0 -0
  11. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Cell.py +0 -0
  12. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/CellComplex.py +0 -0
  13. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Cluster.py +0 -0
  14. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Color.py +0 -0
  15. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Context.py +0 -0
  16. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/DGL.py +0 -0
  17. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Dictionary.py +0 -0
  18. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Edge.py +0 -0
  19. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/EnergyModel.py +0 -0
  20. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Face.py +0 -0
  21. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Graph.py +0 -0
  22. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Grid.py +0 -0
  23. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Helper.py +0 -0
  24. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Honeybee.py +0 -0
  25. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Matrix.py +0 -0
  26. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Neo4j.py +0 -0
  27. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Plotly.py +0 -0
  28. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Polyskel.py +0 -0
  29. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Shell.py +0 -0
  30. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Speckle.py +0 -0
  31. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Topology.py +0 -0
  32. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Vector.py +0 -0
  33. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/Wire.py +0 -0
  34. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/__init__.py +0 -0
  35. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKBO-6bdf205d.so.7.7.0 +0 -0
  36. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKBRep-2960a069.so.7.7.0 +0 -0
  37. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKBool-c44b74bd.so.7.7.0 +0 -0
  38. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKFillet-9a670ba0.so.7.7.0 +0 -0
  39. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKG2d-8f31849e.so.7.7.0 +0 -0
  40. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKG3d-4c6bce57.so.7.7.0 +0 -0
  41. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKGeomAlgo-26066fd9.so.7.7.0 +0 -0
  42. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKGeomBase-2116cabe.so.7.7.0 +0 -0
  43. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKMath-72572fa8.so.7.7.0 +0 -0
  44. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKMesh-2a060427.so.7.7.0 +0 -0
  45. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKOffset-6cab68ff.so.7.7.0 +0 -0
  46. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKPrim-eb1262b3.so.7.7.0 +0 -0
  47. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKShHealing-e67e5cc7.so.7.7.0 +0 -0
  48. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKTopAlgo-e4c96c33.so.7.7.0 +0 -0
  49. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libTKernel-fb7fe3b7.so.7.7.0 +0 -0
  50. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libgcc_s-32c1665e.so.1 +0 -0
  51. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/libstdc++-672d7b41.so.6.0.30 +0 -0
  52. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/topologic.cpython-310-x86_64-linux-gnu.so +0 -0
  53. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/topologic.cpython-311-x86_64-linux-gnu.so +0 -0
  54. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/topologic.cpython-38-x86_64-linux-gnu.so +0 -0
  55. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic/topologic.cpython-39-x86_64-linux-gnu.so +0 -0
  56. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKBO-6bdf205d.so.7.7.0 +0 -0
  57. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKBRep-2960a069.so.7.7.0 +0 -0
  58. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKBool-c44b74bd.so.7.7.0 +0 -0
  59. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKFillet-9a670ba0.so.7.7.0 +0 -0
  60. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKG2d-8f31849e.so.7.7.0 +0 -0
  61. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKG3d-4c6bce57.so.7.7.0 +0 -0
  62. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKGeomAlgo-26066fd9.so.7.7.0 +0 -0
  63. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKGeomBase-2116cabe.so.7.7.0 +0 -0
  64. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKMath-72572fa8.so.7.7.0 +0 -0
  65. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKMesh-2a060427.so.7.7.0 +0 -0
  66. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKOffset-6cab68ff.so.7.7.0 +0 -0
  67. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKPrim-eb1262b3.so.7.7.0 +0 -0
  68. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKShHealing-e67e5cc7.so.7.7.0 +0 -0
  69. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKTopAlgo-e4c96c33.so.7.7.0 +0 -0
  70. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libTKernel-fb7fe3b7.so.7.7.0 +0 -0
  71. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libgcc_s-32c1665e.so.1 +0 -0
  72. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/linux/topologic.libs/libstdc++-672d7b41.so.6.0.30 +0 -0
  73. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/macos/topologic/__init__.py +0 -0
  74. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKBO-f6b191de.dll +0 -0
  75. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKBRep-e56a600e.dll +0 -0
  76. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKBool-7b8d47ae.dll +0 -0
  77. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKFillet-0ddbf0a8.dll +0 -0
  78. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKG2d-2e2dee3d.dll +0 -0
  79. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKG3d-6674513d.dll +0 -0
  80. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKGeomAlgo-d240e370.dll +0 -0
  81. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKGeomBase-df87aba5.dll +0 -0
  82. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKMath-45bd625a.dll +0 -0
  83. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKMesh-d6e826b1.dll +0 -0
  84. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKOffset-79b9cc94.dll +0 -0
  85. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKPrim-aa430a86.dll +0 -0
  86. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKShHealing-bb48be89.dll +0 -0
  87. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKTopAlgo-7d0d1e22.dll +0 -0
  88. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/TKernel-08c8cfbb.dll +0 -0
  89. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/__init__.py +0 -0
  90. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/topologic.cp310-win_amd64.pyd +0 -0
  91. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/topologic.cp311-win_amd64.pyd +0 -0
  92. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/topologic.cp38-win_amd64.pyd +0 -0
  93. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy/bin/windows/topologic/topologic.cp39-win_amd64.pyd +0 -0
  94. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy.egg-info/SOURCES.txt +0 -0
  95. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy.egg-info/dependency_links.txt +0 -0
  96. {topologicpy-0.4.99 → topologicpy-0.5.0}/src/topologicpy.egg-info/requires.txt +0 -0
  97. {topologicpy-0.4.99 → topologicpy-0.5.0}/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.99
3
+ Version: 0.5.0
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.99"
6
+ version = "0.5.0"
7
7
  authors = [
8
8
  { name="Wassim Jabi", email="wassim.jabi@gmail.com" },
9
9
  ]
@@ -1477,31 +1477,35 @@ class Vertex(Topology):
1477
1477
  """
1478
1478
  from topologicpy.Face import Face
1479
1479
 
1480
- def project_point_onto_plane(point, plane_coeffs):
1480
+ def project_point_onto_plane(point, plane_coeffs, direction_vector):
1481
1481
  """
1482
- Project a point onto a plane defined by its equation coefficients (a, b, c, d).
1483
-
1484
- Args:
1485
- point: A tuple or list containing the coordinates of the point (x, y, z).
1486
- plane_coeffs: A tuple or list containing the plane equation coefficients (a, b, c, d).
1487
-
1482
+ Project a 3D point onto a plane defined by its coefficients and using a direction vector.
1483
+
1484
+ Parameters:
1485
+ point (tuple or list): The 3D point coordinates (x, y, z).
1486
+ plane_coeffs (tuple or list): The coefficients of the plane equation (a, b, c, d).
1487
+ direction_vector (tuple or list): The direction vector (vx, vy, vz).
1488
+
1488
1489
  Returns:
1489
- projected_point: A tuple containing the coordinates of the projected point (x_proj, y_proj, z_proj).
1490
+ tuple: The projected point coordinates (x_proj, y_proj, z_proj).
1490
1491
  """
1492
+ # Unpack point coordinates
1491
1493
  x, y, z = point
1494
+
1495
+ # Unpack plane coefficients
1492
1496
  a, b, c, d = plane_coeffs
1493
-
1497
+
1498
+ # Unpack direction vector
1499
+ vx, vy, vz = direction_vector
1500
+
1494
1501
  # Calculate the distance from the point to the plane
1495
- if (a**2 + b**2 + c**2) == 0:
1496
- distance = 0
1497
- else:
1498
- distance = (a * x + b * y + c * z + d) / (a**2 + b**2 + c**2)
1499
-
1500
- # Calculate the coordinates of the projected point
1501
- x_proj = round(x - distance * a, mantissa)
1502
- y_proj = round(y - distance * b, mantissa)
1503
- z_proj = round(z - distance * c, mantissa)
1504
-
1502
+ distance = (a * x + b * y + c * z + d) / (a * vx + b * vy + c * vz)
1503
+
1504
+ # Calculate the projected point coordinates
1505
+ x_proj = x - distance * vx
1506
+ y_proj = y - distance * vy
1507
+ z_proj = z - distance * vz
1508
+
1505
1509
  return [x_proj, y_proj, z_proj]
1506
1510
 
1507
1511
  if not isinstance(vertex, topologic.Vertex):
@@ -1509,7 +1513,7 @@ class Vertex(Topology):
1509
1513
  if not isinstance(face, topologic.Face):
1510
1514
  return None
1511
1515
  eq = Face.PlaneEquation(face, mantissa= mantissa)
1512
- pt = project_point_onto_plane(Vertex.Coordinates(vertex), [eq["a"], eq["b"], eq["c"], eq["d"]])
1516
+ pt = project_point_onto_plane(Vertex.Coordinates(vertex), [eq["a"], eq["b"], eq["c"], eq["d"]], direction)
1513
1517
  return Vertex.ByCoordinates(pt[0], pt[1], pt[2])
1514
1518
 
1515
1519
  @staticmethod
@@ -18,7 +18,7 @@ import sys
18
18
  import os, re
19
19
  from sys import platform
20
20
 
21
- __version__ = '0.4.99'
21
+ __version__ = '0.5.0'
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.99
3
+ Version: 0.5.0
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