Skip to content

Commit b85cce7

Browse files
authored
Merge pull request #1016 from compas-dev/tiny-refactor-robot-artists
tiny refactoring of robot model artists
2 parents 0c59a51 + b7ce0b8 commit b85cce7

File tree

5 files changed

+9
-23
lines changed

5 files changed

+9
-23
lines changed

CHANGELOG.md

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

1616
* Fixed bug in Blender mesh conversion.
1717
* Changed Rhino plugin installer to check for and install required plugin packages.
18+
* Refactor robot model artists to use the same `Mesh.to_vertices_and_faces` everywhere.
19+
* Fix debug print on Blender artist.
1820

1921
### Removed
2022

src/compas_blender/artists/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@
136136

137137
@plugin(category='drawing-utils', pluggable_name='clear', requires=['bpy'])
138138
def clear_blender():
139-
print('doing it')
140139
compas_blender.clear()
141140

142141

src/compas_blender/artists/robotmodelartist.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ def create_geometry(self,
9191
else:
9292
color = (1., 1., 1.)
9393

94-
v, f = geometry.to_vertices_and_faces()
94+
v, f = geometry.to_vertices_and_faces(triangulated=False)
95+
9596
native_mesh = compas_blender.draw_mesh(
9697
vertices=v, faces=f, name=name, color=color, centroid=False, collection=self.collection
9798
)

src/compas_ghpython/artists/robotmodelartist.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ def transform(self, native_mesh, transformation):
3636
def create_geometry(self, geometry, name=None, color=None):
3737
if color:
3838
color = rgb_to_rgb(color[0], color[1], color[2])
39-
vertices, faces = geometry.to_vertices_and_faces()
39+
40+
vertices, faces = geometry.to_vertices_and_faces(triangulated=False)
41+
4042
mesh = compas_ghpython.draw_mesh(vertices, faces, color=color)
4143
# Try to fix invalid meshes
4244
if not mesh.IsValid:

src/compas_rhino/artists/robotmodelartist.py

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
from Rhino.DocObjects.ObjectColorSource import ColorFromLayer
1212
from Rhino.DocObjects.ObjectMaterialSource import MaterialFromObject
1313

14-
from compas.geometry import centroid_polygon
15-
from compas.utilities import pairwise
1614
from compas.artists import RobotModelArtist
1715

1816
import compas_rhino
@@ -63,23 +61,7 @@ def create_geometry(self, geometry, name=None, color=None):
6361
if 'mesh_color.diffuse' in geometry.attributes:
6462
color = geometry.attributes['mesh_color.diffuse']
6563

66-
key_index = geometry.key_index()
67-
vertices = geometry.vertices_attributes('xyz')
68-
faces = [[key_index[key] for key in geometry.face_vertices(fkey)] for fkey in geometry.faces()]
69-
new_faces = []
70-
for face in faces:
71-
f = len(face)
72-
if f == 3:
73-
new_faces.append(face + face[-1:])
74-
elif f == 4:
75-
new_faces.append(face)
76-
elif f > 4:
77-
centroid = len(vertices)
78-
vertices.append(centroid_polygon([vertices[index] for index in face]))
79-
for a, b in pairwise(face + face[0:1]):
80-
new_faces.append([centroid, a, b, b])
81-
else:
82-
continue
64+
vertices, faces = geometry.to_vertices_and_faces(triangulated=False)
8365

8466
mesh = Rhino.Geometry.Mesh()
8567

@@ -95,7 +77,7 @@ def create_geometry(self, geometry, name=None, color=None):
9577

9678
for v in vertices:
9779
mesh.Vertices.Add(*v)
98-
for face in new_faces:
80+
for face in faces:
9981
mesh.Faces.AddFace(*face)
10082

10183
mesh.Normals.ComputeNormals()

0 commit comments

Comments
 (0)