Skip to content

Commit 2c43395

Browse files
committed
Fix CompoundMesh
1 parent b8ca775 commit 2c43395

File tree

3 files changed

+35
-27
lines changed

3 files changed

+35
-27
lines changed

tesseract_python/swig/tesseract_geometry_python.i

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,8 @@ $1 = is_array($input);
145145
tesseract_geometry::PolygonMesh,
146146
tesseract_geometry::Mesh,
147147
tesseract_geometry::SDFMesh,
148-
tesseract_geometry::Sphere
148+
tesseract_geometry::Sphere,
149+
tesseract_geometry::CompoundMesh
149150
)
150151

151152

@@ -194,6 +195,9 @@ class OcTree {};
194195
%shared_ptr(tesseract_geometry::Sphere)
195196
%include <tesseract_geometry/impl/sphere.h>
196197

198+
%shared_ptr(tesseract_geometry::CompoundMesh)
199+
%include <tesseract_geometry/impl/compound_mesh.h>
200+
197201
%include "tesseract_geometry/geometries.h"
198202
%include "tesseract_geometry/utils.h"
199203

tesseract_python/tests/tesseract_environment/test_mesh_material_loading.py

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -41,66 +41,71 @@ def get_scene_graph():
4141
def test_mesh_material_loading():
4242
scene = get_scene_graph()
4343
visual = scene.getLink("mesh_dae_link").visual
44-
assert len(visual) == 4
44+
assert len(visual) == 1
4545

46-
mesh0 = visual[1].geometry
47-
mesh1 = visual[2].geometry
48-
mesh2 = visual[3].geometry
49-
mesh3 = visual[0].geometry
46+
print("Geometry type")
47+
print(visual[0].geometry.getType())
5048

51-
assert mesh0.getFaceCount() == 34
52-
assert mesh0.getVertexCount() == 68
53-
assert mesh1.getFaceCount() == 15
54-
assert mesh1.getVertexCount() == 17
49+
meshes = visual[0].geometry.getMeshes()
50+
51+
mesh0 = meshes[0]
52+
mesh1 = meshes[1]
53+
mesh2 = meshes[2]
54+
mesh3 = meshes[3]
55+
56+
assert mesh0.getFaceCount() == 2
57+
assert mesh0.getVertexCount() == 4
58+
assert mesh1.getFaceCount() == 34
59+
assert mesh1.getVertexCount() == 68
5560
assert mesh2.getFaceCount() == 15
5661
assert mesh2.getVertexCount() == 17
57-
assert mesh3.getFaceCount() == 2
58-
assert mesh3.getVertexCount() == 4
62+
assert mesh3.getFaceCount() == 15
63+
assert mesh3.getVertexCount() == 17
5964

6065
mesh0_normals = mesh0.getNormals()
6166
assert mesh0_normals is not None
62-
assert len(mesh0_normals) == 68
67+
assert len(mesh0_normals) == 4
6368
mesh1_normals = mesh1.getNormals()
6469
assert mesh1_normals is not None
65-
assert len(mesh1_normals) == 17
70+
assert len(mesh1_normals) == 68
6671
mesh2_normals = mesh2.getNormals()
6772
assert mesh2_normals is not None
6873
assert len(mesh2_normals) == 17
6974
mesh3_normals = mesh3.getNormals()
7075
assert mesh3_normals is not None
71-
assert len(mesh3_normals) == 4
76+
assert len(mesh3_normals) == 17
7277

7378
mesh0_material = mesh0.getMaterial()
74-
nptest.assert_allclose(mesh0_material.getBaseColorFactor().flatten(),[0.7,0.7,0.7,1], atol=0.01)
79+
nptest.assert_allclose(mesh0_material.getBaseColorFactor().flatten(),[1,1,1,1], atol=0.01)
7580
nptest.assert_almost_equal(mesh0_material.getMetallicFactor(), 0.0)
7681
nptest.assert_almost_equal(mesh0_material.getRoughnessFactor(), 0.5)
7782
nptest.assert_allclose(mesh0_material.getEmissiveFactor().flatten(), [0,0,0,1], atol = 0.01)
7883

7984
mesh1_material = mesh1.getMaterial()
80-
nptest.assert_allclose(mesh1_material.getBaseColorFactor().flatten(),[0.8,0.0,0.0,1], atol=0.01)
85+
nptest.assert_allclose(mesh1_material.getBaseColorFactor().flatten(),[0.7,0.7,0.7,1], atol=0.01)
8186
nptest.assert_almost_equal(mesh1_material.getMetallicFactor(), 0.0)
8287
nptest.assert_almost_equal(mesh1_material.getRoughnessFactor(), 0.5)
8388
nptest.assert_allclose(mesh1_material.getEmissiveFactor().flatten(), [0,0,0,1], atol = 0.01)
8489

8590
mesh2_material = mesh2.getMaterial()
86-
nptest.assert_allclose(mesh2_material.getBaseColorFactor().flatten(),[0.05,0.8,0.05,1], atol=0.01)
91+
nptest.assert_allclose(mesh2_material.getBaseColorFactor().flatten(),[0.8,0 ,0, 1], atol=0.01)
8792
nptest.assert_almost_equal(mesh2_material.getMetallicFactor(), 0.0)
8893
nptest.assert_almost_equal(mesh2_material.getRoughnessFactor(), 0.5)
89-
nptest.assert_allclose(mesh2_material.getEmissiveFactor().flatten(), [0.1,0.1,0.5,1], atol = 0.01)
94+
nptest.assert_allclose(mesh2_material.getEmissiveFactor().flatten(), [0,0,0,1], atol = 0.01)
9095

9196
mesh3_material = mesh3.getMaterial()
92-
nptest.assert_allclose(mesh3_material.getBaseColorFactor().flatten(),[1,1,1,1], atol=0.01)
97+
nptest.assert_allclose(mesh3_material.getBaseColorFactor().flatten(),[0.05,0.8,0.05,1], atol=0.01)
9398
nptest.assert_almost_equal(mesh3_material.getMetallicFactor(), 0.0)
9499
nptest.assert_almost_equal(mesh3_material.getRoughnessFactor(), 0.5)
95-
nptest.assert_allclose(mesh3_material.getEmissiveFactor().flatten(), [0,0,0,1], atol = 0.01)
100+
nptest.assert_allclose(mesh3_material.getEmissiveFactor().flatten(), [0.1,0.1,0.5,1], atol = 0.01)
96101

97-
assert mesh0.getTextures() is None
98102
assert mesh1.getTextures() is None
99-
assert mesh2.getTextures() is None
103+
assert mesh2.getTextures() is None
104+
assert mesh3.getTextures() is None
100105

101-
assert mesh3.getTextures() is not None
102-
assert len(mesh3.getTextures()) == 1
106+
assert mesh0.getTextures() is not None
107+
assert len(mesh0.getTextures()) == 1
103108

104-
texture = mesh3.getTextures()[0]
109+
texture = mesh0.getTextures()[0]
105110
assert len(texture.getTextureImage().getResourceContents()) == 38212
106111
assert len(texture.getUVs()) == 4

tesseract_python/tests/tesseract_task_composer/test_tesseract_task_composer.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ def freespace_example_progam_iiwa(manipulator_info, goal = None, composite_profi
7777

7878
def test_task_composer_trajopt_example():
7979

80-
planning_task_problem = None
8180
output_program = None
8281
future = None
8382
task_executor = None

0 commit comments

Comments
 (0)