Skip to content

Commit f981dff

Browse files
authored
Merge pull request #930 from compas-dev/rhino-newnurbs
Add Rhino plugins for NURBS curve pluggables
2 parents 9e1e0e7 + d1888c2 commit f981dff

31 files changed

+960
-515
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111

1212
* Added `CircleArtist`, `LineArtist`, `PointArtist`, `PolygonArtist`, `PolylineArtist`, and `VectorArtist` to `compas_blender`.
1313
* Added `draw_circles` and `draw_planes` to `compas_blender`.
14+
* Added `compas_rhino.geometry.curves` plugins for `compas.geometry.curves` pluggables.
1415

1516
### Changed
1617

1718
* Replaced implementation of `RGBColour` and `Float` with deprecation warning in `compas.utilities.descriptors`.
19+
* Moved all Rhino geometry and objects wrappers to `compas_rhino.conversions`.
1820

1921
### Removed
2022

src/compas_rhino/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,4 +226,5 @@ def _try_remove_bootstrapper(path):
226226
'compas_rhino.install',
227227
'compas_rhino.uninstall',
228228
'compas_rhino.artists',
229+
'compas_rhino.geometry.curves',
229230
]

src/compas_rhino/conversions/__init__.py

Lines changed: 84 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,30 @@
99
1010
Conversions between Rhino geometry objects (:mod:`Rhino.Geometry`) and COMPAS geometry objects (:mod:`compas.geometry`).
1111
12+
Classes
13+
=======
14+
15+
.. autosummary::
16+
:toctree: generated/
17+
:nosignatures:
18+
19+
RhinoGeometry
20+
RhinoBox
21+
RhinoCircle
22+
RhinoCone
23+
RhinoCurve
24+
RhinoCylinder
25+
RhinoEllipse
26+
RhinoLine
27+
RhinoMesh
28+
RhinoPlane
29+
RhinoPoint
30+
RhinoPolyline
31+
RhinoSphere
32+
RhinoSurface
33+
RhinoVector
34+
35+
1236
Exceptions
1337
==========
1438
@@ -19,8 +43,11 @@
1943
ConversionError
2044
2145
46+
Functions
47+
=========
48+
2249
Primitives
23-
==========
50+
----------
2451
2552
.. autosummary::
2653
:toctree: generated/
@@ -47,7 +74,7 @@
4774
4875
4976
Shapes
50-
======
77+
------
5178
5279
.. autosummary::
5380
:toctree: generated/
@@ -64,7 +91,7 @@
6491
6592
6693
Curves
67-
======
94+
------
6895
6996
.. autosummary::
7097
:toctree: generated/
@@ -80,19 +107,28 @@
80107
81108
82109
Surfaces
83-
========
110+
--------
111+
112+
.. autosummary::
113+
:toctree: generated/
114+
:nosignatures:
115+
116+
117+
Transformations
118+
---------------
84119
85120
.. autosummary::
86121
:toctree: generated/
87122
:nosignatures:
88123
124+
xform_to_rhino
89125
90126
"""
91127
from __future__ import absolute_import
92128

93-
from .exceptions import ConversionError
129+
from ._exceptions import ConversionError
94130

95-
from .primitives import (
131+
from ._primitives import (
96132
point_to_rhino,
97133
vector_to_rhino,
98134
line_to_rhino,
@@ -113,7 +149,7 @@
113149
polyline_to_compas,
114150
polygon_to_compas
115151
)
116-
from .shapes import (
152+
from ._shapes import (
117153
box_to_rhino,
118154
sphere_to_rhino,
119155
cone_to_rhino,
@@ -124,7 +160,7 @@
124160
cone_to_compas,
125161
cylinder_to_compas,
126162
)
127-
from .curves import (
163+
from ._curves import (
128164
line_to_rhino_curve,
129165
circle_to_rhino_curve,
130166
ellipse_to_rhino_curve,
@@ -134,9 +170,29 @@
134170
curve_to_compas_line,
135171
curve_to_compas_polyline
136172
)
173+
from ._transformations import (
174+
xform_to_rhino
175+
)
176+
177+
from ._geometry import RhinoGeometry
178+
179+
from .box import RhinoBox
180+
from .circle import RhinoCircle
181+
from .cone import RhinoCone
182+
from .curve import RhinoCurve
183+
from .cylinder import RhinoCylinder
184+
from .ellipse import RhinoEllipse
185+
from .line import RhinoLine
186+
from .mesh import RhinoMesh
187+
from .plane import RhinoPlane
188+
from .point import RhinoPoint
189+
from .polyline import RhinoPolyline
190+
from .sphere import RhinoSphere
191+
from .surface import RhinoSurface
192+
from .vector import RhinoVector
193+
194+
BaseRhinoGeometry = RhinoGeometry
137195

138-
# geometry to geometry conversions
139-
# Rhino object to geometry conversions
140196

141197
__all__ = [
142198
'ConversionError',
@@ -179,4 +235,22 @@
179235
'curve_to_compas_ellipse',
180236
'curve_to_compas_line',
181237
'curve_to_compas_polyline',
238+
239+
'xform_to_rhino',
240+
241+
'RhinoGeometry',
242+
'RhinoBox',
243+
'RhinoCircle',
244+
'RhinoCone',
245+
'RhinoCurve',
246+
'RhinoCylinder',
247+
'RhinoEllipse',
248+
'RhinoLine',
249+
'RhinoMesh',
250+
'RhinoPlane',
251+
'RhinoPoint',
252+
'RhinoPolyline',
253+
'RhinoSphere',
254+
'RhinoSurface',
255+
'RhinoVector',
182256
]

src/compas_rhino/conversions/curves.py renamed to src/compas_rhino/conversions/_curves.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44

55
from compas.geometry import Line
66

7-
from .exceptions import ConversionError
8-
9-
from .primitives import line_to_rhino
10-
from .primitives import circle_to_rhino
11-
from .primitives import ellipse_to_rhino
12-
from .primitives import point_to_compas
13-
from .primitives import circle_to_compas
14-
from .primitives import ellipse_to_compas
15-
from .primitives import polyline_to_compas
7+
from ._exceptions import ConversionError
8+
9+
from ._primitives import line_to_rhino
10+
from ._primitives import circle_to_rhino
11+
from ._primitives import ellipse_to_rhino
12+
from ._primitives import point_to_compas
13+
from ._primitives import circle_to_compas
14+
from ._primitives import ellipse_to_compas
15+
from ._primitives import polyline_to_compas
1616

1717
from Rhino.Geometry import NurbsCurve as RhinoNurbsCurve
1818

File renamed without changes.
File renamed without changes.

src/compas_rhino/conversions/shapes.py renamed to src/compas_rhino/conversions/_shapes.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414
from Rhino.Geometry import Cone as RhinoCone
1515
from Rhino.Geometry import Cylinder as RhinoCylinder
1616

17-
from .primitives import plane_to_rhino
18-
from .primitives import circle_to_rhino
19-
from .primitives import frame_to_rhino
20-
from .primitives import point_to_rhino
21-
from .primitives import plane_to_compas_frame
22-
from .primitives import plane_to_compas
23-
from .primitives import point_to_compas
24-
from .primitives import vector_to_compas
17+
from ._primitives import plane_to_rhino
18+
from ._primitives import circle_to_rhino
19+
from ._primitives import frame_to_rhino
20+
from ._primitives import point_to_rhino
21+
from ._primitives import plane_to_compas_frame
22+
from ._primitives import plane_to_compas
23+
from ._primitives import point_to_compas
24+
from ._primitives import vector_to_compas
2525

2626

2727
def box_to_compas(box):

src/compas_rhino/conversions/surfaces.py renamed to src/compas_rhino/conversions/_surfaces.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
from Rhino.Geometry import NurbsSurface as RhinoNurbsSurface
88

9-
from .primitives import point_to_rhino
10-
from .primitives import point_to_compas
9+
from ._primitives import point_to_rhino
10+
from ._primitives import point_to_compas
1111

1212

1313
def surface_to_compas_data(surface):

0 commit comments

Comments
 (0)