bindings_geometry_object.py
Go to the documentation of this file.
1 import unittest
2 import pinocchio as pin
3 import numpy as np
4 
5 
6 @unittest.skipUnless(pin.WITH_HPP_FCL, "Needs HPP-FCL")
7 class TestGeometryObjectBindings(unittest.TestCase):
8  def setUp(self):
9  self.model = pin.buildSampleModelHumanoid()
10  self.collision_model = pin.buildSampleGeometryModelHumanoid(self.model)
11 
12  def test_name_get_set(self):
13  col = self.collision_model.geometryObjects[0]
14  self.assertTrue(col.name == "rleg_shoulder_object")
15  col.name = "new_collision_name"
16  self.assertTrue(col.name == "new_collision_name")
17 
19  col = self.collision_model.geometryObjects[0]
20  self.assertTrue(col.parentJoint == 2)
21  col.parentJoint = 3
22  self.assertTrue(col.parentJoint == 3)
23 
25  m = pin.SE3.Identity()
26  new_m = pin.SE3.Random()
27  col = self.collision_model.geometryObjects[0]
28  self.assertTrue(np.allclose(col.placement.homogeneous, m.homogeneous))
29  col.placement = new_m
30  self.assertTrue(np.allclose(col.placement.homogeneous, new_m.homogeneous))
31 
32  def test_meshpath_get(self):
33  col = self.collision_model.geometryObjects[0]
34  self.assertTrue(col.meshPath is not None)
35 
36  def test_create_data(self):
37  collision_data = self.collision_model.createData()
38  self.assertEqual(len(collision_data.oMg), self.collision_model.ngeoms)
39 
40  def test_create_datas(self):
41  collision_data = self.collision_model.createData()
42 
43  self.assertEqual(len(collision_data.oMg), self.collision_model.ngeoms)
44 
45  data_2, collision_data_2 = pin.createDatas(self.model, self.collision_model)
46  self.assertTrue(self.model.check(data_2))
47  self.assertEqual(len(collision_data_2.oMg), self.collision_model.ngeoms)
48 
49  def test_copy(self):
50  collision_model_copy = self.collision_model.copy()
51  self.assertEqual(self.collision_model.ngeoms, collision_model_copy.ngeoms)
52 
53  collision_data = self.collision_model.createData()
54  collision_data_copy = collision_data.copy()
55  self.assertEqual(len(collision_data.oMg), len(collision_data_copy.oMg))
56 
58  col = self.collision_model.geometryObjects[0]
59  self.assertTrue(isinstance(col.meshMaterial, (pin.GeometryNoMaterial)))
60  col.meshMaterial = pin.GeometryPhongMaterial()
61  self.assertTrue(isinstance(col.meshMaterial, (pin.GeometryPhongMaterial)))
62  material = col.meshMaterial
63  self.assertTrue(isinstance(material, (pin.GeometryPhongMaterial)))
64  material.meshEmissionColor = np.array([1.0, 1.0, 1.0, 1.0])
65  material.meshShininess = 0.7
66  self.assertTrue(
67  (material.meshEmissionColor == col.meshMaterial.meshEmissionColor).all()
68  )
69  self.assertEqual(material.meshShininess, col.meshMaterial.meshShininess)
70 
71 
72 if __name__ == "__main__":
73  unittest.main()
bindings_geometry_object.TestGeometryObjectBindings.test_parent_get_set
def test_parent_get_set(self)
Definition: bindings_geometry_object.py:18
bindings_geometry_object.TestGeometryObjectBindings.test_copy
def test_copy(self)
Definition: bindings_geometry_object.py:49
bindings_geometry_object.TestGeometryObjectBindings
Definition: bindings_geometry_object.py:7
bindings_geometry_object.TestGeometryObjectBindings.setUp
def setUp(self)
Definition: bindings_geometry_object.py:8
bindings_geometry_object.TestGeometryObjectBindings.test_create_data
def test_create_data(self)
Definition: bindings_geometry_object.py:36
bindings_geometry_object.TestGeometryObjectBindings.test_name_get_set
def test_name_get_set(self)
Definition: bindings_geometry_object.py:12
bindings_geometry_object.TestGeometryObjectBindings.test_meshpath_get
def test_meshpath_get(self)
Definition: bindings_geometry_object.py:32
pinocchio::createData
ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > createData(const ConstraintModelTpl< Scalar, Options, ConstraintCollectionTpl > &cmodel)
Definition: constraint-model-visitor.hpp:248
bindings_geometry_object.TestGeometryObjectBindings.test_material_get_set
def test_material_get_set(self)
Definition: bindings_geometry_object.py:57
bindings_geometry_object.TestGeometryObjectBindings.model
model
Definition: bindings_geometry_object.py:9
bindings_geometry_object.TestGeometryObjectBindings.test_create_datas
def test_create_datas(self)
Definition: bindings_geometry_object.py:40
pinocchio::copy
void copy(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &origin, DataTpl< Scalar, Options, JointCollectionTpl > &dest, KinematicLevel kinematic_level)
Copy part of the data from origin to dest. Template parameter can be used to select at which differen...
Definition: copy.hpp:42
bindings_geometry_object.TestGeometryObjectBindings.collision_model
collision_model
Definition: bindings_geometry_object.py:10
bindings_geometry_object.TestGeometryObjectBindings.test_placement_get_set
def test_placement_get_set(self)
Definition: bindings_geometry_object.py:24


pinocchio
Author(s):
autogenerated on Sun Jun 16 2024 02:43:06