topologicpy 0.8.9__py3-none-any.whl → 0.8.11__py3-none-any.whl
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.
- topologicpy/BVH.py +1 -1
- topologicpy/Cell.py +2 -2
- topologicpy/CellComplex.py +2 -2
- topologicpy/Edge.py +23 -23
- topologicpy/Face.py +61 -6
- topologicpy/Graph.py +221 -222
- topologicpy/Helper.py +55 -0
- topologicpy/Matrix.py +211 -5
- topologicpy/Plotly.py +8 -9
- topologicpy/Polyskel.py +3 -3
- topologicpy/Shell.py +4 -4
- topologicpy/Topology.py +350 -406
- topologicpy/Vector.py +84 -35
- topologicpy/Vertex.py +63 -6
- topologicpy/Wire.py +26 -145
- topologicpy/version.py +1 -1
- {topologicpy-0.8.9.dist-info → topologicpy-0.8.11.dist-info}/METADATA +1 -1
- topologicpy-0.8.11.dist-info/RECORD +36 -0
- topologicpy-0.8.9.dist-info/RECORD +0 -36
- {topologicpy-0.8.9.dist-info → topologicpy-0.8.11.dist-info}/LICENSE +0 -0
- {topologicpy-0.8.9.dist-info → topologicpy-0.8.11.dist-info}/WHEEL +0 -0
- {topologicpy-0.8.9.dist-info → topologicpy-0.8.11.dist-info}/top_level.txt +0 -0
topologicpy/Wire.py
CHANGED
@@ -774,7 +774,7 @@ class Wire():
|
|
774
774
|
# We want this difference to be as close to 0 as possible
|
775
775
|
loss = (new_area - area) ** 2
|
776
776
|
# If the loss is less than the tolerance, accept the result and return a loss of 0.
|
777
|
-
if loss
|
777
|
+
if loss <= tolerance:
|
778
778
|
return 0
|
779
779
|
# Otherwise, return the actual loss value.
|
780
780
|
return loss
|
@@ -960,10 +960,10 @@ class Wire():
|
|
960
960
|
print("Wire.Circle - Error: The input placement parameter is not a recognized string. Returning None.")
|
961
961
|
return None
|
962
962
|
radius = abs(radius)
|
963
|
-
if radius
|
963
|
+
if radius <= tolerance:
|
964
964
|
return None
|
965
965
|
|
966
|
-
if (abs(direction[0]) + abs(direction[1]) + abs(direction[2]))
|
966
|
+
if (abs(direction[0]) + abs(direction[1]) + abs(direction[2])) <= tolerance:
|
967
967
|
return None
|
968
968
|
baseV = []
|
969
969
|
xList = []
|
@@ -971,7 +971,7 @@ class Wire():
|
|
971
971
|
|
972
972
|
if toAngle < fromAngle:
|
973
973
|
toAngle += 360
|
974
|
-
if abs(toAngle-fromAngle)
|
974
|
+
if abs(toAngle-fromAngle) <= tolerance:
|
975
975
|
return None
|
976
976
|
angleRange = toAngle - fromAngle
|
977
977
|
fromAngle = math.radians(fromAngle)
|
@@ -1057,7 +1057,7 @@ class Wire():
|
|
1057
1057
|
if i1 == None or i2 == None:
|
1058
1058
|
print("Wire.Close - Error: Something went wrong. Returning None.")
|
1059
1059
|
return None
|
1060
|
-
if d
|
1060
|
+
if d <= tolerance:
|
1061
1061
|
g_vertices[i1] = Vertex.Coordinates(end)
|
1062
1062
|
g_vertices[i2] = Vertex.Coordinates(end)
|
1063
1063
|
else:
|
@@ -1780,7 +1780,7 @@ class Wire():
|
|
1780
1780
|
|
1781
1781
|
def vIndex(v, vList, tolerance=0.0001):
|
1782
1782
|
for i in range(len(vList)):
|
1783
|
-
if Vertex.Distance(v, vList[i])
|
1783
|
+
if Vertex.Distance(v, vList[i]) <= tolerance:
|
1784
1784
|
return i+1
|
1785
1785
|
return None
|
1786
1786
|
|
@@ -2080,7 +2080,7 @@ class Wire():
|
|
2080
2080
|
return None
|
2081
2081
|
if placement.lower() not in ["center", "lowerleft"]:
|
2082
2082
|
return None
|
2083
|
-
if (abs(direction[0]) + abs(direction[1]) + abs(direction[2]))
|
2083
|
+
if (abs(direction[0]) + abs(direction[1]) + abs(direction[2])) <= tolerance:
|
2084
2084
|
return None
|
2085
2085
|
width = abs(width)
|
2086
2086
|
length = abs(length)
|
@@ -2089,7 +2089,7 @@ class Wire():
|
|
2089
2089
|
majorAxisLength=abs(majorAxisLength)
|
2090
2090
|
minorAxisLength=abs(minorAxisLength)
|
2091
2091
|
sides = abs(sides)
|
2092
|
-
if width
|
2092
|
+
if width <= tolerance or length <= tolerance or focalLength <= tolerance or eccentricity <= tolerance or majorAxisLength <= tolerance or minorAxisLength <= tolerance or sides < 3:
|
2093
2093
|
return None
|
2094
2094
|
if inputMode == 1:
|
2095
2095
|
w = width
|
@@ -2127,7 +2127,7 @@ class Wire():
|
|
2127
2127
|
|
2128
2128
|
if toAngle < fromAngle:
|
2129
2129
|
toAngle += 360
|
2130
|
-
if abs(toAngle - fromAngle)
|
2130
|
+
if abs(toAngle - fromAngle) <= tolerance:
|
2131
2131
|
return None
|
2132
2132
|
|
2133
2133
|
angleRange = toAngle - fromAngle
|
@@ -2310,7 +2310,7 @@ class Wire():
|
|
2310
2310
|
if len(edges) == 2:
|
2311
2311
|
for edge in edges:
|
2312
2312
|
ev = Edge.EndVertex(edge)
|
2313
|
-
if Vertex.Distance(v, ev)
|
2313
|
+
if Vertex.Distance(v, ev) <= tolerance:
|
2314
2314
|
edge0 = edge
|
2315
2315
|
else:
|
2316
2316
|
edge1 = edge
|
@@ -3184,7 +3184,7 @@ class Wire():
|
|
3184
3184
|
if len(edges) == 2:
|
3185
3185
|
for edge in edges:
|
3186
3186
|
ev = Edge.EndVertex(edge)
|
3187
|
-
if Vertex.Distance(v, ev)
|
3187
|
+
if Vertex.Distance(v, ev) <= tolerance:
|
3188
3188
|
edge0 = edge
|
3189
3189
|
else:
|
3190
3190
|
edge1 = edge
|
@@ -3378,10 +3378,10 @@ class Wire():
|
|
3378
3378
|
while remaining_edges:
|
3379
3379
|
next_edge = None
|
3380
3380
|
for edge in remaining_edges:
|
3381
|
-
if Vertex.Distance(Edge.StartVertex(edge), current_vertex)
|
3381
|
+
if Vertex.Distance(Edge.StartVertex(edge), current_vertex) <= tolerance:
|
3382
3382
|
next_edge = edge
|
3383
3383
|
break
|
3384
|
-
elif Vertex.Distance(Edge.EndVertex(edge), current_vertex)
|
3384
|
+
elif Vertex.Distance(Edge.EndVertex(edge), current_vertex) <= tolerance:
|
3385
3385
|
next_edge = Edge.Reverse(edge)
|
3386
3386
|
break
|
3387
3387
|
|
@@ -3565,10 +3565,10 @@ class Wire():
|
|
3565
3565
|
return None
|
3566
3566
|
width = abs(width)
|
3567
3567
|
length = abs(length)
|
3568
|
-
if width
|
3568
|
+
if width <= tolerance or length <= tolerance:
|
3569
3569
|
print("Wire.Rectangle - Error: One or more of the specified dimensions is below the tolerance value. Returning None.")
|
3570
3570
|
return None
|
3571
|
-
if (abs(direction[0]) + abs(direction[1]) + abs(direction[2]))
|
3571
|
+
if (abs(direction[0]) + abs(direction[1]) + abs(direction[2])) <= tolerance:
|
3572
3572
|
print("Wire.Rectangle - Error: The direction vector magnitude is below the tolerance value. Returning None.")
|
3573
3573
|
return None
|
3574
3574
|
xOffset = 0
|
@@ -3596,7 +3596,6 @@ class Wire():
|
|
3596
3596
|
baseWire = Topology.Orient(baseWire, origin=origin, dirA=[0, 0, 1], dirB=direction)
|
3597
3597
|
return baseWire
|
3598
3598
|
|
3599
|
-
|
3600
3599
|
@staticmethod
|
3601
3600
|
def RemoveCollinearEdges(wire, angTolerance: float = 0.1, tolerance: float = 0.0001, silent: bool = False):
|
3602
3601
|
"""
|
@@ -3690,124 +3689,6 @@ class Wire():
|
|
3690
3689
|
else:
|
3691
3690
|
return Topology.SelfMerge(Cluster.ByTopologies(processed_wires, silent=silent))
|
3692
3691
|
|
3693
|
-
@staticmethod
|
3694
|
-
def RemoveCollinearEdges_old(wire, angTolerance: float = 0.1, tolerance: float = 0.0001, silent: bool = False):
|
3695
|
-
"""
|
3696
|
-
Removes any collinear edges in the input wire.
|
3697
|
-
|
3698
|
-
Parameters
|
3699
|
-
----------
|
3700
|
-
wire : topologic_core.Wire
|
3701
|
-
The input wire.
|
3702
|
-
angTolerance : float , optional
|
3703
|
-
The desired angular tolerance. The default is 0.1.
|
3704
|
-
tolerance : float , optional
|
3705
|
-
The desired tolerance. The default is 0.0001.
|
3706
|
-
silent : bool , optional
|
3707
|
-
If set to True, no error and warning messages are printed. Otherwise, they are. The default is False.
|
3708
|
-
|
3709
|
-
Returns
|
3710
|
-
-------
|
3711
|
-
topologic_core.Wire
|
3712
|
-
The created wire without any collinear edges.
|
3713
|
-
|
3714
|
-
"""
|
3715
|
-
from topologicpy.Vertex import Vertex
|
3716
|
-
from topologicpy.Edge import Edge
|
3717
|
-
from topologicpy.Cluster import Cluster
|
3718
|
-
from topologicpy.Topology import Topology
|
3719
|
-
import inspect
|
3720
|
-
|
3721
|
-
def cleanup(wire, tolerance=0.0001):
|
3722
|
-
vertices = Topology.Vertices(wire)
|
3723
|
-
vertices = Vertex.Fuse(vertices, tolerance=tolerance)
|
3724
|
-
edges = Topology.Edges(wire)
|
3725
|
-
new_edges = []
|
3726
|
-
for edge in edges:
|
3727
|
-
sv = Edge.StartVertex(edge)
|
3728
|
-
sv = vertices[Vertex.Index(sv, vertices, tolerance=tolerance)]
|
3729
|
-
ev = Edge.EndVertex(edge)
|
3730
|
-
ev = vertices[Vertex.Index(ev, vertices, tolerance=tolerance)]
|
3731
|
-
if Vertex.Distance(sv, ev) > tolerance:
|
3732
|
-
new_edges.append(Edge.ByVertices([sv,ev]))
|
3733
|
-
if len(new_edges) > 0:
|
3734
|
-
return Topology.SelfMerge(Cluster.ByTopologies(new_edges, silent=silent), tolerance=tolerance)
|
3735
|
-
return wire
|
3736
|
-
|
3737
|
-
def rce(wire, angTolerance=0.1):
|
3738
|
-
if not Topology.IsInstance(wire, "Wire"):
|
3739
|
-
return wire
|
3740
|
-
final_wire = None
|
3741
|
-
vertices = []
|
3742
|
-
wire_verts = []
|
3743
|
-
try:
|
3744
|
-
vertices = Topology.Vertices(wire)
|
3745
|
-
except:
|
3746
|
-
return wire
|
3747
|
-
for aVertex in vertices:
|
3748
|
-
edges = []
|
3749
|
-
_ = aVertex.Edges(wire, edges)
|
3750
|
-
if len(edges) > 1:
|
3751
|
-
if not Edge.IsCollinear(edges[0], edges[1], tolerance=tolerance):
|
3752
|
-
wire_verts.append(aVertex)
|
3753
|
-
else:
|
3754
|
-
wire_verts.append(aVertex)
|
3755
|
-
if len(wire_verts) > 2:
|
3756
|
-
if wire.IsClosed():
|
3757
|
-
final_wire = Wire.ByVertices(wire_verts, close=True, tolerance=tolerance)
|
3758
|
-
else:
|
3759
|
-
final_wire = Wire.ByVertices(wire_verts, close=False, tolerance=tolerance)
|
3760
|
-
elif len(wire_verts) == 2:
|
3761
|
-
final_wire = Edge.ByStartVertexEndVertex(wire_verts[0], wire_verts[1], tolerance=tolerance, silent=True)
|
3762
|
-
return final_wire
|
3763
|
-
|
3764
|
-
if Topology.IsInstance(wire, "cluster"):
|
3765
|
-
wires = Topology.Wires(wire)
|
3766
|
-
temp_wires = []
|
3767
|
-
for w in wires:
|
3768
|
-
temp_w = Wire.RemoveCollinearEdges(w)
|
3769
|
-
if not temp_w == None:
|
3770
|
-
temp_wires.append(temp_w)
|
3771
|
-
if len(temp_wires) > 0:
|
3772
|
-
result = Topology.SelfMerge(Cluster.ByTopologies(temp_w))
|
3773
|
-
return result
|
3774
|
-
if not Topology.IsInstance(wire, "Wire"):
|
3775
|
-
if not silent:
|
3776
|
-
print("Wire.RemoveCollinearEdges - Error: The input wire parameter is not a valid wire. Returning None.")
|
3777
|
-
curframe = inspect.currentframe()
|
3778
|
-
calframe = inspect.getouterframes(curframe, 2)
|
3779
|
-
print('caller name:', calframe[1][3])
|
3780
|
-
return None
|
3781
|
-
new_wire = cleanup(wire, tolerance=tolerance)
|
3782
|
-
if not Wire.IsManifold(new_wire):
|
3783
|
-
wires = Wire.Split(new_wire)
|
3784
|
-
else:
|
3785
|
-
wires = [new_wire]
|
3786
|
-
returnWires = []
|
3787
|
-
for aWire in wires:
|
3788
|
-
if not Topology.IsInstance(aWire, "Wire"):
|
3789
|
-
returnWires.append(aWire)
|
3790
|
-
else:
|
3791
|
-
returnWires.append(rce(aWire, angTolerance=angTolerance))
|
3792
|
-
if len(returnWires) == 1:
|
3793
|
-
returnWire = returnWires[0]
|
3794
|
-
if Topology.IsInstance(returnWire, "Edge"):
|
3795
|
-
return Wire.ByEdges([returnWire], tolerance=tolerance)
|
3796
|
-
elif Topology.IsInstance(returnWire, "Wire"):
|
3797
|
-
return returnWire
|
3798
|
-
else:
|
3799
|
-
return wire
|
3800
|
-
elif len(returnWires) > 1:
|
3801
|
-
returnWire = Topology.SelfMerge(Cluster.ByTopologies(returnWires, silent=silent))
|
3802
|
-
if Topology.IsInstance(returnWire, "Edge"):
|
3803
|
-
return Wire.ByEdges([returnWire], tolerance=tolerance)
|
3804
|
-
elif Topology.IsInstance(returnWire, "Wire"):
|
3805
|
-
return returnWire
|
3806
|
-
else:
|
3807
|
-
return wire
|
3808
|
-
else:
|
3809
|
-
return wire
|
3810
|
-
|
3811
3692
|
@staticmethod
|
3812
3693
|
def Representation(wire, normalize: bool = True, rotate: bool = True, mantissa: int = 6, tolerance: float = 0.0001):
|
3813
3694
|
"""
|
@@ -4155,7 +4036,7 @@ class Wire():
|
|
4155
4036
|
sorted_areas = sorted([(area, idx) for area, idx in areas[1:-1] if area is not None])
|
4156
4037
|
|
4157
4038
|
# Remove points with area below the tolerance threshold
|
4158
|
-
remove_indices = {idx for area, idx in sorted_areas if area
|
4039
|
+
remove_indices = {idx for area, idx in sorted_areas if area <= tolerance}
|
4159
4040
|
|
4160
4041
|
# Construct the simplified list of points
|
4161
4042
|
simplified_points = [point for i, point in enumerate(points) if i not in remove_indices]
|
@@ -4322,7 +4203,7 @@ class Wire():
|
|
4322
4203
|
if not placement.lower() in ["center", "lowerleft", "upperleft", "lowerright", "upperright"]:
|
4323
4204
|
print("Wire.Spiral - Error: the input placement string is not one of center, lowerleft, upperleft, lowerright, or upperright. Returning None.")
|
4324
4205
|
return None
|
4325
|
-
if (abs(direction[0]) + abs(direction[1]) + abs(direction[2]))
|
4206
|
+
if (abs(direction[0]) + abs(direction[1]) + abs(direction[2])) <= tolerance:
|
4326
4207
|
print("Wire.Spiral - Error: the input direction vector is not a valid direction. Returning None.")
|
4327
4208
|
return None
|
4328
4209
|
|
@@ -4534,7 +4415,7 @@ class Wire():
|
|
4534
4415
|
print("Wire.Squircle - Error: The input placement parameter is not a recognized string. Returning None.")
|
4535
4416
|
return None
|
4536
4417
|
radius = abs(radius)
|
4537
|
-
if radius
|
4418
|
+
if radius <= tolerance:
|
4538
4419
|
return None
|
4539
4420
|
|
4540
4421
|
if a <= 0:
|
@@ -4602,7 +4483,7 @@ class Wire():
|
|
4602
4483
|
return None
|
4603
4484
|
radiusA = abs(radiusA)
|
4604
4485
|
radiusB = abs(radiusB)
|
4605
|
-
if radiusA
|
4486
|
+
if radiusA <= tolerance or radiusB <= tolerance:
|
4606
4487
|
return None
|
4607
4488
|
rays = abs(rays)
|
4608
4489
|
if rays < 3:
|
@@ -4741,7 +4622,7 @@ class Wire():
|
|
4741
4622
|
widthA = abs(widthA)
|
4742
4623
|
widthB = abs(widthB)
|
4743
4624
|
length = abs(length)
|
4744
|
-
if widthA
|
4625
|
+
if widthA <= tolerance or widthB <= tolerance or length <= tolerance:
|
4745
4626
|
return None
|
4746
4627
|
if not placement.lower() in ["center", "lowerleft", "upperleft", "lowerright", "upperright"]:
|
4747
4628
|
return None
|
@@ -4950,7 +4831,7 @@ class Wire():
|
|
4950
4831
|
print("Wire.VertexDistance - Error: The input vertex parameter is not a valid topologic vertex. Returning None.")
|
4951
4832
|
return None
|
4952
4833
|
wire_length = Wire.Length(wire)
|
4953
|
-
if wire_length
|
4834
|
+
if wire_length <= tolerance:
|
4954
4835
|
print("Wire.VertexDistance: The input wire parameter is a degenerate topologic wire. Returning None.")
|
4955
4836
|
return None
|
4956
4837
|
if not Topology.IsInstance(origin, "Vertex"):
|
@@ -5030,12 +4911,12 @@ class Wire():
|
|
5030
4911
|
print("Wire.VertexByDistance - Error: The input wire parameter is not a valid topologic wire. Returning None.")
|
5031
4912
|
return None
|
5032
4913
|
wire_length = Wire.Length(wire)
|
5033
|
-
if wire_length
|
4914
|
+
if wire_length <= tolerance:
|
5034
4915
|
print("Wire.VertexByDistance: The input wire parameter is a degenerate topologic wire. Returning None.")
|
5035
4916
|
return None
|
5036
|
-
if abs(distance)
|
4917
|
+
if abs(distance) <= tolerance:
|
5037
4918
|
return Wire.StartVertex(wire)
|
5038
|
-
if abs(distance - wire_length)
|
4919
|
+
if abs(distance - wire_length) <= tolerance:
|
5039
4920
|
return Wire.EndVertex(wire)
|
5040
4921
|
if not Wire.IsManifold(wire):
|
5041
4922
|
print("Wire.VertexAtParameter - Error: The input wire parameter is non-manifold. Returning None.")
|
@@ -5048,9 +4929,9 @@ class Wire():
|
|
5048
4929
|
if not Vertex.IsInternal(origin, wire, tolerance=tolerance):
|
5049
4930
|
print("Wire.VertexByDistance - Error: The input origin parameter is not internal to the input wire parameter. Returning None.")
|
5050
4931
|
return None
|
5051
|
-
if Vertex.Distance(Wire.StartVertex(wire), origin)
|
4932
|
+
if Vertex.Distance(Wire.StartVertex(wire), origin) <= tolerance:
|
5052
4933
|
u = distance/wire_length
|
5053
|
-
elif Vertex.Distance(Wire.EndVertex(wire), origin)
|
4934
|
+
elif Vertex.Distance(Wire.EndVertex(wire), origin) <= tolerance:
|
5054
4935
|
u = 1 - distance/wire_length
|
5055
4936
|
else:
|
5056
4937
|
d = Wire.VertexDistance(wire, origin) + distance
|
topologicpy/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = '0.8.
|
1
|
+
__version__ = '0.8.11'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: topologicpy
|
3
|
-
Version: 0.8.
|
3
|
+
Version: 0.8.11
|
4
4
|
Summary: An AI-Powered Spatial Modelling and Analysis Software Library for Architecture, Engineering, and Construction.
|
5
5
|
Author-email: Wassim Jabi <wassim.jabi@gmail.com>
|
6
6
|
License: AGPL v3 License
|
@@ -0,0 +1,36 @@
|
|
1
|
+
topologicpy/ANN.py,sha256=m_WxD1lgQqDhUpaM20Lia6TmJACDYaAE96wigsi-99U,47932
|
2
|
+
topologicpy/Aperture.py,sha256=p9pUzTQSBWoUaDiug1V1R1hnEIEwYSXFg2t7iRAmNRY,2723
|
3
|
+
topologicpy/BVH.py,sha256=1q2lR5eDs7Wnwv7M-Kr7Cj3GG_iy7d1ddaZqWGHdX-w,12932
|
4
|
+
topologicpy/Cell.py,sha256=Wwr2RsNEagfdt4Uz0GYosRTgNQj0pc5NOlzEWbL7cjQ,114343
|
5
|
+
topologicpy/CellComplex.py,sha256=23bO0RYFIg6MOyt3PMFayaK523Alt8aHhc6UyJO02X0,51610
|
6
|
+
topologicpy/Cluster.py,sha256=o5jdMRpcGfSGGiXQdFg-e9XcnBF5AqTj3xb1nSpwJWE,58606
|
7
|
+
topologicpy/Color.py,sha256=q9xsGmxFMz7sQKmygwSVS12GaTRB-OT0-_i6t3-cthE,20307
|
8
|
+
topologicpy/Context.py,sha256=ppApYKngZZCQBFWaxIMi2z2dokY23c935IDCBosxDAE,3055
|
9
|
+
topologicpy/DGL.py,sha256=M_znFtyPBJJz-iXLYZs2wwBj24fhevIo739dGha0chM,139041
|
10
|
+
topologicpy/Dictionary.py,sha256=t0O7Du-iPq46FyKqZfcjHfsUK1E8GS_e67R2V5cpkbw,33186
|
11
|
+
topologicpy/Edge.py,sha256=yxkCVDYBflJNEYxnjMmlyvbkpg8TNy7y5bSH3yQ4jzs,71418
|
12
|
+
topologicpy/EnergyModel.py,sha256=UoQ9Jm-hYsN383CbcLKw-y6BKitRHj0uyh84yQ-8ACg,53856
|
13
|
+
topologicpy/Face.py,sha256=tn3PI-t9rXikgI1QMclw0PFwQ5vvyLi-wJKqZZZ9xmw,182755
|
14
|
+
topologicpy/Graph.py,sha256=hrJYK0CboyxNjCRLoc75PeQzf9uI64OVxDyevbJUlZg,498342
|
15
|
+
topologicpy/Grid.py,sha256=2s9cSlWldivn1i9EUz4OOokJyANveqmRe_vR93CAndI,18245
|
16
|
+
topologicpy/Helper.py,sha256=4H5KPiv_eiEs489UOOyGLe9RaeoZIfmMh3mk_YCHmXg,29100
|
17
|
+
topologicpy/Honeybee.py,sha256=Y_El6M8x3ixvvIe_VcRiwj_4C89ZZg5_WlT7adbCkpw,21849
|
18
|
+
topologicpy/Matrix.py,sha256=mqcCk14kM9OOwJPwd9ce-8SFM0IxS3jYb2XpWhVjUAc,19503
|
19
|
+
topologicpy/Neo4j.py,sha256=BKOF29fRgXmdpMGkrNzuYbyqgCJ6ElPPMYlfTxXiVbc,22392
|
20
|
+
topologicpy/Plotly.py,sha256=RU_VioIRLGIYzwyKI9OQHOx9OxxGppdpagysgTbdxIE,115942
|
21
|
+
topologicpy/Polyskel.py,sha256=DDUayC29LI1EkxdK09F0DgGyH-NCOU1LE3J2Imz0rEI,19832
|
22
|
+
topologicpy/PyG.py,sha256=LU9LCCzjxGPUM31qbaJXZsTvniTtgugxJY7y612t4A4,109757
|
23
|
+
topologicpy/Shell.py,sha256=--dJoSdz6BapxVEyG2DI0W5apO_xwLORj5qmR15yl2Y,87983
|
24
|
+
topologicpy/Speckle.py,sha256=AlsGlSDuKRtX5jhVsPNSSjjbZis079HbUchDH_5RJmE,18187
|
25
|
+
topologicpy/Sun.py,sha256=42tDWMYpwRG7Z2Qjtp94eRgBuqySq7k8TgNUZDK7QxQ,36837
|
26
|
+
topologicpy/Topology.py,sha256=mhRKJlFJLe_IGxj_bQ5lbK277YKod7PLXWzZ2Suq8ng,465493
|
27
|
+
topologicpy/Vector.py,sha256=GkGt-aJ591IJ2IPffMAudvITLDPi2qZibZc4UAav6m8,42407
|
28
|
+
topologicpy/Vertex.py,sha256=xr8KSgKnx-hgVp-eIvMPAKRv04R-wk-_4zc57xVyEqE,80793
|
29
|
+
topologicpy/Wire.py,sha256=x7tOeR1o5qi5cXp_d9JrQrSXfYztCWiBC1OnVl6Yp7A,228463
|
30
|
+
topologicpy/__init__.py,sha256=vlPCanUbxe5NifC4pHcnhSzkmmYcs_UrZrTlVMsxcFs,928
|
31
|
+
topologicpy/version.py,sha256=37n3GuNviuek888I4WoUQ7KvWprxXex9ltIoHwZWFxM,23
|
32
|
+
topologicpy-0.8.11.dist-info/LICENSE,sha256=FK0vJ73LuE8PYJAn7LutsReWR47-Ooovw2dnRe5yV6Q,681
|
33
|
+
topologicpy-0.8.11.dist-info/METADATA,sha256=_ggJ77QM3ok-OsVcQdXNC6Er-VH_AuQg3tZroNFpyYk,10513
|
34
|
+
topologicpy-0.8.11.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
35
|
+
topologicpy-0.8.11.dist-info/top_level.txt,sha256=J30bDzW92Ob7hw3zA8V34Jlp-vvsfIkGzkr8sqvb4Uw,12
|
36
|
+
topologicpy-0.8.11.dist-info/RECORD,,
|
@@ -1,36 +0,0 @@
|
|
1
|
-
topologicpy/ANN.py,sha256=m_WxD1lgQqDhUpaM20Lia6TmJACDYaAE96wigsi-99U,47932
|
2
|
-
topologicpy/Aperture.py,sha256=p9pUzTQSBWoUaDiug1V1R1hnEIEwYSXFg2t7iRAmNRY,2723
|
3
|
-
topologicpy/BVH.py,sha256=mKVCAu9K8qzcWXtPDVH5usXZV1DNNNJl4n3rU5Lh1ZM,12931
|
4
|
-
topologicpy/Cell.py,sha256=9bF1pS0oyYmUzyXZ4zAQrwJPrQ7KeHRAo8OZudp_2Kg,114341
|
5
|
-
topologicpy/CellComplex.py,sha256=-s8RKGa2H1eqLO7g6qyQvvuFMFJ0aIgXvIr9kOVgpjA,51608
|
6
|
-
topologicpy/Cluster.py,sha256=o5jdMRpcGfSGGiXQdFg-e9XcnBF5AqTj3xb1nSpwJWE,58606
|
7
|
-
topologicpy/Color.py,sha256=q9xsGmxFMz7sQKmygwSVS12GaTRB-OT0-_i6t3-cthE,20307
|
8
|
-
topologicpy/Context.py,sha256=ppApYKngZZCQBFWaxIMi2z2dokY23c935IDCBosxDAE,3055
|
9
|
-
topologicpy/DGL.py,sha256=M_znFtyPBJJz-iXLYZs2wwBj24fhevIo739dGha0chM,139041
|
10
|
-
topologicpy/Dictionary.py,sha256=t0O7Du-iPq46FyKqZfcjHfsUK1E8GS_e67R2V5cpkbw,33186
|
11
|
-
topologicpy/Edge.py,sha256=lWwJdQkAhiH5POB7TN6HSLv03g2jXHzBU7e2fE3eAno,71340
|
12
|
-
topologicpy/EnergyModel.py,sha256=UoQ9Jm-hYsN383CbcLKw-y6BKitRHj0uyh84yQ-8ACg,53856
|
13
|
-
topologicpy/Face.py,sha256=D1g4O5i5QMPZvIoX06Z-FsyNsYBDkCiHWJp00uqnr5o,180742
|
14
|
-
topologicpy/Graph.py,sha256=yjD778MyWFLmUEryGFEzFZOJmnrZwkqrVYvpmH76Oxs,497462
|
15
|
-
topologicpy/Grid.py,sha256=2s9cSlWldivn1i9EUz4OOokJyANveqmRe_vR93CAndI,18245
|
16
|
-
topologicpy/Helper.py,sha256=DAAE_Ie_ekeMnCvcW08xXRwSAGCkjrS4lbz-o3ELuY4,27172
|
17
|
-
topologicpy/Honeybee.py,sha256=Y_El6M8x3ixvvIe_VcRiwj_4C89ZZg5_WlT7adbCkpw,21849
|
18
|
-
topologicpy/Matrix.py,sha256=ydw0EH4rZcGBFeLmBHPIyuk57DVKKL3M1GcArkFsYxM,10941
|
19
|
-
topologicpy/Neo4j.py,sha256=BKOF29fRgXmdpMGkrNzuYbyqgCJ6ElPPMYlfTxXiVbc,22392
|
20
|
-
topologicpy/Plotly.py,sha256=xfd_c2Mcam5KP-gDD-esl42RVXW5TSJsUCCqhUg1VFk,115788
|
21
|
-
topologicpy/Polyskel.py,sha256=EFsuh2EwQJGPLiFUjvtXmAwdX-A4r_DxP5hF7Qd3PaU,19829
|
22
|
-
topologicpy/PyG.py,sha256=LU9LCCzjxGPUM31qbaJXZsTvniTtgugxJY7y612t4A4,109757
|
23
|
-
topologicpy/Shell.py,sha256=fLRnQ79vtdBDRW1Xn8Gaap34XheGbw7UBFd-ALJ2Y1g,87978
|
24
|
-
topologicpy/Speckle.py,sha256=AlsGlSDuKRtX5jhVsPNSSjjbZis079HbUchDH_5RJmE,18187
|
25
|
-
topologicpy/Sun.py,sha256=42tDWMYpwRG7Z2Qjtp94eRgBuqySq7k8TgNUZDK7QxQ,36837
|
26
|
-
topologicpy/Topology.py,sha256=qw64d3Ct6u7W8Fy_-JIg3_xsyOzDIQ1hdnpxF2p_wH4,463931
|
27
|
-
topologicpy/Vector.py,sha256=3gW0Y7mTcpc6ctjSfRWQXGKjIyHASKrMyIyPDT0kO2E,39573
|
28
|
-
topologicpy/Vertex.py,sha256=8_7iGDPlNWsiNfxcuNRO5u7P07i1Y58Gprw7KtA2Wmw,78505
|
29
|
-
topologicpy/Wire.py,sha256=Pt2li4cZ1omQKcMDCOqdB01ZKqjA4KBR0K3lGNVUoDs,233398
|
30
|
-
topologicpy/__init__.py,sha256=vlPCanUbxe5NifC4pHcnhSzkmmYcs_UrZrTlVMsxcFs,928
|
31
|
-
topologicpy/version.py,sha256=NlRwwFdz-gLvpPJ1P15liW62rdqtILNRJEm3y_yv3z8,22
|
32
|
-
topologicpy-0.8.9.dist-info/LICENSE,sha256=FK0vJ73LuE8PYJAn7LutsReWR47-Ooovw2dnRe5yV6Q,681
|
33
|
-
topologicpy-0.8.9.dist-info/METADATA,sha256=cFgD49CaDIZRj1a8FDEMkyw2dINg6WQZxTqbp55p--4,10512
|
34
|
-
topologicpy-0.8.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
35
|
-
topologicpy-0.8.9.dist-info/top_level.txt,sha256=J30bDzW92Ob7hw3zA8V34Jlp-vvsfIkGzkr8sqvb4Uw,12
|
36
|
-
topologicpy-0.8.9.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|