compas-cem 0.8.4__py2.py3-none-any.whl → 0.8.5__py2.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.
Files changed (47) hide show
  1. compas_cem/__init__.py +1 -1
  2. compas_cem/diagrams/form.py +64 -1
  3. compas_cem/ghpython/components/ghuser/CompasCem_ArtistColors.ghuser +0 -0
  4. compas_cem/ghpython/components/ghuser/CompasCem_ArtistForm.ghuser +0 -0
  5. compas_cem/ghpython/components/ghuser/CompasCem_ArtistTopology.ghuser +0 -0
  6. compas_cem/ghpython/components/ghuser/CompasCem_ConstrainedFormFinding.ghuser +0 -0
  7. compas_cem/ghpython/components/ghuser/CompasCem_ConstraintDeviationEdgeLength.ghuser +0 -0
  8. compas_cem/ghpython/components/ghuser/CompasCem_ConstraintEdgeDirection.ghuser +0 -0
  9. compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodeLine.ghuser +0 -0
  10. compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePlane.ghuser +0 -0
  11. compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePoint.ghuser +0 -0
  12. compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePolyline.ghuser +0 -0
  13. compas_cem/ghpython/components/ghuser/CompasCem_ConstraintReactionForce.ghuser +0 -0
  14. compas_cem/ghpython/components/ghuser/CompasCem_ConstraintTrailEdgeForce.ghuser +0 -0
  15. compas_cem/ghpython/components/ghuser/CompasCem_DisassembleForm.ghuser +0 -0
  16. compas_cem/ghpython/components/ghuser/CompasCem_DisassembleTopology.ghuser +0 -0
  17. compas_cem/ghpython/components/ghuser/CompasCem_EdgeDeviation.ghuser +0 -0
  18. compas_cem/ghpython/components/ghuser/CompasCem_EdgeTrail.ghuser +0 -0
  19. compas_cem/ghpython/components/ghuser/CompasCem_FormFinding.ghuser +0 -0
  20. compas_cem/ghpython/components/ghuser/CompasCem_Info.ghuser +0 -0
  21. compas_cem/ghpython/components/ghuser/CompasCem_JSONExportDiagram.ghuser +0 -0
  22. compas_cem/ghpython/components/ghuser/CompasCem_JSONImportForm.ghuser +0 -0
  23. compas_cem/ghpython/components/ghuser/CompasCem_JSONImportTopology.ghuser +0 -0
  24. compas_cem/ghpython/components/ghuser/CompasCem_NodeLoad.ghuser +0 -0
  25. compas_cem/ghpython/components/ghuser/CompasCem_NodeSupport.ghuser +0 -0
  26. compas_cem/ghpython/components/ghuser/CompasCem_OriginNodesMove.ghuser +0 -0
  27. compas_cem/ghpython/components/ghuser/CompasCem_ParameterDeviationEdge.ghuser +0 -0
  28. compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadX.ghuser +0 -0
  29. compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadY.ghuser +0 -0
  30. compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadZ.ghuser +0 -0
  31. compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginX.ghuser +0 -0
  32. compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginY.ghuser +0 -0
  33. compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginZ.ghuser +0 -0
  34. compas_cem/ghpython/components/ghuser/CompasCem_ParameterTrailEdge.ghuser +0 -0
  35. compas_cem/ghpython/components/ghuser/CompasCem_Proxy.ghuser +0 -0
  36. compas_cem/ghpython/components/ghuser/CompasCem_ResultsEdges.ghuser +0 -0
  37. compas_cem/ghpython/components/ghuser/CompasCem_ResultsSupportNodes.ghuser +0 -0
  38. compas_cem/ghpython/components/ghuser/CompasCem_SearchEdgeKey.ghuser +0 -0
  39. compas_cem/ghpython/components/ghuser/CompasCem_SearchNodeKey.ghuser +0 -0
  40. compas_cem/ghpython/components/ghuser/CompasCem_TopologyDiagram.ghuser +0 -0
  41. compas_cem/ghpython/components/ghuser/CompasCem_TrailsShift.ghuser +0 -0
  42. {compas_cem-0.8.4.dist-info → compas_cem-0.8.5.dist-info}/METADATA +1 -1
  43. {compas_cem-0.8.4.dist-info → compas_cem-0.8.5.dist-info}/RECORD +47 -47
  44. {compas_cem-0.8.4.dist-info → compas_cem-0.8.5.dist-info}/AUTHORS.rst +0 -0
  45. {compas_cem-0.8.4.dist-info → compas_cem-0.8.5.dist-info}/LICENSE +0 -0
  46. {compas_cem-0.8.4.dist-info → compas_cem-0.8.5.dist-info}/WHEEL +0 -0
  47. {compas_cem-0.8.4.dist-info → compas_cem-0.8.5.dist-info}/top_level.txt +0 -0
compas_cem/__init__.py CHANGED
@@ -27,7 +27,7 @@ __author__ = ["Rafael Pastrana"]
27
27
  __copyright__ = "Copyright 2020 - Princeton University"
28
28
  __license__ = "MIT License"
29
29
  __email__ = "arpj@princeton.edu"
30
- __version__ = "0.8.4"
30
+ __version__ = "0.8.5"
31
31
 
32
32
 
33
33
  # Directories
@@ -1,3 +1,6 @@
1
+ from compas_cem.elements import Node
2
+ from compas_cem.elements import Edge
3
+
1
4
  from compas_cem.diagrams import Diagram
2
5
 
3
6
 
@@ -34,7 +37,7 @@ class FormDiagram(Diagram):
34
37
  @classmethod
35
38
  def from_topology_diagram(cls, topology):
36
39
  """
37
- Construct the base of a form diagram from a topology diagram.
40
+ Construct a form diagram from a topology diagram.
38
41
  """
39
42
  form = topology.copy(cls=cls)
40
43
 
@@ -45,6 +48,66 @@ class FormDiagram(Diagram):
45
48
 
46
49
  return form
47
50
 
51
+ @classmethod
52
+ def from_equilibrium_state(cls, eq_state, structure):
53
+ """
54
+ Build a form diagram from an equilibrium state.
55
+ """
56
+ return form_from_eqstate(eq_state, structure, cls)
57
+
58
+
59
+ # ==============================================================================
60
+ # Helpers
61
+ # ==============================================================================
62
+
63
+ def form_from_eqstate(eqstate, structure, cls=None):
64
+ """
65
+ Generate a form diagram from an equilibrium state calculated with JAX CEM.
66
+ """
67
+ if cls is None:
68
+ cls = FormDiagram
69
+ form = cls()
70
+
71
+ # Add nodes
72
+ for node in structure.nodes:
73
+ form.add_node(Node(int(node)))
74
+
75
+ # Assign support nodes
76
+ for node in structure.support_nodes:
77
+ form.node_attribute(int(node), "type", "support")
78
+
79
+ # Add edges
80
+ for u, v in structure.edges:
81
+ form.add_edge(Edge(int(u), int(v), {}))
82
+
83
+ # Update form attributes
84
+ form_update(form, eqstate, structure)
85
+
86
+ return form
87
+
88
+
89
+ def form_update(form, eqstate, structure):
90
+ """
91
+ Update in-place the attributes of a form diagram with an equilibrium state.
92
+ """
93
+ xyz = eqstate.xyz.tolist()
94
+ loads = eqstate.loads.tolist()
95
+ reactions = eqstate.reactions.tolist()
96
+ lengths = eqstate.lengths.tolist()
97
+ forces = eqstate.forces.tolist()
98
+
99
+ # Update q values and lengths on edges
100
+ for edge in structure.edges:
101
+ idx = structure.edge_index[tuple(edge)]
102
+ form.edge_attribute(edge, name="force", value=forces[idx].pop())
103
+ form.edge_attribute(edge, name="lengths", value=lengths[idx].pop())
104
+
105
+ # Update residuals on nodes
106
+ for node in structure.nodes:
107
+ form.node_attributes(node, "xyz", xyz[node])
108
+ form.node_attributes(node, ["rx", "ry", "rz"], reactions[node])
109
+ form.node_attributes(node, ["qx", "qy", "qz"], loads[node])
110
+
48
111
  # ==============================================================================
49
112
  # Main
50
113
  # ==============================================================================
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: compas-cem
3
- Version: 0.8.4
3
+ Version: 0.8.5
4
4
  Summary: The Combinatorial Equilibrium Modeling framework for COMPAS
5
5
  Home-page: https://github.com/arpastrana/compas_cem
6
6
  Author: Rafael Pastrana
@@ -1,9 +1,9 @@
1
- compas_cem/__init__.py,sha256=_F7ZzqKu751JCBc-yWaobBr9jqfQ89fewqgHFcfhWwM,2083
1
+ compas_cem/__init__.py,sha256=Wl17-YGEVJcTQ15tnjvG4nhy2OHT1recx5DcJ3mvlsI,2083
2
2
  compas_cem/data/__init__.py,sha256=bi1mgZ9pRnj5gtv1P4149KbjVjnYiBPxrBf8Ldosb18,446
3
3
  compas_cem/data/data.py,sha256=ociRshzFwUcrmXFQzRcXJW6OtzYKujhVN6VKVnlAje0,363
4
4
  compas_cem/diagrams/__init__.py,sha256=LK-jcMF7Lmcj81drGSGSgPqUOtJzG7mjveIw6XrXX4A,591
5
5
  compas_cem/diagrams/diagram.py,sha256=jOfDnPjoBphsMJITiz1aiO7SxiZVX4aUEshoT8tdE4A,8898
6
- compas_cem/diagrams/form.py,sha256=NLL6NesJQl08cFqq1Otcq87QIBC3CJOD4Wubz5GZLto,1470
6
+ compas_cem/diagrams/form.py,sha256=a1ro17WhGtO7EeK9bcELQh3nnWstfhfJq1rwA9kjOVQ,3459
7
7
  compas_cem/diagrams/mixins/__init__.py,sha256=xP5oDLuWiRUwGDM5SkkicNp3KPGUXBw_lkQRWco82RQ,578
8
8
  compas_cem/diagrams/mixins/edge_mixins.py,sha256=t2MYVlkirkBrgj9AGbnKAcbQcNPIp6zUaRxI9eyBUq0,1963
9
9
  compas_cem/diagrams/mixins/node_mixins.py,sha256=-VJhSy-eTvE4FWUsmGBcKU05tn7ghF3n0tuKcKNck20,2003
@@ -140,45 +140,45 @@ compas_cem/ghpython/components/CompasCem_TopologyDiagram/metadata.json,sha256=fX
140
140
  compas_cem/ghpython/components/CompasCem_TrailsShift/code.py,sha256=IKi3j4O4MFm49gE7WKI2q3CPVgEtHk6l_-dxSWKUmIY,677
141
141
  compas_cem/ghpython/components/CompasCem_TrailsShift/icon.png,sha256=Z4db6_cA8h6PLFiX_LSggoEtzsMsKoHq3etLwXlIBqU,2759
142
142
  compas_cem/ghpython/components/CompasCem_TrailsShift/metadata.json,sha256=HXblUM7_ySpRKv1EGdM6VKs_oWz8Y57m7m0-bRqNScI,1125
143
- compas_cem/ghpython/components/ghuser/CompasCem_ArtistColors.ghuser,sha256=ma24PBLrCTbnKLm2HBGAag-H3kew4MwidrJJotYb33Y,3280
144
- compas_cem/ghpython/components/ghuser/CompasCem_ArtistForm.ghuser,sha256=sNABacKS1XHT2o73AUnLcblGvBRwaA7yCnOqDGftNiY,3470
145
- compas_cem/ghpython/components/ghuser/CompasCem_ArtistTopology.ghuser,sha256=_SVyhhx_zsdOpnzO_Q_rQb8LcokD1t72JVye2r10988,3612
146
- compas_cem/ghpython/components/ghuser/CompasCem_ConstrainedFormFinding.ghuser,sha256=68AeZe9Vnh3PnRv1jVBmMDBesDtokvFoITFzLl9RYhU,4717
147
- compas_cem/ghpython/components/ghuser/CompasCem_ConstraintDeviationEdgeLength.ghuser,sha256=FshE3fsPgzbivxcBuT8JrD0aG1_s83wMHAKMRtSBcMo,3029
148
- compas_cem/ghpython/components/ghuser/CompasCem_ConstraintEdgeDirection.ghuser,sha256=sg_tPgzuZfrcxhL-bAyqTzKH7nbSGzkNVdvJTXe0u2Q,3109
149
- compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodeLine.ghuser,sha256=0SwAqHogztnZ0hDEBiiKM7WVChhvm1jILa6g21KXmMQ,3062
150
- compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePlane.ghuser,sha256=7E9S-3_vAn2aDrHSjA2b5W00RSp9HFaP9VP9afYmDFs,3062
151
- compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePoint.ghuser,sha256=0IQGN6NyxzSC49VGwJIPjow3qsjHsNFWaEsi0cnh0CM,3054
152
- compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePolyline.ghuser,sha256=q6BquvHTXRRX7y4QJlf1TWonvsThAhczUNxdI4BAkkE,3055
153
- compas_cem/ghpython/components/ghuser/CompasCem_ConstraintReactionForce.ghuser,sha256=16P3uuGLpgDyyh8cwl34H3zz3FT6cmhTg3dEkPlmc5E,3094
154
- compas_cem/ghpython/components/ghuser/CompasCem_ConstraintTrailEdgeForce.ghuser,sha256=u1i8UyKJIxCfyZiTI54pmTjKQKEOLjDb-4UHi4xzu00,3034
155
- compas_cem/ghpython/components/ghuser/CompasCem_DisassembleForm.ghuser,sha256=5sNYDLd6DXiOmvmilP2uL7H0tPXRwrXdMjnBAQg0FqI,2929
156
- compas_cem/ghpython/components/ghuser/CompasCem_DisassembleTopology.ghuser,sha256=aBKNjSzw2JFwB0H0OtgjrJDBOlijmtFrHt9uw7WY77A,3329
157
- compas_cem/ghpython/components/ghuser/CompasCem_EdgeDeviation.ghuser,sha256=GtPevbn6wpoWGVxYS-FjKpmmaShhDsNiqZg0bHTpl5k,2958
158
- compas_cem/ghpython/components/ghuser/CompasCem_EdgeTrail.ghuser,sha256=pVRllVgn7W_Fh4FF8mkTa5WEMq1U8VCpvEVEM87zTXc,3189
159
- compas_cem/ghpython/components/ghuser/CompasCem_FormFinding.ghuser,sha256=w5-k5aUWljvxWWiTSIesdyQKP0ULlukwsyxt6iyj8wA,3120
160
- compas_cem/ghpython/components/ghuser/CompasCem_Info.ghuser,sha256=JPJV7FR3LyxSeaGJmmys7P5TSWUJEKCIsix0woF4TZA,2654
161
- compas_cem/ghpython/components/ghuser/CompasCem_JSONExportDiagram.ghuser,sha256=RVxIG4ItdJEftVkRSIdptT29uitxcs-it-V-oU92h58,2959
162
- compas_cem/ghpython/components/ghuser/CompasCem_JSONImportForm.ghuser,sha256=y7Iy90GFLdqaUhigCkqFLwQEfN3bordSMO7vussMI6c,2872
163
- compas_cem/ghpython/components/ghuser/CompasCem_JSONImportTopology.ghuser,sha256=j_tLTmeqzg7Y6wVj4O2Uf32ike69ysQP4kloRDc_w_4,2885
164
- compas_cem/ghpython/components/ghuser/CompasCem_NodeLoad.ghuser,sha256=mpufG0IsAsige9oLH2co_VDRlzgSdJipYH51PnLShYY,2948
165
- compas_cem/ghpython/components/ghuser/CompasCem_NodeSupport.ghuser,sha256=3yA8VIdIhuWNaPvhp8w6XqpP0hQ12oAIn5jNzVQCOms,2818
166
- compas_cem/ghpython/components/ghuser/CompasCem_OriginNodesMove.ghuser,sha256=RCvqPMvyBxuZ1T7bgcdac49HxsvxFj7yOoLFv6tlA10,3130
167
- compas_cem/ghpython/components/ghuser/CompasCem_ParameterDeviationEdge.ghuser,sha256=VppaU1r--QRhpdbnCkaqtTFFgCgVjucaQC2Ke5YIcJ0,3051
168
- compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadX.ghuser,sha256=hEj70kCsaJW3oif6F45mbWaaKkFMq2pCubcSkbY0Q68,3050
169
- compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadY.ghuser,sha256=_JIoEb44sLs5zKaCDgVuiHC13Ijjrz3HTQSbR6kvJC0,3049
170
- compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadZ.ghuser,sha256=mBc7clSN7K4tCGf0ugpTjlNwRLuqj3KW5rvwWq-Jsd4,3050
171
- compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginX.ghuser,sha256=EsBccIoerAFv5ThxuRb7z8yzAL6nWNto6cfYbvNJxPE,3048
172
- compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginY.ghuser,sha256=ALv-yPanGF816HAjTDmZE0FMe1LuzS5d0Xtk06j5WzE,3046
173
- compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginZ.ghuser,sha256=l1w6Oa7SGJcRdhDco-zAwcJ53btjlTOrW_4XF_fCjDo,3038
174
- compas_cem/ghpython/components/ghuser/CompasCem_ParameterTrailEdge.ghuser,sha256=vGQtSzHSZXCo9PDMViw86dkkopFa7BPNMt_ihUjuhRI,3045
175
- compas_cem/ghpython/components/ghuser/CompasCem_Proxy.ghuser,sha256=eYnkFCiVtAAIBbf7rtB4xqFVRcejlcTh_oP4UwLCUyY,2987
176
- compas_cem/ghpython/components/ghuser/CompasCem_ResultsEdges.ghuser,sha256=nwhMHN4HuWqAYZnfApZPXrl2pTaux2gjLRE90ZLcOe0,2995
177
- compas_cem/ghpython/components/ghuser/CompasCem_ResultsSupportNodes.ghuser,sha256=m9OTlzSz_9Um1IgxW2ZkBjvLsnaKY828En6k0b1LP2g,2951
178
- compas_cem/ghpython/components/ghuser/CompasCem_SearchEdgeKey.ghuser,sha256=3_wC88BxnH6VmJp324zdzYX750nvu5yfPH7fNm3PmkA,3050
179
- compas_cem/ghpython/components/ghuser/CompasCem_SearchNodeKey.ghuser,sha256=yrzufWLEBZdgM8Jq74st1FFRNvaYe82rd1Ju--aT7zU,2986
180
- compas_cem/ghpython/components/ghuser/CompasCem_TopologyDiagram.ghuser,sha256=NsF9VfwCyl-2dsqsFaLjjDAIx8EZDpiSy5WEuNyYxck,3229
181
- compas_cem/ghpython/components/ghuser/CompasCem_TrailsShift.ghuser,sha256=VdUGDgT3wCXzwIHNkeCX7F6wLRFV8DMWYdJq3ugbDDo,3038
143
+ compas_cem/ghpython/components/ghuser/CompasCem_ArtistColors.ghuser,sha256=CNoJV1I4XlTxMVyDb2I76VnxDPBdWT2fGkfsRXvkj38,3279
144
+ compas_cem/ghpython/components/ghuser/CompasCem_ArtistForm.ghuser,sha256=G0y4IqDHVSsZhF94ZQvnXDU5H6sGpOjt5Lki19F-nM8,3475
145
+ compas_cem/ghpython/components/ghuser/CompasCem_ArtistTopology.ghuser,sha256=_90QCtrwnxYwvdjCXgZbI_7YEpoebNdd3Needd2zTbk,3631
146
+ compas_cem/ghpython/components/ghuser/CompasCem_ConstrainedFormFinding.ghuser,sha256=5AqDE1wkkEHR6VeXTUp9OAhC5qtj62OIYKYWzoRCN2A,4720
147
+ compas_cem/ghpython/components/ghuser/CompasCem_ConstraintDeviationEdgeLength.ghuser,sha256=sxps9SclEQx3-_ZXq1nsl1QnZO5zwLYeYPNyvYz7mCo,3030
148
+ compas_cem/ghpython/components/ghuser/CompasCem_ConstraintEdgeDirection.ghuser,sha256=ZbgE_4ugnjgxxDw5sxDPInO_BKHquZF5EeRnG5nxhPs,3099
149
+ compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodeLine.ghuser,sha256=oBXKb5bC6Z-vdp8Ju-LAVZ2SMzApQ3qGrWtqrf5Glu4,3056
150
+ compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePlane.ghuser,sha256=Cf-_sHGzevC0lKxuuzPLDVjhAIQ2k-QnvSj_o-IVMXQ,3049
151
+ compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePoint.ghuser,sha256=Sn4JhSbpogh0UayUGlMOVAPtnCY4k5K7AW4ub4fTZYE,3055
152
+ compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePolyline.ghuser,sha256=9OESjXvzGbjF8jiFQoZUssZdbUnu1OJUvxaMDAtWxys,3055
153
+ compas_cem/ghpython/components/ghuser/CompasCem_ConstraintReactionForce.ghuser,sha256=TBa5WQsT6QpxID-3LG5F4UDKnpdAqx_OPYOMorKBfVM,3095
154
+ compas_cem/ghpython/components/ghuser/CompasCem_ConstraintTrailEdgeForce.ghuser,sha256=OY3lwNtb1wV_mcKansB73CLuxiHjrwwW3iO6mOPh7TA,3031
155
+ compas_cem/ghpython/components/ghuser/CompasCem_DisassembleForm.ghuser,sha256=IgRddmKr3rAl7VGN5Nre2tAAwHf0mcl5C8YK2uhs2w4,2934
156
+ compas_cem/ghpython/components/ghuser/CompasCem_DisassembleTopology.ghuser,sha256=Z8W6Vdd-YuREYbapeQD4kIYNJ_tS-P2_VFkvFNv6W0E,3335
157
+ compas_cem/ghpython/components/ghuser/CompasCem_EdgeDeviation.ghuser,sha256=miKcCLidKo7azQv9qkFxCwFIrKVe62F0YIGF-Avbx44,2962
158
+ compas_cem/ghpython/components/ghuser/CompasCem_EdgeTrail.ghuser,sha256=x-1x7Pue2PcgBZU7z4rc7sFfGxtI0ZGWQudRfo7L3-A,3189
159
+ compas_cem/ghpython/components/ghuser/CompasCem_FormFinding.ghuser,sha256=hLJMDu4hGfmqiH93lgz8pTiUN49PUxcxUdDG0S29hO0,3114
160
+ compas_cem/ghpython/components/ghuser/CompasCem_Info.ghuser,sha256=xZGsQljCmBJpoSEMOSP4rFjxjICjAcaE4eonRSX_NsU,2649
161
+ compas_cem/ghpython/components/ghuser/CompasCem_JSONExportDiagram.ghuser,sha256=MDQnggnDnpIHFun_XzHaTwzzLdbjNnyHLo0SXodH5wQ,2962
162
+ compas_cem/ghpython/components/ghuser/CompasCem_JSONImportForm.ghuser,sha256=OefihX0ZiZ2HF0ajWvP4EwqOPnzo9LWDyCRMxEo8GQM,2864
163
+ compas_cem/ghpython/components/ghuser/CompasCem_JSONImportTopology.ghuser,sha256=VrhAGRqV8o7-laKs5JS2A48RHJikDSw5t2ZMyQgp958,2889
164
+ compas_cem/ghpython/components/ghuser/CompasCem_NodeLoad.ghuser,sha256=L6vxZ1TjFp-UbcEjRk_A0dR10eNeqXU2GZBYvkkHke4,2946
165
+ compas_cem/ghpython/components/ghuser/CompasCem_NodeSupport.ghuser,sha256=W5rzP3j0PCWkb5nP1usWjbwSKvOQPRFJ9mjMgeioLhY,2824
166
+ compas_cem/ghpython/components/ghuser/CompasCem_OriginNodesMove.ghuser,sha256=QSdEF6lsCUBaE73ZWhR9IOldgwhEnsoZ9t9Z02L02Ic,3125
167
+ compas_cem/ghpython/components/ghuser/CompasCem_ParameterDeviationEdge.ghuser,sha256=uDwAG3WgFoUzZOS0oU9Z00q4Hz40c6UbBD6XLzk43FE,3055
168
+ compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadX.ghuser,sha256=Ms8Jd3XWHKbMnPbf-oPwz0DZk_PzFavf6ULaAaRnmnE,3045
169
+ compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadY.ghuser,sha256=_TFAUavJCdznuL34u9XTxAWhwoCQmJZKqNUrEdr3joE,3043
170
+ compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadZ.ghuser,sha256=02a5wLU0yOA6pSkDDlX2mK9DQQO9D3p0fHAgGNf850o,3050
171
+ compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginX.ghuser,sha256=q4_IaD_P9AVuRMivneKVbSfo9WRuoUOlSy_JGOjv-7g,3040
172
+ compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginY.ghuser,sha256=yTIHHUj5l5fKgk0U13NEGQ16Pj573_zFo7vM6JdV_iM,3048
173
+ compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginZ.ghuser,sha256=5Y7_GToZfoEeJAGlAIJN8tIHqTHO3z4vOXoCDdbPT0g,3047
174
+ compas_cem/ghpython/components/ghuser/CompasCem_ParameterTrailEdge.ghuser,sha256=x9vTM2mwluGxIMP8cYIKYXMZ8ubbDS2qNy4mZ7pQR_g,3057
175
+ compas_cem/ghpython/components/ghuser/CompasCem_Proxy.ghuser,sha256=7yukRokcRJgfzhHgL_-H9kpIm9p1r3Gm4pbIWxiJQBM,2991
176
+ compas_cem/ghpython/components/ghuser/CompasCem_ResultsEdges.ghuser,sha256=RMogPKzfrg7c_YQNUMO6xg9vBf16m6A3epnsA8QMxLQ,2996
177
+ compas_cem/ghpython/components/ghuser/CompasCem_ResultsSupportNodes.ghuser,sha256=QOqMzrSKa-p1IBAXUFLKFhrIr_RZTOHgh9Ans4eB6sE,2945
178
+ compas_cem/ghpython/components/ghuser/CompasCem_SearchEdgeKey.ghuser,sha256=VWT_0uuebAkBnoTEY106kL_q7VOSV5T-9Q7EWKM40IM,3037
179
+ compas_cem/ghpython/components/ghuser/CompasCem_SearchNodeKey.ghuser,sha256=OpdlOyTiJ3jgHneKQmiyZYmCqc0YZGhlC47ajSLu63U,2982
180
+ compas_cem/ghpython/components/ghuser/CompasCem_TopologyDiagram.ghuser,sha256=OivjWLJ5h9Gp2LHWXChX1-WUu9d9YOI9ko-0OwknrFY,3219
181
+ compas_cem/ghpython/components/ghuser/CompasCem_TrailsShift.ghuser,sha256=NKf7DOR0pbnE7m4syvCdRsTYUiD5sQ6-dcQ4myRf6Qo,3042
182
182
  compas_cem/loads/__init__.py,sha256=2c5bC8Tg6PRXhHx0UYIjfX-zQK0tqg7QuurhJs-Qft8,442
183
183
  compas_cem/loads/node.py,sha256=LLwOgKBiUrzjx11usPsuTahyknwtQPAXaHHXgaq7yWE,1703
184
184
  compas_cem/optimization/__init__.py,sha256=MN6EDOppSMH_JrJ8yDjw79Jw5nVepTTNCGkNSJ8pWaQ,1371
@@ -219,9 +219,9 @@ compas_cem/viewers/formobject.py,sha256=99X_8YM7UY577qyXrgmyStheNgqB0RcoDZFb6cMy
219
219
  compas_cem/viewers/register.py,sha256=QVBpOzAApXbF61kEsd8WC8Mkn73_sbHI5r9pS3TzHrc,386
220
220
  compas_cem/viewers/topologyobject.py,sha256=JhyBlFznJ3sve0KcDjc07pIaRIJJDoQqnNcDmq10IDM,4021
221
221
  compas_cem/viewers/viewer.py,sha256=Bv0E7SyJ4ECMORVseJWU-0kH3uKjCy6O7VxE1tgsVHM,1414
222
- compas_cem-0.8.4.dist-info/AUTHORS.rst,sha256=-OpKl0OpTQVw6EIT68zWlqNgHxNiT4jcWglorf4sdrs,1799
223
- compas_cem-0.8.4.dist-info/LICENSE,sha256=GvaxOoSt0SbcZBdaYBSPeWjyowWtO47cNtD1Z_Dw2K0,1098
224
- compas_cem-0.8.4.dist-info/METADATA,sha256=48nEc8xPEJGK2ctj2nvabEAxS75XQjyQQhkK_8bkGps,7587
225
- compas_cem-0.8.4.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
226
- compas_cem-0.8.4.dist-info/top_level.txt,sha256=MFhp-uQuMkg2A7bc0xz9h7CFiq-92Vdi-gZSaFlGb1s,11
227
- compas_cem-0.8.4.dist-info/RECORD,,
222
+ compas_cem-0.8.5.dist-info/AUTHORS.rst,sha256=-OpKl0OpTQVw6EIT68zWlqNgHxNiT4jcWglorf4sdrs,1799
223
+ compas_cem-0.8.5.dist-info/LICENSE,sha256=GvaxOoSt0SbcZBdaYBSPeWjyowWtO47cNtD1Z_Dw2K0,1098
224
+ compas_cem-0.8.5.dist-info/METADATA,sha256=hq55bo1QlD8gns1ZodFJlB24-dTDTEGTSTSMjjgJpYs,7587
225
+ compas_cem-0.8.5.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
226
+ compas_cem-0.8.5.dist-info/top_level.txt,sha256=MFhp-uQuMkg2A7bc0xz9h7CFiq-92Vdi-gZSaFlGb1s,11
227
+ compas_cem-0.8.5.dist-info/RECORD,,