topologicpy 0.3.1__tar.gz → 0.3.2__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 (83) hide show
  1. {topologicpy-0.3.1/src/topologicpy.egg-info → topologicpy-0.3.2}/PKG-INFO +1 -1
  2. {topologicpy-0.3.1 → topologicpy-0.3.2}/pyproject.toml +1 -1
  3. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Aperture.py +3 -3
  4. topologicpy-0.3.2/src/topologicpy/Context.py +56 -0
  5. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/DGL.py +18 -8
  6. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Edge.py +36 -31
  7. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Face.py +120 -73
  8. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Topology.py +16 -15
  9. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Vertex.py +33 -21
  10. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Wire.py +114 -44
  11. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/__init__.py +1 -1
  12. {topologicpy-0.3.1 → topologicpy-0.3.2/src/topologicpy.egg-info}/PKG-INFO +1 -1
  13. topologicpy-0.3.1/src/topologicpy/Context.py +0 -56
  14. {topologicpy-0.3.1 → topologicpy-0.3.2}/LICENSE +0 -0
  15. {topologicpy-0.3.1 → topologicpy-0.3.2}/MANIFEST.in +0 -0
  16. {topologicpy-0.3.1 → topologicpy-0.3.2}/README.md +0 -0
  17. {topologicpy-0.3.1 → topologicpy-0.3.2}/setup.cfg +0 -0
  18. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Cell.py +0 -0
  19. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/CellComplex.py +0 -0
  20. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Cluster.py +0 -0
  21. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Color.py +0 -0
  22. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Dictionary.py +0 -0
  23. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/EnergyModel.py +0 -0
  24. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Graph.py +0 -0
  25. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Graph_Export.py +0 -0
  26. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Grid.py +0 -0
  27. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Helper.py +0 -0
  28. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Honeybee.py +0 -0
  29. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Matrix.py +0 -0
  30. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Neo4jGraph.py +0 -0
  31. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Plotly.py +0 -0
  32. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Process.py +0 -0
  33. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/SQL.py +0 -0
  34. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Shell.py +0 -0
  35. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Speckle.py +0 -0
  36. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/UnitTest.py +0 -0
  37. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Vector.py +0 -0
  38. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic/__init__.py +0 -0
  39. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic/topologic.cpython-310-x86_64-linux-gnu.so +0 -0
  40. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic/topologic.cpython-311-x86_64-linux-gnu.so +0 -0
  41. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic/topologic.cpython-38-x86_64-linux-gnu.so +0 -0
  42. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic/topologic.cpython-39-x86_64-linux-gnu.so +0 -0
  43. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKBO-6bdf205d.so.7.7.0 +0 -0
  44. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKBRep-2960a069.so.7.7.0 +0 -0
  45. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKBool-c44b74bd.so.7.7.0 +0 -0
  46. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKFillet-9a670ba0.so.7.7.0 +0 -0
  47. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKG2d-8f31849e.so.7.7.0 +0 -0
  48. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKG3d-4c6bce57.so.7.7.0 +0 -0
  49. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKGeomAlgo-26066fd9.so.7.7.0 +0 -0
  50. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKGeomBase-2116cabe.so.7.7.0 +0 -0
  51. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKMath-72572fa8.so.7.7.0 +0 -0
  52. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKMesh-2a060427.so.7.7.0 +0 -0
  53. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKOffset-6cab68ff.so.7.7.0 +0 -0
  54. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKPrim-eb1262b3.so.7.7.0 +0 -0
  55. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKShHealing-e67e5cc7.so.7.7.0 +0 -0
  56. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKTopAlgo-e4c96c33.so.7.7.0 +0 -0
  57. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKernel-fb7fe3b7.so.7.7.0 +0 -0
  58. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libgcc_s-32c1665e.so.1 +0 -0
  59. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libstdc++-672d7b41.so.6.0.30 +0 -0
  60. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKBO-f6b191de.dll +0 -0
  61. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKBRep-e56a600e.dll +0 -0
  62. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKBool-7b8d47ae.dll +0 -0
  63. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKFillet-0ddbf0a8.dll +0 -0
  64. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKG2d-2e2dee3d.dll +0 -0
  65. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKG3d-6674513d.dll +0 -0
  66. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKGeomAlgo-d240e370.dll +0 -0
  67. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKGeomBase-df87aba5.dll +0 -0
  68. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKMath-45bd625a.dll +0 -0
  69. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKMesh-d6e826b1.dll +0 -0
  70. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKOffset-79b9cc94.dll +0 -0
  71. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKPrim-aa430a86.dll +0 -0
  72. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKShHealing-bb48be89.dll +0 -0
  73. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKTopAlgo-7d0d1e22.dll +0 -0
  74. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKernel-08c8cfbb.dll +0 -0
  75. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/__init__.py +0 -0
  76. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/topologic.cp310-win_amd64.pyd +0 -0
  77. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/topologic.cp311-win_amd64.pyd +0 -0
  78. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/topologic.cp38-win_amd64.pyd +0 -0
  79. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/topologic.cp39-win_amd64.pyd +0 -0
  80. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy.egg-info/SOURCES.txt +0 -0
  81. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy.egg-info/dependency_links.txt +0 -0
  82. {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy.egg-info/requires.txt +0 -0
  83. {topologicpy-0.3.1 → topologicpy-0.3.2}/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.3.1
3
+ Version: 0.3.2
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.3.1"
6
+ version = "0.3.2"
7
7
  authors = [
8
8
  { name="Wassim Jabi", email="wassim.jabi@gmail.com" },
9
9
  ]
@@ -5,14 +5,14 @@ class Aperture(topologic.Aperture):
5
5
  @staticmethod
6
6
  def ByTopologyContext(topology, context):
7
7
  """
8
- Creates an aperture.
8
+ Creates an aperture object represented by the input topology and one that belongs to the input context.
9
9
 
10
10
  Parameters
11
11
  ----------
12
12
  topology : topologic.Topology
13
- The input topology to which the aperture will belong
13
+ The input topology that represents the aperture.
14
14
  context : topologic.Context
15
- The context of the aperture.
15
+ The context of the aperture. See Context class.
16
16
 
17
17
  Returns
18
18
  -------
@@ -0,0 +1,56 @@
1
+ import topologicpy
2
+ import topologic
3
+
4
+ class Context:
5
+ @staticmethod
6
+ def ByTopologyParameters(topology, u = 0.5, v = 0.5, w = 0.5):
7
+ """
8
+ Creates a context object represented by the input topology.
9
+
10
+ Parameters
11
+ ----------
12
+ topology : topologic.Topology
13
+ The input topology.
14
+ u : float , optional
15
+ The input *u* parameter. This defines the relative parameteric location of the content object along the *u* axis.
16
+ v : TYPE
17
+ The input *v* parameter. This defines the relative parameteric location of the content object along the *v* axis..
18
+ w : TYPE
19
+ The input *w* parameter. This defines the relative parameteric location of the content object along the *w* axis.
20
+
21
+ Returns
22
+ -------
23
+ topologic.Context
24
+ The created context object. See Aperture.ByObjectContext.
25
+
26
+ """
27
+
28
+ context = None
29
+ try:
30
+ context = topologic.Context.ByTopologyParameters(topology, u, v, w)
31
+ except:
32
+ context = None
33
+ return context
34
+
35
+ @staticmethod
36
+ def Topology(context):
37
+ """
38
+ Returns the topology of the input context.
39
+
40
+ Parameters
41
+ ----------
42
+ context : topologic.Context
43
+ The input context.
44
+
45
+ Returns
46
+ -------
47
+ topologic.Topology
48
+ The topology of the input context.
49
+
50
+ """
51
+ topology = None
52
+ try:
53
+ topology = context.Topology()
54
+ except:
55
+ topology = None
56
+ return topology
@@ -2422,16 +2422,26 @@ class DGL:
2422
2422
 
2423
2423
  epoch_list = list(range(1, data['Epochs'][0]+1))
2424
2424
 
2425
+ d = [data['Model Type'], data['Optimizer'], data['CV Type'], [data['Split']], data['K-Folds'], data['HL Widths'], data['Conv Layer Type'], data['Pooling'], data['Learning Rate'], data['Batch Size'], epoch_list]
2426
+ columns = ['Model Type', 'Optimizer', 'CV Type', 'Split', 'K-Folds', 'HL Widths', 'Conv Layer Type', 'Pooling', 'Learning Rate', 'Batch Size', 'Epochs']
2427
+
2425
2428
  if data['Model Type'][0].lower() == "classifier":
2426
- d = [data['Model Type'], data['Optimizer'], data['CV Type'], [data['Split']], data['K-Folds'], data['HL Widths'], data['Conv Layer Type'], data['Pooling'], data['Learning Rate'], data['Batch Size'], epoch_list, data['Training Accuracy'][0], data['Validation Accuracy'][0], data['Testing Accuracy'][0], data['Training Loss'][0], data['Validation Loss'][0], data['Testing Loss'][0]]
2427
- d = Helper.Iterate(d)
2428
- d = Helper.Transpose(d)
2429
- df = pd.DataFrame(d, columns= ['Model Type', 'Optimizer', 'CV Type', 'Split', 'K-Folds', 'HL Widths', 'Conv Layer Type', 'Pooling', 'Learning Rate', 'Batch Size', 'Epochs', 'Training Accuracy', 'Validation Accuracy', 'Testing Accuracy', 'Training Loss', 'Validation Loss', 'Testing Loss'])
2429
+ d.extend([data['Training Accuracy'][0], data['Validation Accuracy'][0], data['Testing Accuracy'][0], data['Training Loss'][0], data['Validation Loss'][0], data['Testing Loss'][0]])
2430
+ columns.extend(['Training Accuracy', 'Validation Accuracy', 'Testing Accuracy', 'Training Loss', 'Validation Loss', 'Testing Loss'])
2431
+ if data['CV Type'][0].lower() == "k-fold":
2432
+ d.extend([data['Accuracies'], data['Max Accuracy']])
2433
+ columns.extend(['Accuracies', 'Max Accuracy'])
2434
+
2430
2435
  elif data['Model Type'][0].lower() == "regressor":
2431
- d = [data['Model Type'], data['Optimizer'], data['CV Type'], [data['Split']], data['K-Folds'], data['HL Widths'], data['Conv Layer Type'], data['Pooling'], data['Learning Rate'], data['Batch Size'], epoch_list, data['Training Loss'][0], data['Validation Loss'][0], data['Testing Loss'][0]]
2432
- d = Helper.Iterate(d)
2433
- d = Helper.Transpose(d)
2434
- df = pd.DataFrame(d, columns= ['Model Type', 'Optimizer', 'CV Type', 'Split', 'K-Folds', 'HL Widths', 'Conv Layer Type', 'Pooling', 'Learning Rate', 'Batch Size', 'Epochs', 'Training Loss', 'Validation Loss', 'Testing Loss'])
2436
+ d.extend([data['Training Loss'][0], data['Validation Loss'][0], data['Testing Loss'][0]])
2437
+ columns.extend(['Training Loss', 'Validation Loss', 'Testing Loss'])
2438
+ if data['CV Type'][0].lower() == "k-fold":
2439
+ d.extend([data['Losses'], data['Min Loss']])
2440
+ columns.extend(['Losses', 'Min Loss'])
2441
+
2442
+ d = Helper.Iterate(d)
2443
+ d = Helper.Transpose(d)
2444
+ df = pd.DataFrame(d, columns=columns)
2435
2445
 
2436
2446
  status = False
2437
2447
  if path:
@@ -5,7 +5,7 @@ from topologicpy.Vector import Vector
5
5
 
6
6
  class Edge():
7
7
  @staticmethod
8
- def Angle(edgeA, edgeB, mantissa=4, bracket=False):
8
+ def Angle(edgeA: topologic.Edge, edgeB: topologic.Edge, mantissa: int = 4, bracket: bool = False) -> float:
9
9
  """
10
10
  Returns the angle in degrees between the two input edges.
11
11
 
@@ -38,7 +38,7 @@ class Edge():
38
38
  return round(ang, mantissa)
39
39
 
40
40
  @staticmethod
41
- def Bisect(edgeA, edgeB, length=1.0, placement=0, tolerance=0.0001):
41
+ def Bisect(edgeA: topologic.Edge, edgeB: topologic.Edge, length: float = 1.0, placement: int = 0, tolerance: float = 0.0001) -> topologic.Edge:
42
42
  """
43
43
  Creates a bisecting edge between edgeA and edgeB.
44
44
 
@@ -91,7 +91,7 @@ class Edge():
91
91
  return bisectingEdge
92
92
 
93
93
  @staticmethod
94
- def ByFaceNormal(face, origin=None, length=1):
94
+ def ByFaceNormal(face: topologic.Face, origin: topologic.Vertex = None, length: float = 1.0) -> topologic.Edge:
95
95
  """
96
96
  Creates a straight edge representing the normal to the input face.
97
97
 
@@ -126,7 +126,7 @@ class Edge():
126
126
  return edge
127
127
 
128
128
  @staticmethod
129
- def ByOffset(edge, offset=1, tolerance=0.0001):
129
+ def ByOffset(edge: topologic.Edge, offset: float = 1.0, tolerance: float = 0.0001) -> topologic.Edge:
130
130
  """
131
131
  Creates and edge offset from the input edge
132
132
 
@@ -154,7 +154,7 @@ class Edge():
154
154
 
155
155
 
156
156
  @staticmethod
157
- def ByStartVertexEndVertex(vertexA, vertexB, tolerance=0.0001):
157
+ def ByStartVertexEndVertex(vertexA: topologic.Vertex, vertexB: topologic.Vertex, tolerance: float = 0.0001) -> topologic.Edge:
158
158
  """
159
159
  Creates a straight edge that connects the input vertices.
160
160
 
@@ -189,7 +189,7 @@ class Edge():
189
189
  return edge
190
190
 
191
191
  @staticmethod
192
- def ByVertices(vertices, tolerance=0.0001):
192
+ def ByVertices(vertices: list, tolerance: float = 0.0001) -> topologic.Edge:
193
193
  """
194
194
  Creates a straight edge that connects the input list of vertices.
195
195
 
@@ -214,7 +214,7 @@ class Edge():
214
214
  return Edge.ByStartVertexEndVertex(vertexList[0], vertexList[-1], tolerance)
215
215
 
216
216
  @staticmethod
217
- def ByVerticesCluster(cluster, tolerance=0.0001):
217
+ def ByVerticesCluster(cluster: topologic.Cluster, tolerance: float = 0.0001) -> topologic.Edge:
218
218
  """
219
219
  Creates a straight edge that connects the input cluster of vertices.
220
220
 
@@ -241,9 +241,9 @@ class Edge():
241
241
  return Edge.ByStartVertexEndVertex(vertexList[0], vertexList[-1], tolerance)
242
242
 
243
243
  @staticmethod
244
- def Direction(edge, mantissa=4):
244
+ def Direction(edge: topologic.Edge, mantissa: int = 4) -> list:
245
245
  """
246
- Returns the direction of the input edge.
246
+ Returns the direction of the input edge expressed as a list of three numbers.
247
247
 
248
248
  Parameters
249
249
  ----------
@@ -258,6 +258,9 @@ class Edge():
258
258
  The direction of the input edge.
259
259
 
260
260
  """
261
+
262
+ from topologic.Vector import Vector
263
+
261
264
  if not isinstance(edge, topologic.Edge):
262
265
  return None
263
266
  ev = edge.EndVertex()
@@ -272,7 +275,7 @@ class Edge():
272
275
  return [x, y, z]
273
276
 
274
277
  @staticmethod
275
- def EndVertex(edge):
278
+ def EndVertex(edge: topologic.Edge) -> topologic.Vertex:
276
279
  """
277
280
  Returns the end vertex of the input edge.
278
281
 
@@ -297,7 +300,7 @@ class Edge():
297
300
  return vert
298
301
 
299
302
  @staticmethod
300
- def Extend(edge, distance=1, bothSides=True, reverse=False, tolerance=0.0001):
303
+ def Extend(edge: topologic.Edge, distance: float = 1.0, bothSides: bool = True, reverse: bool = False, tolerance: float = 0.0001) -> topologic.Edge:
301
304
  """
302
305
  Extends the input edge by the input distance.
303
306
 
@@ -339,7 +342,7 @@ class Edge():
339
342
  return Edge.ByVertices([sve, eve])
340
343
 
341
344
  @staticmethod
342
- def ExtendToEdge2D(edgeA, edgeB):
345
+ def ExtendToEdge2D(edgeA: topologic.Edge, edgeB: topologic.Edge) -> topologic.Edge:
343
346
  """
344
347
  Extends the first input edge to meet the second input edge. This works only in the XY plane. Z coordinates are ignored.
345
348
 
@@ -376,9 +379,9 @@ class Edge():
376
379
  return None
377
380
 
378
381
  @staticmethod
379
- def Intersect2D(edgeA, edgeB):
382
+ def Intersect2D(edgeA: topologic.Edge, edgeB: topologic.Edge) -> topologic.Vertex:
380
383
  """
381
- Returns the intersection of the two input edges. This works only in the XY plane. Z coordinates are ignored.
384
+ Returns the intersection of the two input edges as a topologic.Vertex. This works only in the XY plane. Z coordinates are ignored.
382
385
 
383
386
  Parameters
384
387
  ----------
@@ -426,9 +429,9 @@ class Edge():
426
429
 
427
430
 
428
431
  @staticmethod
429
- def IsCollinear(edgeA, edgeB, mantissa=4, angTolerance=0.1, tolerance=0.0001):
432
+ def IsCollinear(edgeA: topologic.Edge, edgeB: topologic.Edge, mantissa: int = 4, angTolerance: float = 0.1, tolerance: float = 0.0001) -> bool:
430
433
  """
431
- Tests if the two input edges are collinear.
434
+ Return True if the two input edges are collinear. Returns False otherwise.
432
435
 
433
436
  Parameters
434
437
  ----------
@@ -465,9 +468,9 @@ class Edge():
465
468
  return False
466
469
 
467
470
  @staticmethod
468
- def IsParallel(edgeA, edgeB, mantissa=4, angTolerance=0.1):
471
+ def IsParallel(edgeA: topologic.Edge, edgeB: topologic.Edge, mantissa: int = 4, angTolerance: float = 0.1) -> bool:
469
472
  """
470
- Tests if the two input edges are parallel.
473
+ Return True if the two input edges are parallel. Returns False otherwise.
471
474
 
472
475
  Parameters
473
476
  ----------
@@ -494,7 +497,7 @@ class Edge():
494
497
  return False
495
498
 
496
499
  @staticmethod
497
- def Length(edge, mantissa=4):
500
+ def Length(edge: topologic.Edge, mantissa: int = 4) -> float:
498
501
  """
499
502
  Returns the length of the input edge.
500
503
 
@@ -521,7 +524,7 @@ class Edge():
521
524
  return length
522
525
 
523
526
  @staticmethod
524
- def Normal(edge):
527
+ def Normal(edge: topologic.Edge) -> list:
525
528
  """
526
529
  Returns the normal (perpendicular) vector to the input edge. This method is intended for edges that are in the XY plane. Z is assumed to be zero and ignored.
527
530
 
@@ -536,7 +539,9 @@ class Edge():
536
539
  The normal (perpendicular ) vector to the input edge.
537
540
 
538
541
  """
542
+
539
543
  from topologicpy.Vector import Vector
544
+
540
545
  sv = Edge.StartVertex(edge)
541
546
  ev = Edge.EndVertex(edge)
542
547
  x1 = Vertex.X(sv)
@@ -550,7 +555,7 @@ class Edge():
550
555
  return Vector.Normalize([-dy, dx, 0])
551
556
 
552
557
  @staticmethod
553
- def Normalize(edge, useEndVertex=False):
558
+ def Normalize(edge: topologic.Edge, useEndVertex: bool = False) -> topologic.Edge:
554
559
  """
555
560
  Creates a normalized edge that has the same direction as the input edge, but a length of 1.
556
561
 
@@ -578,7 +583,7 @@ class Edge():
578
583
  return Edge.ByVertices([sv, ev])
579
584
 
580
585
  @staticmethod
581
- def ParameterAtVertex(edge, vertex, mantissa=4):
586
+ def ParameterAtVertex(edge: topologic.Edge, vertex: topologic.Vertex, mantissa: int = 4) -> float:
582
587
  """
583
588
  Returns the *u* parameter along the input edge based on the location of the input vertex.
584
589
 
@@ -607,7 +612,7 @@ class Edge():
607
612
  return round(parameter, mantissa)
608
613
 
609
614
  @staticmethod
610
- def Reverse(edge):
615
+ def Reverse(edge: topologic.Edge) -> topologic.Edge:
611
616
  """
612
617
  Creates an edge that has the reverse direction of the input edge.
613
618
 
@@ -627,7 +632,7 @@ class Edge():
627
632
  return Edge.ByVertices([edge.EndVertex(), edge.StartVertex()])
628
633
 
629
634
  @staticmethod
630
- def SetLength(edge , length=1.0, bothSides=True, reverse=False, tolerance=0.0001):
635
+ def SetLength(edge: topologic.Edge , length: float = 1.0, bothSides: bool = True, reverse: bool = False, tolerance: float = 0.0001) -> topologic.Edge:
631
636
  """
632
637
  Returns an edge with the new length in the same direction as the input edge.
633
638
 
@@ -658,7 +663,7 @@ class Edge():
658
663
  return Edge.Trim(edge=edge, distance=distance, bothSides=bothSides, reverse=reverse, tolerance=tolerance)
659
664
 
660
665
  @staticmethod
661
- def StartVertex(edge):
666
+ def StartVertex(edge: topologic.Edge) -> topologic.Vertex:
662
667
  """
663
668
  Returns the start vertex of the input edge.
664
669
 
@@ -683,7 +688,7 @@ class Edge():
683
688
  return vert
684
689
 
685
690
  @staticmethod
686
- def Trim(edge, distance=0, bothSides=True, reverse=False, tolerance=0.0001):
691
+ def Trim(edge: topologic.Edge, distance: float = 0.0, bothSides: bool = True, reverse: bool = False, tolerance: float = 0.0001) -> topologic.Edge:
687
692
  """
688
693
  Trims the input edge by the input distance.
689
694
 
@@ -725,7 +730,7 @@ class Edge():
725
730
  return Edge.ByVertices([sve, eve])
726
731
 
727
732
  @staticmethod
728
- def TrimByEdge2D(edgeA, edgeB, reverse=False):
733
+ def TrimByEdge2D(edgeA: topologic.Edge, edgeB: topologic.Edge, reverse: bool = False) -> topologic.Edge:
729
734
  """
730
735
  Trims the first input edge by the second input edge. This works only in the XY plane. Z coordinates are ignored.
731
736
 
@@ -758,7 +763,7 @@ class Edge():
758
763
  return edgeA
759
764
 
760
765
  @staticmethod
761
- def VertexByDistance(edge, distance=0, origin=None, tolerance=0.0001):
766
+ def VertexByDistance(edge: topologic.Edge, distance: float = 0.0, origin: topologic.Vertex = None, tolerance: float = 0.0001) -> topologic.Vertex:
762
767
  """
763
768
  Creates a vertex along the input edge offset by the input distance from the input origin.
764
769
 
@@ -796,7 +801,7 @@ class Edge():
796
801
  return topologic.Vertex.ByCoordinates(origin.X()+vector[0], origin.Y()+vector[1], origin.Z()+vector[2])
797
802
 
798
803
  @staticmethod
799
- def VertexByParameter(edge, parameter=0):
804
+ def VertexByParameter(edge: topologic.Vertex, parameter: float = 0.0) -> topologic.Vertex:
800
805
  """
801
806
  Creates a vertex along the input edge offset by the input *u* parameter.
802
807
 
@@ -828,9 +833,9 @@ class Edge():
828
833
  return vertex
829
834
 
830
835
  @staticmethod
831
- def Vertices(edge):
836
+ def Vertices(edge: topologic.Edge) -> list:
832
837
  """
833
- Returns the vertices of the input edge.
838
+ Returns the list of vertices of the input edge.
834
839
 
835
840
  Parameters
836
841
  ----------