topologicpy 0.4.96__py3-none-any.whl → 0.4.98__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/Cell.py CHANGED
@@ -1091,6 +1091,90 @@ class Cell(Topology):
1091
1091
  _ = cell.Edges(None, edges)
1092
1092
  return edges
1093
1093
 
1094
+ @staticmethod
1095
+ def Egg(origin: topologic.Vertex = None, height: float = 1.0, uSides: int = 16, vSides: int = 8, direction: list = [0,0,1],
1096
+ placement: str = "center", tolerance: float = 0.0001) -> topologic.Cell:
1097
+ """
1098
+ Creates a sphere.
1099
+
1100
+ Parameters
1101
+ ----------
1102
+ origin : topologic.Vertex , optional
1103
+ The origin location of the sphere. The default is None which results in the sphere being placed at (0,0,0).
1104
+ radius : float , optional
1105
+ The radius of the sphere. The default is 0.5.
1106
+ uSides : int , optional
1107
+ The number of sides along the longitude of the sphere. The default is 16.
1108
+ vSides : int , optional
1109
+ The number of sides along the latitude of the sphere. The default is 8.
1110
+ direction : list , optional
1111
+ The vector representing the up direction of the sphere. The default is [0,0,1].
1112
+ placement : str , optional
1113
+ The description of the placement of the origin of the sphere. This can be "bottom", "center", or "lowerleft". It is case insensitive. The default is "center".
1114
+ tolerance : float , optional
1115
+ The desired tolerance. The default is 0.0001.
1116
+
1117
+ Returns
1118
+ -------
1119
+ topologic.Cell
1120
+ The created sphere.
1121
+
1122
+ """
1123
+
1124
+ from topologicpy.Vertex import Vertex
1125
+ from topologicpy.Topology import Topology
1126
+ from topologicpy.Dictionary import Dictionary
1127
+
1128
+ if not origin:
1129
+ origin = Vertex.ByCoordinates(0,0,0)
1130
+ if not isinstance(origin, topologic.Vertex):
1131
+ print("Cell.Sphere - Error: The input origin parameter is not a valid topologic vertex. Returning None.")
1132
+ return None
1133
+
1134
+ coords = [[0.0, 0.0, -0.5],
1135
+ [0.074748, 0.0, -0.494015],
1136
+ [0.140819, 0.0, -0.473222],
1137
+ [0.204118, 0.0, -0.438358],
1138
+ [0.259512, 0.0, -0.391913],
1139
+ [0.304837, 0.0, -0.335519],
1140
+ [0.338649, 0.0, -0.271416],
1141
+ [0.361307, 0.0, -0.202039],
1142
+ [0.375678, 0.0, -0.129109],
1143
+ [0.381294, 0.0, -0.053696],
1144
+ [0.377694, 0.0, 0.019874],
1145
+ [0.365135, 0.0, 0.091978],
1146
+ [0.341482, 0.0, 0.173973],
1147
+ [0.300154, 0.0, 0.276001],
1148
+ [0.252928, 0.0, 0.355989],
1149
+ [0.206605, 0.0, 0.405813],
1150
+ [0.157529, 0.0, 0.442299],
1151
+ [0.10604, 0.0, 0.472092],
1152
+ [0.05547, 0.0, 0.491784],
1153
+ [0.0, 0.0, 0.5]]
1154
+ verts = [Vertex.ByCoordinates(coord) for coord in coords]
1155
+ c = Wire.ByVertices(verts, close=False)
1156
+ new_verts = []
1157
+ for i in range(vSides+1):
1158
+ new_verts.append(Wire.VertexByParameter(c, i/vSides))
1159
+ c = Wire.ByVertices(new_verts, close=False)
1160
+ egg = Topology.Spin(c, origin=Vertex.Origin(), triangulate=False, direction=[0,0,1], degree=360, sides=uSides, tolerance=tolerance)
1161
+ if egg.Type() == topologic.CellComplex.Type():
1162
+ egg = egg.ExternalBoundary()
1163
+ if egg.Type() == topologic.Shell.Type():
1164
+ egg = topologic.Cell.ByShell(egg)
1165
+ egg = Topology.Scale(egg, origin=Vertex.Origin(), x=height, y=height, z=height)
1166
+ if placement.lower() == "bottom":
1167
+ egg = Topology.Translate(egg, 0, 0, height/2)
1168
+ elif placement.lower() == "lowerleft":
1169
+ bb = Cell.BoundingBox(egg)
1170
+ d = Topology.Dictionary(bb)
1171
+ width = Dictionary.ValueAtKey(d, 'width')
1172
+ length = Dictionary.ValueAtKey(d, 'length')
1173
+ egg = Topology.Translate(egg, width*0.5, length*0.5, height*0.5)
1174
+ egg = Topology.Orient(egg, origin=Vertex.Origin(), dirA=[0,0,1], dirB=direction)
1175
+ egg = Topology.Place(egg, originA=Vertex.Origin(), originB=origin)
1176
+ return egg
1177
+
1094
1178
  @staticmethod
1095
1179
  def ExternalBoundary(cell: topologic.Cell) -> topologic.Shell:
1096
1180
  """
topologicpy/Cluster.py CHANGED
@@ -188,8 +188,11 @@ class Cluster(Topology):
188
188
  if len(keys) > 0:
189
189
  dictionaries.append(d)
190
190
  if len(dictionaries) > 0:
191
- d = Dictionary.ByMergedDictionaries(dictionaries)
192
- cluster = Topology.SetDictionary(cluster, d)
191
+ if len(dictionaries) > 1:
192
+ d = Dictionary.ByMergedDictionaries(dictionaries)
193
+ else:
194
+ d = dictionaries[0]
195
+ cluster = Topology.SetDictionary(cluster, d)
193
196
  return cluster
194
197
 
195
198
  @staticmethod
topologicpy/Graph.py CHANGED
@@ -675,7 +675,7 @@ class Graph:
675
675
  import random
676
676
 
677
677
  if not isinstance(adjacencyMatrix, list):
678
- print("Graph.BYAdjacencyMatrix - Error: The input adjacencyMatrix parameter is not a valid list. Returning None.")
678
+ print("Graph.ByAdjacencyMatrix - Error: The input adjacencyMatrix parameter is not a valid list. Returning None.")
679
679
  return None
680
680
  # Add vertices with random coordinates
681
681
  vertices = []
@@ -692,7 +692,7 @@ class Graph:
692
692
 
693
693
  # Create the graph using vertices and edges
694
694
  if len(vertices) == 0:
695
- print("Graph.BYAdjacencyMatrix - Error: The graph does not contain any vertices. Returning None.")
695
+ print("Graph.ByAdjacencyMatrix - Error: The graph does not contain any vertices. Returning None.")
696
696
  return None
697
697
 
698
698
  return Graph.ByVerticesEdges(vertices, edges)
@@ -960,13 +960,9 @@ class Graph:
960
960
  graphs = []
961
961
  for i, vertices, in enumerate(vertices_ds):
962
962
  edges = edges_ds[i]
963
- print("2. Length of Vertices:", len(vertices))
964
- print("2. Length of Edges:", len(edges))
965
963
  g = Graph.ByVerticesEdges(vertices, edges)
966
964
  temp_v = Graph.Vertices(g)
967
965
  temp_e = Graph.Edges(g)
968
- print("3. Length of Vertices:", len(temp_v))
969
- print("3. Length of Edges:", len(temp_e))
970
966
  if isinstance(g, topologic.Graph):
971
967
  if len(graphFeaturesKeys) == 0:
972
968
  values = [graph_ids[i], graph_labels[i], graph_features[i]]
@@ -3154,10 +3150,8 @@ class Graph:
3154
3150
  # If the maximum number of colors are not provided, compute it using the graph's chromatic number.
3155
3151
  if maxColors == None:
3156
3152
  maxColors = Graph.ChromaticNumber(temp_graph)
3157
- print("MaxColors:", maxColors)
3158
3153
  colors = [0] * len(vertices)
3159
3154
  colors = graph_coloring(adj_mat, maxColors, colors)
3160
- print("Colors:", colors)
3161
3155
  for i, v in enumerate(vertices):
3162
3156
  d = Topology.Dictionary(v)
3163
3157
  d = Dictionary.SetValueAtKey(d, newKey, colors[i])
@@ -3314,7 +3308,7 @@ class Graph:
3314
3308
  else:
3315
3309
  returnList.append((n-1)/top_dist)
3316
3310
  except:
3317
- print("Could not use tqdm")
3311
+ print("Graph.ClosenessCentrality - Warning: Could not use tqdm.")
3318
3312
  for va in vertices:
3319
3313
  top_dist = 0
3320
3314
  for vb in graphVertices:
@@ -3889,7 +3883,6 @@ class Graph:
3889
3883
  if not nodeMaskKey == None:
3890
3884
  if not nd == None:
3891
3885
  keys = Dictionary.Keys(nd)
3892
- print("keys", keys)
3893
3886
  else:
3894
3887
  keys = []
3895
3888
  flag = True
@@ -4791,8 +4784,6 @@ class Graph:
4791
4784
 
4792
4785
 
4793
4786
  # Calculate the global clustering coefficient
4794
- print("Total Triangles:", total_triangles )
4795
- print("Total Possible Triangles:", total_possible_triangles )
4796
4787
  global_clustering_coeff = 3.0 * total_triangles / total_possible_triangles if total_possible_triangles > 0 else 0.0
4797
4788
 
4798
4789
  return global_clustering_coeff
topologicpy/Shell.py CHANGED
@@ -659,18 +659,18 @@ class Shell(Topology):
659
659
 
660
660
  """
661
661
 
662
- from topologicpy.Wire import Wire
662
+ from topologicpy.Vertex import Vertex
663
663
 
664
664
  if not isinstance(shell, topologic.Shell):
665
665
  return None
666
666
  if not isinstance(vertex, topologic.Vertex):
667
667
  return None
668
668
  boundary = Shell.ExternalBoundary(shell, tolerance=tolerance)
669
- if Wire.IsInternal(wire=boundary, vertex=vertex, tolerance=tolerance):
669
+ if Vertex.IsInternal(vertex, boundary, tolerance=tolerance):
670
670
  return True
671
671
  internal_boundaries = Shell.InternalBoundaries(shell, tolerance=tolerance)
672
672
  for ib in internal_boundaries:
673
- if Wire.IsInternal(wire=ib, vertex=vertex, tolerance=tolerance):
673
+ if Vertex.IsInternal(vertex, ib, tolerance=tolerance):
674
674
  return True
675
675
  return False
676
676
 
@@ -1295,7 +1295,6 @@ class Shell(Topology):
1295
1295
  if not roof:
1296
1296
  return None
1297
1297
  shell = Shell.Skeleton(flat_face, tolerance=tolerance)
1298
- print(shell)
1299
1298
  faces = Shell.Faces(shell)
1300
1299
  Topology.Show(shell)
1301
1300
  if not faces:
topologicpy/Topology.py CHANGED
@@ -914,7 +914,15 @@ class Topology():
914
914
  return None
915
915
  # Edge:
916
916
  elif isinstance(topologyA, topologic.Edge):
917
- if isinstance(topologyB, topologic.Shell):
917
+ if isinstance(topologyB, topologic.Wire):
918
+ vertices = Topology.Vertices(topologyB)
919
+ edges = Topology.Edges(topologyB)
920
+ intersections = [topologyA.Intersect(x) for x in vertices]
921
+ intersections += [topologyA.Intersect(x) for x in edges]
922
+ intersections = [x for x in intersections if not x == None]
923
+ if len(intersections) == 0:
924
+ return None
925
+ elif isinstance(topologyB, topologic.Shell):
918
926
  vertices = Topology.Vertices(topologyB)
919
927
  edges = Topology.Edges(topologyB)
920
928
  faces = Topology.Faces(topologyB)
@@ -3599,7 +3607,6 @@ class Topology():
3599
3607
  return_topology = Cell.ByFaces(faces, tolerance=tolerance)
3600
3608
  if return_topology == None:
3601
3609
  return_topology = CellComplex.ByFaces(faces, tolerance=tolerance)
3602
- #print("Return Topology:", return_topology)
3603
3610
  if return_topology == None:
3604
3611
  print("Topology.Fix - Error: Desired topologyType cannot be achieved. Returning original topology.")
3605
3612
  return topology
@@ -4389,7 +4396,6 @@ class Topology():
4389
4396
  return [a,b,c,d]
4390
4397
 
4391
4398
  if not isinstance(topology, topologic.Topology):
4392
- print("Topology.IsPlanar", topology)
4393
4399
  print("Topology.IsPlanar - Error: the input topology parameter is not a valid topology. Returning None.")
4394
4400
  return None
4395
4401
  vertices = Topology.Vertices(topology)
@@ -5138,7 +5144,7 @@ class Topology():
5138
5144
 
5139
5145
  """
5140
5146
  if not len(verticesA) == len(verticesB):
5141
- print("Error - Topology.ReplaceVertices: VerticesA and VerticesB must be the same length")
5147
+ print("Topology.ReplaceVertices - Error: The input parameters verticesA and verticesB must be the same length")
5142
5148
  return None
5143
5149
  from topologicpy.Vertex import Vertex
5144
5150
  geom = Topology.Geometry(topology, mantissa=mantissa)
@@ -5186,6 +5192,7 @@ class Topology():
5186
5192
 
5187
5193
  """
5188
5194
  from topologicpy.Vertex import Vertex
5195
+ from topologicpy.Dictionary import Dictionary
5189
5196
 
5190
5197
  def rotate_vertex_3d(vertex, axis, angle_degrees, origin):
5191
5198
  vertex = np.array(vertex) # Vertex to be rotated
@@ -5208,12 +5215,11 @@ class Topology():
5208
5215
  translated_vertex = vertex - origin
5209
5216
  rotated_vertex = np.dot(rotation_matrix, translated_vertex) + origin
5210
5217
 
5211
- rotated_vertex = [v for v in rotated_vertex]
5218
+ rotated_vertex = [v for v in rotated_vertex]
5212
5219
  return rotated_vertex
5213
5220
 
5214
5221
  if not isinstance(topology, topologic.Topology):
5215
5222
  print("Topology.Rotate - Error: The input topology parameter is not a valid topologic topology. Returning None.")
5216
- print("The topology is", topology)
5217
5223
  return None
5218
5224
  if not origin:
5219
5225
  origin = Vertex.ByCoordinates(0,0,0)
@@ -6468,7 +6474,6 @@ class Topology():
6468
6474
  for i, sink in enumerate(sink_items):
6469
6475
  mapItem = sinkMap[sink.ID]
6470
6476
  newDict = Dictionary.ByKeysValues(mapItem.sinkKeys, mapItem.sinkValues)
6471
- # print("newDict", Dictionary.Keys(newDict), Dictionary.Values(newDict))
6472
6477
  _ = sinks[i].SetDictionary(newDict)
6473
6478
  return {"sources": sources, "sinks": sinks}
6474
6479
 
topologicpy/Vertex.py CHANGED
@@ -698,10 +698,16 @@ class Vertex(Topology):
698
698
  fused_vertices.append(fused_vertex)
699
699
 
700
700
  return fused_vertices
701
-
702
701
  def count_decimal_points(vertex):
703
702
  # Count the number of decimal points in the coordinates
704
- return max(len(str(coord).split('.')[1]) for coord in vertex)
703
+ decimals_list = []
704
+ for coord in vertex:
705
+ coord_str = str(coord)
706
+ if '.' in coord_str:
707
+ decimals_list.append(len(coord_str.split('.')[1]))
708
+ elif 'e' in coord_str:
709
+ decimals_list.append(int(coord_str.split('e')[1].replace('-','')))
710
+ return max(decimals_list)
705
711
 
706
712
 
707
713
  if not isinstance(vertices, list):
topologicpy/Wire.py CHANGED
@@ -2906,6 +2906,21 @@ class Wire(Topology):
2906
2906
 
2907
2907
  """
2908
2908
  from topologicpy.Vertex import Vertex
2909
+ def compute_u(u):
2910
+ def count_decimal_places(number):
2911
+ try:
2912
+ # Convert the number to a string to analyze decimal places
2913
+ num_str = str(number)
2914
+ # Split the number into integer and decimal parts
2915
+ integer_part, decimal_part = num_str.split('.')
2916
+ # Return the length of the decimal part
2917
+ return len(decimal_part)
2918
+ except ValueError:
2919
+ # If there's no decimal part, return 0
2920
+ return 0
2921
+ dp = count_decimal_places(u)
2922
+ u = -(int(u) - u)
2923
+ return round(u,dp)
2909
2924
 
2910
2925
  if not isinstance(wire, topologic.Wire):
2911
2926
  print("Wire.VertexByDistance - Error: The input wire parameter is not a valid topologic wire. Returning None.")
@@ -2918,9 +2933,6 @@ class Wire(Topology):
2918
2933
  return Wire.StartVertex(wire)
2919
2934
  if abs(distance - wire_length) < tolerance:
2920
2935
  return Wire.EndVertex(wire)
2921
- if abs(distance) > wire_length:
2922
- print("Wire.VertexByDistance - Error: The input distance parameter is larger than the wire's length. Returning None.")
2923
- return None
2924
2936
  if not Wire.IsManifold(wire):
2925
2937
  print("Wire.VertexAtParameter - Error: The input wire parameter is non-manifold. Returning None.")
2926
2938
  return None
@@ -2929,18 +2941,9 @@ class Wire(Topology):
2929
2941
  if not isinstance(origin, topologic.Vertex):
2930
2942
  print("Wire.VertexByDistance - Error: The input origin parameter is not a valid topologic vertex. Returning None.")
2931
2943
  return None
2932
- if not Wire.IsInternal(wire, origin, tolerance=tolerance):
2944
+ if not Vertex.IsInternal(origin, wire, tolerance=tolerance):
2933
2945
  print("Wire.VertexByDistance - Error: The input origin parameter is not internal to the input wire parameter. Returning None.")
2934
2946
  return None
2935
- if distance < 0:
2936
- if Wire.VertexDistance(wire, Wire.StartVertex(wire), origin) < abs(distance):
2937
- print("Wire.VertexByDistance - Error: The resulting vertex would fall outside the wire. Returning None.")
2938
- return None
2939
- else:
2940
- if Wire.VertexDistance(wire, Wire.EndVertex(wire), origin) < distance:
2941
- print("Wire.VertexByDistance - Error: The resulting vertex would fall outside the wire. Returning None.")
2942
- return None
2943
-
2944
2947
  if Vertex.Distance(Wire.StartVertex(wire), origin) < tolerance:
2945
2948
  u = distance/wire_length
2946
2949
  elif Vertex.Distance(Wire.EndVertex(wire), origin) < tolerance:
@@ -2948,7 +2951,8 @@ class Wire(Topology):
2948
2951
  else:
2949
2952
  d = Wire.VertexDistance(wire, origin) + distance
2950
2953
  u = d/wire_length
2951
- return Wire.VertexByParameter(wire, u=u)
2954
+
2955
+ return Wire.VertexByParameter(wire, u=compute_u(u))
2952
2956
 
2953
2957
  @staticmethod
2954
2958
  def VertexByParameter(wire: topologic.Wire, u: float = 0) -> topologic.Vertex:
topologicpy/__init__.py CHANGED
@@ -18,7 +18,7 @@ import sys
18
18
  import os, re
19
19
  from sys import platform
20
20
 
21
- __version__ = '0.4.96'
21
+ __version__ = '0.4.98'
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.96
3
+ Version: 0.4.98
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
@@ -1,7 +1,7 @@
1
1
  topologicpy/Aperture.py,sha256=vENYlFaM6Pu-xCJB1YsW1I1_u5yDj-A70aU3bo3lpFA,2819
2
- topologicpy/Cell.py,sha256=flVjd6KAlQ1uxKuu8yaMSBwXtlqwgZEE6pbZzaMN6kY,94785
2
+ topologicpy/Cell.py,sha256=bKdsyIyCO2mudOUSHxXnLLiTmS5UqfiFlUjj2_9FqXQ,98811
3
3
  topologicpy/CellComplex.py,sha256=OEPa3VMjlXhnu6YCMA0coTp8uSY1fh_Rbv6v7oEU3OQ,47396
4
- topologicpy/Cluster.py,sha256=OpgYOlQuHzgGHmvQbglpoHjsmf61irFFy5z_XVJiPHI,54856
4
+ topologicpy/Cluster.py,sha256=NGejDs3ivrGLdkCWT2REyujatSPJQ2W3l1OEDnNFoBs,54959
5
5
  topologicpy/Color.py,sha256=I_Sm0F-5Hr3y6tFCBaLOplslLnu-wpA8T0VQkH8x54g,17057
6
6
  topologicpy/Context.py,sha256=bgwslZSu8Ijuz3fusdhP6XcDnCdwGhtbI0-uhVjB36U,2977
7
7
  topologicpy/DGL.py,sha256=qg0k5Ls-eLD6tbK06v_KPgg-GO3M3jY0IusHkco8kCY,138312
@@ -9,7 +9,7 @@ topologicpy/Dictionary.py,sha256=vGhiXPu7e7GsgQyTsX6rZBncnnrDlcYfM9xRb9h-l3U,247
9
9
  topologicpy/Edge.py,sha256=C4VKk8leXTQySsGKCE4RSt3HiUhA12Ny_rGhEr71LWY,50009
10
10
  topologicpy/EnergyModel.py,sha256=kl8N-6NsKwKeSUt6vWm0B-MBacw9vMymE6lbvymJdVM,51758
11
11
  topologicpy/Face.py,sha256=Gc9xFAE5Am3apgftbACcaNyRgLmHfxyKscMjQmg_N6s,81732
12
- topologicpy/Graph.py,sha256=bv9GkhXN2onAuju0em5eGri_0nU-SYrSmIUBu3iyN1I,320767
12
+ topologicpy/Graph.py,sha256=qh2xTH0D2F8yX23cNTy-V9nIfXjr6OSCisNDnvif9dY,320331
13
13
  topologicpy/Grid.py,sha256=q6uAs8MGbdteYNbjqRjqlhFMquYAvSngwzxsFl9-338,17371
14
14
  topologicpy/Helper.py,sha256=vqBZE-CcHBeTCnzC9OzbRaCTx4XT4SZpPF__Vi19nDQ,16049
15
15
  topologicpy/Honeybee.py,sha256=ygiGMS7u-YQJWpK2CmkBuJu1DBABVUmpMdg9HewOhN4,20349
@@ -17,13 +17,13 @@ topologicpy/Matrix.py,sha256=1aH7QKP6eNUbUXmZbB7e_4dw1ZSVQ8bsOsKJXtQq3_4,8357
17
17
  topologicpy/Neo4j.py,sha256=Wd3GRuTt66AkzJscLNIJCBQhd8y1OntX_9u4_33XQKw,19341
18
18
  topologicpy/Plotly.py,sha256=W4nuHVy7xUnRGJRcE2iPl0mLU0dp58CTHC1_YldfZ6I,96904
19
19
  topologicpy/Polyskel.py,sha256=-M47SAFWrFOheZ9KWUEgYOmCn-V_rfKPKvU8KY4B-1s,16450
20
- topologicpy/Shell.py,sha256=LJjdTfXcYNJalu2gAwpmFnxs8re7OBAThGn8irvlbqg,76317
20
+ topologicpy/Shell.py,sha256=U4OnZRYlJKlaTjZg_6GcqzGkqFssdCCgssJEzDrdZjc,76279
21
21
  topologicpy/Speckle.py,sha256=zKqiHYuw7498W_9UWvDn2xsdBskhahNjJejxegMpbJA,14773
22
- topologicpy/Topology.py,sha256=iRQjNVxC87C8Qi6ykGnsZooxg960FcmjVRqSXCgcQx8,299669
22
+ topologicpy/Topology.py,sha256=xzZZLjy9uQZKTuvZosd-gcvNgwDN7s7oFcikmDHB0Kk,299971
23
23
  topologicpy/Vector.py,sha256=OtPPz0N_bKpXsGNOHYZTEXKHPAy9MgTG1NgoKmh8f0s,30347
24
- topologicpy/Vertex.py,sha256=b3oPfMNFAXHcrcvOdd1LSFdO8BUeXEVVsQuks_uWtVY,66016
25
- topologicpy/Wire.py,sha256=px0IB2Y6TIF5QKb4LkQ4ZAjWAgu76eDefT6vnyQ0idM,131506
26
- topologicpy/__init__.py,sha256=MESltIVetyEsa0zFlilCBcXiUpaalL3H4fI_0IXSr1c,1445
24
+ topologicpy/Vertex.py,sha256=RD3UBEK1k2LNzgXpVKk3832nJzkuiV8m-jTODJsb5ko,66322
25
+ topologicpy/Wire.py,sha256=RUeD_bDfUpc5iLZtUMuK-e6lXpvSRHBHuEzxJUBrbaY,131490
26
+ topologicpy/__init__.py,sha256=t6eq0VW04I-eRyYEZPUb1qWxRE0fHydK9BZTgMRzJjs,1445
27
27
  topologicpy/bin/linux/topologic/__init__.py,sha256=XlFReDf3FWlYdM9uXtanYPIafgPb6GVTQczS_xJAXD0,60
28
28
  topologicpy/bin/linux/topologic/libTKBO-6bdf205d.so.7.7.0,sha256=ANok9DQKcnWcLd9T_LAt-i-X4nsYYy16q9kQlcTre1E,2996488
29
29
  topologicpy/bin/linux/topologic/libTKBRep-2960a069.so.7.7.0,sha256=OJ3XesL79du8LeBHrsleGPXub6OpJdOilxha0mwjqQo,1378768
@@ -84,8 +84,8 @@ topologicpy/bin/windows/topologic/topologic.cp310-win_amd64.pyd,sha256=F0sPLuMpD
84
84
  topologicpy/bin/windows/topologic/topologic.cp311-win_amd64.pyd,sha256=aBAJQj3OmJ58MOAF1ZIFybL_5fFK7FNR9hrIps6b6pc,1551872
85
85
  topologicpy/bin/windows/topologic/topologic.cp38-win_amd64.pyd,sha256=aLgNf54nbJmGc7Tdmkuy-V0m6B9zLxabIbpRwAy7cBA,1551360
86
86
  topologicpy/bin/windows/topologic/topologic.cp39-win_amd64.pyd,sha256=_8cp205hiRxkFHtzQQOweA4DhCPk8caH4kTVLWGQeVw,1411584
87
- topologicpy-0.4.96.dist-info/LICENSE,sha256=RUmXeeqj63bBySLJjEfhwb9OE7M8h9K6HuOBF3ASVyI,35697
88
- topologicpy-0.4.96.dist-info/METADATA,sha256=whQaEfI0A_W1FHAhYtkMe6wU96JH0GYQHSRqQ7q4sJs,7278
89
- topologicpy-0.4.96.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
90
- topologicpy-0.4.96.dist-info/top_level.txt,sha256=J30bDzW92Ob7hw3zA8V34Jlp-vvsfIkGzkr8sqvb4Uw,12
91
- topologicpy-0.4.96.dist-info/RECORD,,
87
+ topologicpy-0.4.98.dist-info/LICENSE,sha256=RUmXeeqj63bBySLJjEfhwb9OE7M8h9K6HuOBF3ASVyI,35697
88
+ topologicpy-0.4.98.dist-info/METADATA,sha256=O6CoXm82ErwB63rqIwnWRLPiTGqmwlDJLCpN376GrfQ,7278
89
+ topologicpy-0.4.98.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
90
+ topologicpy-0.4.98.dist-info/top_level.txt,sha256=J30bDzW92Ob7hw3zA8V34Jlp-vvsfIkGzkr8sqvb4Uw,12
91
+ topologicpy-0.4.98.dist-info/RECORD,,