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.
- {topologicpy-0.3.1/src/topologicpy.egg-info → topologicpy-0.3.2}/PKG-INFO +1 -1
- {topologicpy-0.3.1 → topologicpy-0.3.2}/pyproject.toml +1 -1
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Aperture.py +3 -3
- topologicpy-0.3.2/src/topologicpy/Context.py +56 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/DGL.py +18 -8
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Edge.py +36 -31
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Face.py +120 -73
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Topology.py +16 -15
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Vertex.py +33 -21
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Wire.py +114 -44
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/__init__.py +1 -1
- {topologicpy-0.3.1 → topologicpy-0.3.2/src/topologicpy.egg-info}/PKG-INFO +1 -1
- topologicpy-0.3.1/src/topologicpy/Context.py +0 -56
- {topologicpy-0.3.1 → topologicpy-0.3.2}/LICENSE +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/MANIFEST.in +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/README.md +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/setup.cfg +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Cell.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/CellComplex.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Cluster.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Color.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Dictionary.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/EnergyModel.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Graph.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Graph_Export.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Grid.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Helper.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Honeybee.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Matrix.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Neo4jGraph.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Plotly.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Process.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/SQL.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Shell.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Speckle.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/UnitTest.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/Vector.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic/__init__.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic/topologic.cpython-310-x86_64-linux-gnu.so +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic/topologic.cpython-311-x86_64-linux-gnu.so +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic/topologic.cpython-38-x86_64-linux-gnu.so +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic/topologic.cpython-39-x86_64-linux-gnu.so +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKBO-6bdf205d.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKBRep-2960a069.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKBool-c44b74bd.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKFillet-9a670ba0.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKG2d-8f31849e.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKG3d-4c6bce57.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKGeomAlgo-26066fd9.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKGeomBase-2116cabe.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKMath-72572fa8.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKMesh-2a060427.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKOffset-6cab68ff.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKPrim-eb1262b3.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKShHealing-e67e5cc7.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKTopAlgo-e4c96c33.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libTKernel-fb7fe3b7.so.7.7.0 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libgcc_s-32c1665e.so.1 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/linux/topologic.libs/libstdc++-672d7b41.so.6.0.30 +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKBO-f6b191de.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKBRep-e56a600e.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKBool-7b8d47ae.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKFillet-0ddbf0a8.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKG2d-2e2dee3d.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKG3d-6674513d.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKGeomAlgo-d240e370.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKGeomBase-df87aba5.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKMath-45bd625a.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKMesh-d6e826b1.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKOffset-79b9cc94.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKPrim-aa430a86.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKShHealing-bb48be89.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKTopAlgo-7d0d1e22.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/TKernel-08c8cfbb.dll +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/__init__.py +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/topologic.cp310-win_amd64.pyd +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/topologic.cp311-win_amd64.pyd +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/topologic.cp38-win_amd64.pyd +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy/bin/windows/topologic/topologic.cp39-win_amd64.pyd +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy.egg-info/SOURCES.txt +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy.egg-info/dependency_links.txt +0 -0
- {topologicpy-0.3.1 → topologicpy-0.3.2}/src/topologicpy.egg-info/requires.txt +0 -0
- {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.
|
|
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
|
|
@@ -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
|
|
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
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
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
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
----------
|