Esempio n. 1
0
 def test_geometry_properties_api(self):
     # Test perception/ illustration properties (specifically Rgba).
     test_vector = [0., 0., 1., 1.]
     test_color = mut.Rgba(0., 0., 1., 1.)
     phong_props = mut.MakePhongIllustrationProperties(test_vector)
     self.assertIsInstance(phong_props, mut.IllustrationProperties)
     actual_color = phong_props.GetProperty("phong", "diffuse")
     self.assertEqual(actual_color, test_color)
     # Ensure that we can create it manually.
     phong_props = mut.IllustrationProperties()
     phong_props.AddProperty("phong", "diffuse", test_color)
     actual_color = phong_props.GetProperty("phong", "diffuse")
     self.assertEqual(actual_color, test_color)
     # Test proximity properties.
     prop = mut.ProximityProperties()
     self.assertEqual(str(prop), "[__default__]")
     default_group = prop.default_group_name()
     self.assertTrue(prop.HasGroup(group_name=default_group))
     self.assertEqual(prop.num_groups(), 1)
     self.assertTrue(default_group in prop.GetGroupNames())
     prop.AddProperty(group_name=default_group, name="test", value=3)
     self.assertTrue(prop.HasProperty(group_name=default_group,
                                      name="test"))
     self.assertEqual(
         prop.GetProperty(group_name=default_group, name="test"), 3)
     self.assertEqual(
         prop.GetPropertyOrDefault(group_name=default_group,
                                   name="empty",
                                   default_value=5), 5)
     group_values = prop.GetPropertiesInGroup(group_name=default_group)
     for name, value in group_values.items():
         self.assertIsInstance(name, str)
         self.assertIsInstance(value, AbstractValue)
Esempio n. 2
0
 def test_geometry_properties_api(self):
     self.assertIsInstance(
         mut.MakePhongIllustrationProperties([0, 0, 1, 1]),
         mut.IllustrationProperties)
     prop = mut.ProximityProperties()
     self.assertEqual(str(prop), "[__default__]")
     default_group = prop.default_group_name()
     self.assertTrue(prop.HasGroup(group_name=default_group))
     self.assertEqual(prop.num_groups(), 1)
     self.assertTrue(default_group in prop.GetGroupNames())
     prop.AddProperty(group_name=default_group, name="test", value=3)
     self.assertTrue(prop.HasProperty(group_name=default_group,
                                      name="test"))
     self.assertEqual(
         prop.GetProperty(group_name=default_group, name="test"), 3)
     self.assertEqual(
         prop.GetPropertyOrDefault(group_name=default_group,
                                   name="empty",
                                   default_value=5), 5)
     group_values = prop.GetPropertiesInGroup(group_name=default_group)
     for name, value in group_values.items():
         self.assertIsInstance(name, str)
         self.assertIsInstance(value, AbstractValue)
Esempio n. 3
0
    def test_geometry_properties_api(self):
        # Test perception/ illustration properties (specifically Rgba).
        test_vector = [0., 0., 1., 1.]
        test_color = mut.Rgba(0., 0., 1., 1.)
        phong_props = mut.MakePhongIllustrationProperties(test_vector)
        self.assertIsInstance(phong_props, mut.IllustrationProperties)
        actual_color = phong_props.GetProperty("phong", "diffuse")
        self.assertEqual(actual_color, test_color)
        # Ensure that we can create it manually.
        phong_props = mut.IllustrationProperties()
        phong_props.AddProperty("phong", "diffuse", test_color)
        actual_color = phong_props.GetProperty("phong", "diffuse")
        self.assertEqual(actual_color, test_color)
        # Test proximity properties.
        prop = mut.ProximityProperties()
        self.assertEqual(str(prop), "[__default__]")
        default_group = prop.default_group_name()
        self.assertTrue(prop.HasGroup(group_name=default_group))
        self.assertEqual(prop.num_groups(), 1)
        self.assertTrue(default_group in prop.GetGroupNames())
        prop.AddProperty(group_name=default_group, name="test", value=3)
        self.assertTrue(prop.HasProperty(group_name=default_group,
                                         name="test"))
        self.assertEqual(
            prop.GetProperty(group_name=default_group, name="test"), 3)
        self.assertEqual(
            prop.GetPropertyOrDefault(
                group_name=default_group, name="empty", default_value=5),
            5)
        group_values = prop.GetPropertiesInGroup(group_name=default_group)
        for name, value in group_values.items():
            self.assertIsInstance(name, str)
            self.assertIsInstance(value, AbstractValue)
        # Remove the property.
        self.assertTrue(prop.RemoveProperty(group_name=default_group,
                                            name="test"))
        self.assertFalse(prop.HasProperty(group_name=default_group,
                                          name="test"))
        # Update a property.
        prop.AddProperty(group_name=default_group, name="to_update", value=17)
        self.assertTrue(prop.HasProperty(group_name=default_group,
                                         name="to_update"))
        self.assertEqual(
            prop.GetProperty(group_name=default_group, name="to_update"), 17)

        prop.UpdateProperty(group_name=default_group, name="to_update",
                            value=20)
        self.assertTrue(prop.HasProperty(group_name=default_group,
                                         name="to_update"))
        self.assertEqual(
            prop.GetProperty(group_name=default_group, name="to_update"),
            20)

        # Property copying.
        for PropertyType in [mut.ProximityProperties,
                             mut.IllustrationProperties,
                             mut.PerceptionProperties]:
            props = PropertyType()
            props.AddProperty("g", "p", 10)
            self.assertTrue(props.HasProperty("g", "p"))
            props_copy = PropertyType(other=props)
            self.assertTrue(props_copy.HasProperty("g", "p"))
            props_copy2 = copy.copy(props)
            self.assertTrue(props_copy2.HasProperty("g", "p"))
            props_copy3 = copy.deepcopy(props)
            self.assertTrue(props_copy3.HasProperty("g", "p"))