compas-cem 0.8.0__tar.gz → 0.8.3__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (280) hide show
  1. {compas_cem-0.8.0 → compas_cem-0.8.3}/CHANGELOG.rst +57 -0
  2. compas_cem-0.8.3/PKG-INFO +178 -0
  3. {compas_cem-0.8.0 → compas_cem-0.8.3}/README.rst +5 -8
  4. compas_cem-0.8.3/requirements.txt +5 -0
  5. {compas_cem-0.8.0 → compas_cem-0.8.3}/setup.py +2 -4
  6. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/__init__.py +1 -1
  7. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/diagrams/topology/topology.py +2 -1
  8. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistColors.ghuser +0 -0
  9. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistForm.ghuser +0 -0
  10. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistTopology.ghuser +0 -0
  11. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstrainedFormFinding.ghuser +0 -0
  12. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintDeviationEdgeLength.ghuser +0 -0
  13. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintEdgeDirection.ghuser +0 -0
  14. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodeLine.ghuser +0 -0
  15. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePlane.ghuser +0 -0
  16. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePoint.ghuser +0 -0
  17. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePolyline.ghuser +0 -0
  18. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintReactionForce.ghuser +0 -0
  19. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintTrailEdgeForce.ghuser +0 -0
  20. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_DisassembleForm.ghuser +0 -0
  21. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_DisassembleTopology.ghuser +0 -0
  22. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_EdgeDeviation.ghuser +0 -0
  23. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_EdgeTrail.ghuser +0 -0
  24. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_FormFinding.ghuser +0 -0
  25. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_Info.ghuser +0 -0
  26. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONExportDiagram.ghuser +0 -0
  27. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONImportForm.ghuser +0 -0
  28. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONImportTopology.ghuser +0 -0
  29. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_NodeLoad.ghuser +0 -0
  30. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_NodeSupport.ghuser +0 -0
  31. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_OriginNodesMove.ghuser +0 -0
  32. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterDeviationEdge.ghuser +0 -0
  33. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadX.ghuser +0 -0
  34. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadY.ghuser +0 -0
  35. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadZ.ghuser +0 -0
  36. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginX.ghuser +0 -0
  37. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginY.ghuser +0 -0
  38. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginZ.ghuser +0 -0
  39. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterTrailEdge.ghuser +0 -0
  40. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_Proxy.ghuser +0 -0
  41. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ResultsEdges.ghuser +0 -0
  42. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_ResultsSupportNodes.ghuser +0 -0
  43. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_SearchEdgeKey.ghuser +0 -0
  44. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_SearchNodeKey.ghuser +0 -0
  45. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_TopologyDiagram.ghuser +0 -0
  46. compas_cem-0.8.3/src/compas_cem/ghpython/components/ghuser/CompasCem_TrailsShift.ghuser +0 -0
  47. compas_cem-0.8.3/src/compas_cem.egg-info/PKG-INFO +178 -0
  48. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem.egg-info/SOURCES.txt +0 -1
  49. compas_cem-0.8.3/src/compas_cem.egg-info/requires.txt +5 -0
  50. compas_cem-0.8.0/PKG-INFO +0 -182
  51. compas_cem-0.8.0/requirements.txt +0 -5
  52. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistColors.ghuser +0 -0
  53. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistForm.ghuser +0 -0
  54. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ArtistTopology.ghuser +0 -0
  55. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstrainedFormFinding.ghuser +0 -0
  56. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintDeviationEdgeLength.ghuser +0 -0
  57. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintEdgeDirection.ghuser +0 -0
  58. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodeLine.ghuser +0 -0
  59. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePlane.ghuser +0 -0
  60. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePoint.ghuser +0 -0
  61. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintNodePolyline.ghuser +0 -0
  62. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintReactionForce.ghuser +0 -0
  63. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ConstraintTrailEdgeForce.ghuser +0 -0
  64. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_DisassembleForm.ghuser +0 -0
  65. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_DisassembleTopology.ghuser +0 -0
  66. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_EdgeDeviation.ghuser +0 -0
  67. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_EdgeTrail.ghuser +0 -0
  68. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_FormFinding.ghuser +0 -0
  69. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_Info.ghuser +0 -0
  70. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONExportDiagram.ghuser +0 -0
  71. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONImportForm.ghuser +0 -0
  72. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_JSONImportTopology.ghuser +0 -0
  73. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_NodeLoad.ghuser +0 -0
  74. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_NodeSupport.ghuser +0 -0
  75. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_OriginNodesMove.ghuser +0 -0
  76. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterDeviationEdge.ghuser +0 -0
  77. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadX.ghuser +0 -0
  78. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadY.ghuser +0 -0
  79. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeLoadZ.ghuser +0 -0
  80. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginX.ghuser +0 -0
  81. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginY.ghuser +0 -0
  82. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterNodeOriginZ.ghuser +0 -0
  83. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ParameterTrailEdge.ghuser +0 -0
  84. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_Proxy.ghuser +0 -0
  85. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ResultsEdges.ghuser +0 -0
  86. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_ResultsSupportNodes.ghuser +0 -0
  87. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_SearchEdgeKey.ghuser +0 -0
  88. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_SearchNodeKey.ghuser +0 -0
  89. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_TopologyDiagram.ghuser +0 -0
  90. compas_cem-0.8.0/src/compas_cem/ghpython/components/ghuser/CompasCem_TrailsShift.ghuser +0 -0
  91. compas_cem-0.8.0/src/compas_cem.egg-info/PKG-INFO +0 -182
  92. compas_cem-0.8.0/src/compas_cem.egg-info/entry_points.txt +0 -3
  93. compas_cem-0.8.0/src/compas_cem.egg-info/requires.txt +0 -5
  94. {compas_cem-0.8.0 → compas_cem-0.8.3}/AUTHORS.rst +0 -0
  95. {compas_cem-0.8.0 → compas_cem-0.8.3}/LICENSE +0 -0
  96. {compas_cem-0.8.0 → compas_cem-0.8.3}/MANIFEST.in +0 -0
  97. {compas_cem-0.8.0 → compas_cem-0.8.3}/setup.cfg +0 -0
  98. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/data/__init__.py +0 -0
  99. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/data/data.py +0 -0
  100. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/diagrams/__init__.py +0 -0
  101. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/diagrams/diagram.py +0 -0
  102. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/diagrams/form.py +0 -0
  103. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/diagrams/mixins/__init__.py +0 -0
  104. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/diagrams/mixins/edge_mixins.py +0 -0
  105. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/diagrams/mixins/node_mixins.py +0 -0
  106. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/diagrams/topology/__init__.py +0 -0
  107. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/diagrams/topology/mesh_mixins.py +0 -0
  108. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/elements/__init__.py +0 -0
  109. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/elements/deviation.py +0 -0
  110. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/elements/edge.py +0 -0
  111. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/elements/node.py +0 -0
  112. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/elements/trail.py +0 -0
  113. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/equilibrium/__init__.py +0 -0
  114. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/equilibrium/force.py +0 -0
  115. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/equilibrium/force_numpy.py +0 -0
  116. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/__init__.py +0 -0
  117. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/artists.py +0 -0
  118. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ArtistColors/code.py +0 -0
  119. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ArtistColors/icon.png +0 -0
  120. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ArtistColors/metadata.json +0 -0
  121. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ArtistForm/code.py +0 -0
  122. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ArtistForm/icon.png +0 -0
  123. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ArtistForm/metadata.json +0 -0
  124. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ArtistTopology/code.py +0 -0
  125. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ArtistTopology/icon.png +0 -0
  126. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ArtistTopology/metadata.json +0 -0
  127. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstrainedFormFinding/code.py +0 -0
  128. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstrainedFormFinding/icon.png +0 -0
  129. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstrainedFormFinding/metadata.json +0 -0
  130. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintDeviationEdgeLength/code.py +0 -0
  131. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintDeviationEdgeLength/icon.png +0 -0
  132. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintDeviationEdgeLength/metadata.json +0 -0
  133. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintEdgeDirection/code.py +0 -0
  134. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintEdgeDirection/icon.png +0 -0
  135. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintEdgeDirection/metadata.json +0 -0
  136. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodeLine/code.py +0 -0
  137. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodeLine/icon.png +0 -0
  138. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodeLine/metadata.json +0 -0
  139. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePlane/code.py +0 -0
  140. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePlane/icon.png +0 -0
  141. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePlane/metadata.json +0 -0
  142. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePoint/code.py +0 -0
  143. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePoint/icon.png +0 -0
  144. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePoint/metadata.json +0 -0
  145. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePolyline/code.py +0 -0
  146. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePolyline/icon.png +0 -0
  147. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintNodePolyline/metadata.json +0 -0
  148. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintReactionForce/code.py +0 -0
  149. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintReactionForce/icon.png +0 -0
  150. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintReactionForce/metadata.json +0 -0
  151. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintTrailEdgeForce/code.py +0 -0
  152. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintTrailEdgeForce/icon.png +0 -0
  153. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ConstraintTrailEdgeForce/metadata.json +0 -0
  154. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_DisassembleForm/code.py +0 -0
  155. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_DisassembleForm/icon.png +0 -0
  156. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_DisassembleForm/metadata.json +0 -0
  157. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_DisassembleTopology/code.py +0 -0
  158. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_DisassembleTopology/icon.png +0 -0
  159. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_DisassembleTopology/metadata.json +0 -0
  160. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_EdgeDeviation/code.py +0 -0
  161. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_EdgeDeviation/icon.png +0 -0
  162. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_EdgeDeviation/metadata.json +0 -0
  163. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_EdgeTrail/code.py +0 -0
  164. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_EdgeTrail/icon.png +0 -0
  165. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_EdgeTrail/metadata.json +0 -0
  166. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_FormFinding/code.py +0 -0
  167. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_FormFinding/icon.png +0 -0
  168. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_FormFinding/metadata.json +0 -0
  169. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_Info/code.py +0 -0
  170. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_Info/icon.png +0 -0
  171. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_Info/metadata.json +0 -0
  172. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_JSONExportDiagram/code.py +0 -0
  173. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_JSONExportDiagram/icon.png +0 -0
  174. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_JSONExportDiagram/metadata.json +0 -0
  175. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_JSONImportForm/code.py +0 -0
  176. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_JSONImportForm/icon.png +0 -0
  177. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_JSONImportForm/metadata.json +0 -0
  178. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_JSONImportTopology/code.py +0 -0
  179. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_JSONImportTopology/icon.png +0 -0
  180. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_JSONImportTopology/metadata.json +0 -0
  181. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_NodeLoad/code.py +0 -0
  182. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_NodeLoad/icon.png +0 -0
  183. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_NodeLoad/metadata.json +0 -0
  184. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_NodeSupport/code.py +0 -0
  185. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_NodeSupport/icon.png +0 -0
  186. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_NodeSupport/metadata.json +0 -0
  187. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_OriginNodesMove/code.py +0 -0
  188. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_OriginNodesMove/icon.png +0 -0
  189. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_OriginNodesMove/metadata.json +0 -0
  190. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterDeviationEdge/code.py +0 -0
  191. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterDeviationEdge/icon.png +0 -0
  192. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterDeviationEdge/metadata.json +0 -0
  193. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadX/code.py +0 -0
  194. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadX/icon.png +0 -0
  195. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadX/metadata.json +0 -0
  196. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadY/code.py +0 -0
  197. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadY/icon.png +0 -0
  198. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadY/metadata.json +0 -0
  199. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadZ/code.py +0 -0
  200. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadZ/icon.png +0 -0
  201. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeLoadZ/metadata.json +0 -0
  202. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginX/code.py +0 -0
  203. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginX/icon.png +0 -0
  204. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginX/metadata.json +0 -0
  205. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginY/code.py +0 -0
  206. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginY/icon.png +0 -0
  207. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginY/metadata.json +0 -0
  208. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginZ/code.py +0 -0
  209. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginZ/icon.png +0 -0
  210. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterNodeOriginZ/metadata.json +0 -0
  211. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterTrailEdge/code.py +0 -0
  212. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterTrailEdge/icon.png +0 -0
  213. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ParameterTrailEdge/metadata.json +0 -0
  214. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_Proxy/code.py +0 -0
  215. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_Proxy/icon.png +0 -0
  216. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_Proxy/metadata.json +0 -0
  217. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ResultsEdges/code.py +0 -0
  218. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ResultsEdges/icon.png +0 -0
  219. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ResultsEdges/metadata.json +0 -0
  220. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ResultsSupportNodes/code.py +0 -0
  221. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ResultsSupportNodes/icon.png +0 -0
  222. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_ResultsSupportNodes/metadata.json +0 -0
  223. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_SearchEdgeKey/code.py +0 -0
  224. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_SearchEdgeKey/icon.png +0 -0
  225. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_SearchEdgeKey/metadata.json +0 -0
  226. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_SearchNodeKey/code.py +0 -0
  227. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_SearchNodeKey/icon.png +0 -0
  228. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_SearchNodeKey/metadata.json +0 -0
  229. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_TopologyDiagram/code.py +0 -0
  230. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_TopologyDiagram/icon.png +0 -0
  231. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_TopologyDiagram/metadata.json +0 -0
  232. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_TrailsShift/code.py +0 -0
  233. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_TrailsShift/icon.png +0 -0
  234. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/components/CompasCem_TrailsShift/metadata.json +0 -0
  235. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/install.py +0 -0
  236. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/register.py +0 -0
  237. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/ghpython/uninstall.py +0 -0
  238. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/loads/__init__.py +0 -0
  239. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/loads/node.py +0 -0
  240. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/__init__.py +0 -0
  241. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/constraints/__init__.py +0 -0
  242. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/constraints/constraint.py +0 -0
  243. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/constraints/direction.py +0 -0
  244. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/constraints/force.py +0 -0
  245. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/constraints/length.py +0 -0
  246. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/constraints/line.py +0 -0
  247. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/constraints/mesh.py +0 -0
  248. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/constraints/plane.py +0 -0
  249. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/constraints/point.py +0 -0
  250. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/constraints/polyline.py +0 -0
  251. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/grad.py +0 -0
  252. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/nlopt.py +0 -0
  253. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/objective_func.py +0 -0
  254. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/optimizer.py +0 -0
  255. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/parameters/__init__.py +0 -0
  256. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/parameters/deviation.py +0 -0
  257. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/parameters/edge.py +0 -0
  258. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/parameters/load.py +0 -0
  259. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/parameters/node.py +0 -0
  260. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/parameters/origin.py +0 -0
  261. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/parameters/parameter.py +0 -0
  262. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/parameters/trail.py +0 -0
  263. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/optimization/proxy.py +0 -0
  264. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/plotters/__init__.py +0 -0
  265. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/plotters/formartist.py +0 -0
  266. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/plotters/plotter.py +0 -0
  267. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/plotters/proxy.py +0 -0
  268. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/plotters/register.py +0 -0
  269. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/plotters/topologyartist.py +0 -0
  270. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/supports/__init__.py +0 -0
  271. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/supports/node.py +0 -0
  272. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/viewers/__init__.py +0 -0
  273. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/viewers/diagramobject.py +0 -0
  274. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/viewers/formobject.py +0 -0
  275. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/viewers/register.py +0 -0
  276. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/viewers/topologyobject.py +0 -0
  277. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem/viewers/viewer.py +0 -0
  278. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem.egg-info/dependency_links.txt +0 -0
  279. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem.egg-info/not-zip-safe +0 -0
  280. {compas_cem-0.8.0 → compas_cem-0.8.3}/src/compas_cem.egg-info/top_level.txt +0 -0
@@ -6,6 +6,63 @@ All notable changes to this project will be documented in this file.
6
6
  The format is based on `Keep a Changelog <https://keepachangelog.com/en/1.0.0/>`_
7
7
  and this project adheres to `Semantic Versioning <https://semver.org/spec/v2.0.0.html>`_.
8
8
 
9
+ 0.8.3
10
+ ----------
11
+
12
+ **Added**
13
+
14
+ **Changed**
15
+
16
+ - Pinned dependency to `nlopt==2.7.1`.
17
+
18
+ Pinned
19
+
20
+ **Fixed**
21
+
22
+ **Deprecated**
23
+
24
+ **Removed**
25
+
26
+ 0.8.2
27
+ ----------
28
+
29
+ **Added**
30
+
31
+ **Changed**
32
+
33
+ **Fixed**
34
+
35
+ **Deprecated**
36
+
37
+ **Removed**
38
+
39
+ 0.8.1
40
+ ----------
41
+
42
+ **Added**
43
+
44
+ - Added set conversion in `TopologyDiagram.is_auxiliary_trail_edge()`.
45
+
46
+ **Changed**
47
+
48
+ - Pinned dependency to `numpy==1.26.3`.
49
+ - Pinned dependency to `compas==1.17.10`.
50
+ - Updated installation instructions in docs website.
51
+ - Set minimum supported python version to `3.8`.
52
+ - Bumped to docs action to `docs@.2.21`.
53
+ - Pinned `sphinx, `pytest`, and `pytest-lazy-fixture` dependencies in `requirements_dev.txt`.
54
+ - Set `crazy-max/ghaction-github-pages@v3.1.0` in `docs` action.
55
+ - Set `compas-actions.docs@v2.2.1` in `docs` action.
56
+ - Updated grashopper components in examples.
57
+
58
+ **Fixed**
59
+
60
+ **Deprecated**
61
+
62
+ **Removed**
63
+
64
+ - Removed `compas_singular` dependency.
65
+
9
66
  0.8.0
10
67
  ----------
11
68
 
@@ -0,0 +1,178 @@
1
+ Metadata-Version: 2.1
2
+ Name: compas_cem
3
+ Version: 0.8.3
4
+ Summary: The Combinatorial Equilibrium Modeling framework for COMPAS
5
+ Home-page: https://github.com/arpastrana/compas_cem
6
+ Author: Rafael Pastrana
7
+ Author-email: arpj@princeton.edu
8
+ License: MIT license
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Topic :: Scientific/Engineering
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: Unix
14
+ Classifier: Operating System :: POSIX
15
+ Classifier: Operating System :: Microsoft :: Windows
16
+ Classifier: Programming Language :: Python
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: Implementation :: CPython
21
+ Requires-Python: >=3.8
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ License-File: AUTHORS.rst
25
+
26
+ ********************************************************************************
27
+ COMPAS CEM
28
+ ********************************************************************************
29
+
30
+ .. start-badges
31
+
32
+ .. image:: https://github.com/arpastrana/compas_cem/workflows/build/badge.svg
33
+ :target: https://github.com/arpastrana/compas_cem/actions
34
+ :alt: Github Actions Build Status
35
+
36
+ .. image:: https://img.shields.io/github/license/arpastrana/compas_cem.svg
37
+ :target: https://github.com/arpastrana/compas_cem/blob/main/LICENSE
38
+ :alt: License
39
+
40
+ .. image:: https://img.shields.io/pypi/v/compas-cem.svg
41
+ :target: https://pypi.python.org/pypi/compas-cem
42
+ :alt: PyPI Package latest release
43
+
44
+ .. image:: https://img.shields.io/pypi/pyversions/compas-cem
45
+ :target: https://pypi.org/project/compas-cem
46
+ :alt: Python versions
47
+
48
+ .. image:: https://img.shields.io/badge/arXiv-2111.02607-b31b1b.svg
49
+ :target: https://arxiv.org/abs/2111.02607
50
+ :alt: ArXiv paper
51
+
52
+ .. image:: https://zenodo.org/badge/278780552.svg
53
+ :target: https://zenodo.org/badge/latestdoi/278780552
54
+ :alt: Zenodo DOI
55
+
56
+ .. end-badges
57
+
58
+ .. _COMPAS: https://compas.dev/
59
+ .. _COMPAS CEM Docs: https://arpastrana.github.io/compas_cem/latest/index.html
60
+ .. _CEM Framework: https://doi.org/10.1016/j.cad.2022.103435
61
+ .. _Rafael Pastrana: https://pastrana.xyz/
62
+ .. _Princeton: https://soa.princeton.edu/
63
+ .. _Ole Ohlbrock: https://schwartz.arch.ethz.ch/Team/patrickoleohlbrock.php?lan=en
64
+ .. _Pierluigi D'Acunto: https://www.professoren.tum.de/en/dacunto-pierluigi
65
+ .. _Stefana Parascho: https://people.epfl.ch/stefana.parascho?lang=en
66
+ .. _Anaconda: https://www.anaconda.com/
67
+ .. _Rhino: https://www.rhino3d.com/
68
+ .. _Blender: https://www.blender.org/
69
+ .. _Grasshopper: https://grasshopper3d.com/
70
+ .. _metaverse: https://apnews.com/article/meta-facebook-explaining-the-metaverse-f57e01cd5739840945e89fd668b0fa27
71
+
72
+
73
+ .. figure:: ./docs/images/staircase_24_fps_128_colors.gif
74
+ :figclass: figure
75
+ :class: figure-img img-fluid
76
+
77
+
78
+ The `Combinatorial Equilibrium Modeling (CEM) <https://doi.org/10.1016/j.cad.2022.103435>`_ framework for `COMPAS`_.
79
+
80
+ The `CEM framework`_ is a numerical form-finding approach to generate forms in static equilibrium for spatial bar structures subjected to combinations of tension-compression forces and design constraints.
81
+ **COMPAS CEM** encapsulates the `CEM framework`_ into an open-source structural design tool that enables the formulation and the solution of constrained form-finding problems in plain and simple `Python <https://www.python.org/>`_ code.
82
+
83
+
84
+ Main features
85
+ =============
86
+
87
+ * **Mix tension and compression forces:** Explore a wider spectrum of structural typologies by combining internal tension and compression forces in the same structure. Design space frames, bridges, tensegrities, and staircases and go beyond the conventional catalog of compression-only shells and cable-nets!
88
+
89
+ * **Solve constrained form-finding problems efficiently via automatic differentiation:** Generate forms in static equilibrium that simultaneously meet a priori design constraints such as best-fitting a global target shape, restraining bar lengths, and controlling the reaction forces at the supports of a structure.
90
+
91
+ * **Usable across different 3D modeling software and operating systems:** COMPAS CEM runs on Windows, MacOS and Linux (perhaps one day in the `metaverse`_) and it does not depend on any CAD software to work. However, it provides the necessary interfaces to be seamlessly used inside popular design environments like `Rhino`_, `Blender`_, and `Grasshopper`_. As a `COMPAS`_ extension, COMPAS CEM offers native integration and data exchange with other extensions and plugins in the COMPAS ecosystem.
92
+
93
+ * **Move those sliders with the Grasshopper plugin:** Are you a `Grasshopper`_ person? Worry not. COMPAS CEM is also shipped as a precooked Grasshopper plugin to readily integrate our constrained form-finding engine into your next spaghetti pipeline 🍝.
94
+
95
+
96
+ Installation
97
+ ============
98
+
99
+
100
+ These are succint instructions to install **COMPAS CEM** and its `Grasshopper`_ plugin.
101
+ For detailed guidance, please refer to the `COMPAS CEM Docs`_.
102
+
103
+ Install **COMPAS CEM** in a dedicated `Anaconda`_ environment via ``pip``:
104
+
105
+ ::
106
+
107
+ pip install compas-cem
108
+
109
+ To double-check that everything is up and running, type the following in the
110
+ command line and hit enter:
111
+
112
+ ::
113
+
114
+ python -c "import compas_cem"
115
+
116
+ If no errors show up, celebrate 🎉! You have a working installation of **COMPAS CEM**.
117
+
118
+
119
+ Grasshopper plugin
120
+ ------------------
121
+
122
+ **Warning**: Note that `Grasshopper`_ plugin of **COMPAS CEM** is only supported in **Rhino 6** and **Rhino 7**.
123
+
124
+ Once **COMPAS CEM** was installed from the comment line, we can additionally link it to `Rhino`_ and use it as `Grasshopper`_ plugin:
125
+
126
+ ::
127
+
128
+ python -m compas_rhino.install -v 7.0
129
+
130
+ The flag ``-v 7.0`` indicates that we will be installing **COMPAS CEM** and company in Rhino 7. If you are working with Rhino 6, replace that last bit with ``-v 6.0``.
131
+
132
+
133
+ First steps
134
+ ===========
135
+
136
+ * `COMPAS CEM Docs`_
137
+ * `COMPAS CEM Examples <https://arpastrana.github.io/compas_cem/latest/examples.html>`_
138
+ * `COMPAS CEM API Reference <https://arpastrana.github.io/compas_cem/latest/api.html>`_
139
+ * `COMPAS Tutorials <https://compas.dev/compas/latest/tutorial.html>`_
140
+ * `COMPAS API Reference <https://compas.dev/compas/latest/api.html>`_
141
+
142
+
143
+ Are you a bug hunter?
144
+ =====================
145
+
146
+ If you find a bug or want to suggest a potential enhancement,
147
+ please help us tackle it by filing a `report <https://github.com/arpastrana/compas_cem/issues>`_.
148
+
149
+
150
+ Questions and feedback
151
+ ======================
152
+
153
+ We encourage the use of the `COMPAS framework forum <https://forum.compas-framework.org/>`_ for questions and discussions.
154
+
155
+
156
+ Contributing
157
+ ============
158
+
159
+ Pull requests are warmly welcome! Check the `Contributor's Guide <https://github.com/arpastrana/compas_cem/blob/main/CONTRIBUTING.md>`_
160
+ for more details.
161
+
162
+
163
+ Citing
164
+ ======
165
+
166
+ If you use **COMPAS CEM** for a project or research, please cite us using these `references <https://arpastrana.github.io/compas_cem/latest/citing.html>`_.
167
+
168
+
169
+ Acknowledgements
170
+ ================
171
+
172
+ This work has been supported in part by the U.S. National Science Foundation under grant OAC-2118201 and the `NSF Institute for Data Driven Dynamical Design <https://www.mines.edu/id4>`_.
173
+
174
+
175
+ License
176
+ =======
177
+
178
+ MIT
@@ -28,20 +28,16 @@ COMPAS CEM
28
28
  :target: https://zenodo.org/badge/latestdoi/278780552
29
29
  :alt: Zenodo DOI
30
30
 
31
- .. image:: https://img.shields.io/twitter/follow/compas_dev?style=social
32
- :target: https://twitter.com/compas_dev
33
- :alt: Twitter follow
34
-
35
31
  .. end-badges
36
32
 
37
33
  .. _COMPAS: https://compas.dev/
38
34
  .. _COMPAS CEM Docs: https://arpastrana.github.io/compas_cem/latest/index.html
39
- .. _CEM Framework: https://arxiv.org/abs/2111.02607
35
+ .. _CEM Framework: https://doi.org/10.1016/j.cad.2022.103435
40
36
  .. _Rafael Pastrana: https://pastrana.xyz/
41
37
  .. _Princeton: https://soa.princeton.edu/
42
38
  .. _Ole Ohlbrock: https://schwartz.arch.ethz.ch/Team/patrickoleohlbrock.php?lan=en
43
39
  .. _Pierluigi D'Acunto: https://www.professoren.tum.de/en/dacunto-pierluigi
44
- .. _Stefana Parascho: https://soa.princeton.edu/content/stefana-parascho
40
+ .. _Stefana Parascho: https://people.epfl.ch/stefana.parascho?lang=en
45
41
  .. _Anaconda: https://www.anaconda.com/
46
42
  .. _Rhino: https://www.rhino3d.com/
47
43
  .. _Blender: https://www.blender.org/
@@ -49,13 +45,12 @@ COMPAS CEM
49
45
  .. _metaverse: https://apnews.com/article/meta-facebook-explaining-the-metaverse-f57e01cd5739840945e89fd668b0fa27
50
46
 
51
47
 
52
-
53
48
  .. figure:: ./docs/images/staircase_24_fps_128_colors.gif
54
49
  :figclass: figure
55
50
  :class: figure-img img-fluid
56
51
 
57
52
 
58
- The `Combinatorial Equilibrium Modeling (CEM) <https://arxiv.org/abs/2111.02607>`_ framework for `COMPAS`_.
53
+ The `Combinatorial Equilibrium Modeling (CEM) <https://doi.org/10.1016/j.cad.2022.103435>`_ framework for `COMPAS`_.
59
54
 
60
55
  The `CEM framework`_ is a numerical form-finding approach to generate forms in static equilibrium for spatial bar structures subjected to combinations of tension-compression forces and design constraints.
61
56
  **COMPAS CEM** encapsulates the `CEM framework`_ into an open-source structural design tool that enables the formulation and the solution of constrained form-finding problems in plain and simple `Python <https://www.python.org/>`_ code.
@@ -99,6 +94,8 @@ If no errors show up, celebrate 🎉! You have a working installation of **COMPA
99
94
  Grasshopper plugin
100
95
  ------------------
101
96
 
97
+ **Warning**: Note that `Grasshopper`_ plugin of **COMPAS CEM** is only supported in **Rhino 6** and **Rhino 7**.
98
+
102
99
  Once **COMPAS CEM** was installed from the comment line, we can additionally link it to `Rhino`_ and use it as `Grasshopper`_ plugin:
103
100
 
104
101
  ::
@@ -0,0 +1,5 @@
1
+ numpy==1.26.3
2
+ compas==1.17.10
3
+ trimesh==3.20.0
4
+ autograd==1.5
5
+ nlopt==2.7.1
@@ -28,7 +28,7 @@ optional_requirements = {}
28
28
 
29
29
  setup(
30
30
  name="compas_cem",
31
- version="0.8.0",
31
+ version="0.8.3",
32
32
  description="The Combinatorial Equilibrium Modeling framework for COMPAS",
33
33
  long_description=long_description,
34
34
  long_description_content_type="text/markdown",
@@ -46,8 +46,6 @@ setup(
46
46
  "Operating System :: Microsoft :: Windows",
47
47
  "Programming Language :: Python",
48
48
  "Programming Language :: Python :: 3",
49
- "Programming Language :: Python :: 3.6",
50
- "Programming Language :: Python :: 3.7",
51
49
  "Programming Language :: Python :: 3.8",
52
50
  "Programming Language :: Python :: 3.9",
53
51
  "Programming Language :: Python :: Implementation :: CPython",
@@ -61,7 +59,7 @@ setup(
61
59
  include_package_data=True,
62
60
  zip_safe=False,
63
61
  install_requires=requirements,
64
- python_requires=">=3.6",
62
+ python_requires=">=3.8",
65
63
  extras_require=optional_requirements,
66
64
  entry_points={
67
65
  "console_scripts": [],
@@ -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.0"
30
+ __version__ = "0.8.3"
31
31
 
32
32
 
33
33
  # Directories
@@ -737,7 +737,8 @@ class TopologyDiagram(Diagram, MeshMixins):
737
737
  flag : ``bool``
738
738
  ``True``if the edge is in an auxiliary trail. ``False`` otherwise.
739
739
  """
740
- if edge in set(self.auxiliary_trails()):
740
+ aux_trails = set([tuple(edge) for edge in self.auxiliary_trails()])
741
+ if edge in set(aux_trails):
741
742
  return True
742
743
  return False
743
744
 
@@ -0,0 +1,178 @@
1
+ Metadata-Version: 2.1
2
+ Name: compas-cem
3
+ Version: 0.8.3
4
+ Summary: The Combinatorial Equilibrium Modeling framework for COMPAS
5
+ Home-page: https://github.com/arpastrana/compas_cem
6
+ Author: Rafael Pastrana
7
+ Author-email: arpj@princeton.edu
8
+ License: MIT license
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Topic :: Scientific/Engineering
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: Unix
14
+ Classifier: Operating System :: POSIX
15
+ Classifier: Operating System :: Microsoft :: Windows
16
+ Classifier: Programming Language :: Python
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: Implementation :: CPython
21
+ Requires-Python: >=3.8
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ License-File: AUTHORS.rst
25
+
26
+ ********************************************************************************
27
+ COMPAS CEM
28
+ ********************************************************************************
29
+
30
+ .. start-badges
31
+
32
+ .. image:: https://github.com/arpastrana/compas_cem/workflows/build/badge.svg
33
+ :target: https://github.com/arpastrana/compas_cem/actions
34
+ :alt: Github Actions Build Status
35
+
36
+ .. image:: https://img.shields.io/github/license/arpastrana/compas_cem.svg
37
+ :target: https://github.com/arpastrana/compas_cem/blob/main/LICENSE
38
+ :alt: License
39
+
40
+ .. image:: https://img.shields.io/pypi/v/compas-cem.svg
41
+ :target: https://pypi.python.org/pypi/compas-cem
42
+ :alt: PyPI Package latest release
43
+
44
+ .. image:: https://img.shields.io/pypi/pyversions/compas-cem
45
+ :target: https://pypi.org/project/compas-cem
46
+ :alt: Python versions
47
+
48
+ .. image:: https://img.shields.io/badge/arXiv-2111.02607-b31b1b.svg
49
+ :target: https://arxiv.org/abs/2111.02607
50
+ :alt: ArXiv paper
51
+
52
+ .. image:: https://zenodo.org/badge/278780552.svg
53
+ :target: https://zenodo.org/badge/latestdoi/278780552
54
+ :alt: Zenodo DOI
55
+
56
+ .. end-badges
57
+
58
+ .. _COMPAS: https://compas.dev/
59
+ .. _COMPAS CEM Docs: https://arpastrana.github.io/compas_cem/latest/index.html
60
+ .. _CEM Framework: https://doi.org/10.1016/j.cad.2022.103435
61
+ .. _Rafael Pastrana: https://pastrana.xyz/
62
+ .. _Princeton: https://soa.princeton.edu/
63
+ .. _Ole Ohlbrock: https://schwartz.arch.ethz.ch/Team/patrickoleohlbrock.php?lan=en
64
+ .. _Pierluigi D'Acunto: https://www.professoren.tum.de/en/dacunto-pierluigi
65
+ .. _Stefana Parascho: https://people.epfl.ch/stefana.parascho?lang=en
66
+ .. _Anaconda: https://www.anaconda.com/
67
+ .. _Rhino: https://www.rhino3d.com/
68
+ .. _Blender: https://www.blender.org/
69
+ .. _Grasshopper: https://grasshopper3d.com/
70
+ .. _metaverse: https://apnews.com/article/meta-facebook-explaining-the-metaverse-f57e01cd5739840945e89fd668b0fa27
71
+
72
+
73
+ .. figure:: ./docs/images/staircase_24_fps_128_colors.gif
74
+ :figclass: figure
75
+ :class: figure-img img-fluid
76
+
77
+
78
+ The `Combinatorial Equilibrium Modeling (CEM) <https://doi.org/10.1016/j.cad.2022.103435>`_ framework for `COMPAS`_.
79
+
80
+ The `CEM framework`_ is a numerical form-finding approach to generate forms in static equilibrium for spatial bar structures subjected to combinations of tension-compression forces and design constraints.
81
+ **COMPAS CEM** encapsulates the `CEM framework`_ into an open-source structural design tool that enables the formulation and the solution of constrained form-finding problems in plain and simple `Python <https://www.python.org/>`_ code.
82
+
83
+
84
+ Main features
85
+ =============
86
+
87
+ * **Mix tension and compression forces:** Explore a wider spectrum of structural typologies by combining internal tension and compression forces in the same structure. Design space frames, bridges, tensegrities, and staircases and go beyond the conventional catalog of compression-only shells and cable-nets!
88
+
89
+ * **Solve constrained form-finding problems efficiently via automatic differentiation:** Generate forms in static equilibrium that simultaneously meet a priori design constraints such as best-fitting a global target shape, restraining bar lengths, and controlling the reaction forces at the supports of a structure.
90
+
91
+ * **Usable across different 3D modeling software and operating systems:** COMPAS CEM runs on Windows, MacOS and Linux (perhaps one day in the `metaverse`_) and it does not depend on any CAD software to work. However, it provides the necessary interfaces to be seamlessly used inside popular design environments like `Rhino`_, `Blender`_, and `Grasshopper`_. As a `COMPAS`_ extension, COMPAS CEM offers native integration and data exchange with other extensions and plugins in the COMPAS ecosystem.
92
+
93
+ * **Move those sliders with the Grasshopper plugin:** Are you a `Grasshopper`_ person? Worry not. COMPAS CEM is also shipped as a precooked Grasshopper plugin to readily integrate our constrained form-finding engine into your next spaghetti pipeline 🍝.
94
+
95
+
96
+ Installation
97
+ ============
98
+
99
+
100
+ These are succint instructions to install **COMPAS CEM** and its `Grasshopper`_ plugin.
101
+ For detailed guidance, please refer to the `COMPAS CEM Docs`_.
102
+
103
+ Install **COMPAS CEM** in a dedicated `Anaconda`_ environment via ``pip``:
104
+
105
+ ::
106
+
107
+ pip install compas-cem
108
+
109
+ To double-check that everything is up and running, type the following in the
110
+ command line and hit enter:
111
+
112
+ ::
113
+
114
+ python -c "import compas_cem"
115
+
116
+ If no errors show up, celebrate 🎉! You have a working installation of **COMPAS CEM**.
117
+
118
+
119
+ Grasshopper plugin
120
+ ------------------
121
+
122
+ **Warning**: Note that `Grasshopper`_ plugin of **COMPAS CEM** is only supported in **Rhino 6** and **Rhino 7**.
123
+
124
+ Once **COMPAS CEM** was installed from the comment line, we can additionally link it to `Rhino`_ and use it as `Grasshopper`_ plugin:
125
+
126
+ ::
127
+
128
+ python -m compas_rhino.install -v 7.0
129
+
130
+ The flag ``-v 7.0`` indicates that we will be installing **COMPAS CEM** and company in Rhino 7. If you are working with Rhino 6, replace that last bit with ``-v 6.0``.
131
+
132
+
133
+ First steps
134
+ ===========
135
+
136
+ * `COMPAS CEM Docs`_
137
+ * `COMPAS CEM Examples <https://arpastrana.github.io/compas_cem/latest/examples.html>`_
138
+ * `COMPAS CEM API Reference <https://arpastrana.github.io/compas_cem/latest/api.html>`_
139
+ * `COMPAS Tutorials <https://compas.dev/compas/latest/tutorial.html>`_
140
+ * `COMPAS API Reference <https://compas.dev/compas/latest/api.html>`_
141
+
142
+
143
+ Are you a bug hunter?
144
+ =====================
145
+
146
+ If you find a bug or want to suggest a potential enhancement,
147
+ please help us tackle it by filing a `report <https://github.com/arpastrana/compas_cem/issues>`_.
148
+
149
+
150
+ Questions and feedback
151
+ ======================
152
+
153
+ We encourage the use of the `COMPAS framework forum <https://forum.compas-framework.org/>`_ for questions and discussions.
154
+
155
+
156
+ Contributing
157
+ ============
158
+
159
+ Pull requests are warmly welcome! Check the `Contributor's Guide <https://github.com/arpastrana/compas_cem/blob/main/CONTRIBUTING.md>`_
160
+ for more details.
161
+
162
+
163
+ Citing
164
+ ======
165
+
166
+ If you use **COMPAS CEM** for a project or research, please cite us using these `references <https://arpastrana.github.io/compas_cem/latest/citing.html>`_.
167
+
168
+
169
+ Acknowledgements
170
+ ================
171
+
172
+ This work has been supported in part by the U.S. National Science Foundation under grant OAC-2118201 and the `NSF Institute for Data Driven Dynamical Design <https://www.mines.edu/id4>`_.
173
+
174
+
175
+ License
176
+ =======
177
+
178
+ MIT
@@ -10,7 +10,6 @@ src/compas_cem/__init__.py
10
10
  src/compas_cem.egg-info/PKG-INFO
11
11
  src/compas_cem.egg-info/SOURCES.txt
12
12
  src/compas_cem.egg-info/dependency_links.txt
13
- src/compas_cem.egg-info/entry_points.txt
14
13
  src/compas_cem.egg-info/not-zip-safe
15
14
  src/compas_cem.egg-info/requires.txt
16
15
  src/compas_cem.egg-info/top_level.txt
@@ -0,0 +1,5 @@
1
+ numpy==1.26.3
2
+ compas==1.17.10
3
+ trimesh==3.20.0
4
+ autograd==1.5
5
+ nlopt==2.7.1