FreeCAD

Форк
0
/
ColorTransparencyTest.py 
68 строк · 2.6 Кб
1
import unittest
2

3
import FreeCAD as App
4

5

6
class ColorTransparencyTest(unittest.TestCase):
7

8
    def setUp(self):
9
        self._doc = App.newDocument()
10
        self._pg = App.ParamGet('User parameter:BaseApp/Preferences/View')
11
        self._backup_default_transparency = self._pg.GetInt('DefaultShapeTransparency')
12
        self._backup_default_shapecolor = self._pg.GetUnsigned('DefaultShapeColor')
13

14

15
    def tearDown(self):
16
        App.closeDocument(self._doc.Name)
17
        self._pg.SetInt('DefaultShapeTransparency', self._backup_default_transparency)
18
        self._pg.SetUnsigned('DefaultShapeColor', self._backup_default_shapecolor)
19

20

21
    def test_default_shape_transparency(self):
22
        """
23
        related: https://github.com/FreeCAD/FreeCAD/pull/11866
24
        related: https://github.com/FreeCAD/FreeCAD/pull/11586
25
        """
26
        transparency = 70
27
        self._pg.SetInt('DefaultShapeTransparency', transparency)
28
        obj = self._doc.addObject('Part::Box')
29
        assert obj.ViewObject.Transparency == transparency
30
        obj.ViewObject.ShapeAppearance[0].DiffuseColor = (0.5, 0.0, 0.0)
31

32
        self.assertEqual(obj.ViewObject.Transparency, transparency,
33
            'transparency was unexpectedly changed to {} when changing the color.'.format(
34
            obj.ViewObject.Transparency))
35

36

37
    def test_default_shape_color(self):
38
        """
39
        related: https://github.com/FreeCAD/FreeCAD/pull/11866
40
        """
41

42
        """
43
        This test isn't currently valid as it draws from the hard coded default material.
44

45
        The preference editor doesn't allow for setting transparencies. The default value
46
        of 0 corresponds to a fully transparent color, which is not desirable. It changes
47
        the transparency when loading to 1.0
48
        """
49
        
50
        self._pg.SetUnsigned('DefaultShapeColor', 0xff000000)  # red
51
        obj = self._doc.addObject('Part::Box')
52

53
        self.assertEqual(obj.ViewObject.ShapeAppearance[0].DiffuseColor, (1.0, 0.0, 0.0, 1.0),
54
            'default shape color was not set correctly')
55
        self.assertEqual(obj.ViewObject.ShapeMaterial.DiffuseColor, (1.0, 0.0, 0.0, 1.0),
56
            'default material color was not set correctly')
57

58

59
    def test_app_plane_transparency(self):
60
        """
61
        related: https://github.com/FreeCAD/FreeCAD/pull/12064
62
        """
63
        self._pg.SetInt('DefaultShapeTransparency', 70)
64
        obj = self._doc.addObject('App::Origin')
65
        t = self._doc.findObjects('App::Plane')[0].ViewObject.Transparency
66

67
        self.assertEqual(t, 0,
68
            'transparency of App::Plane object is {} instead of 0'.format(t))
69

70

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.