Download src/Mod/Part/parttests/ColorTransparencyTest.py from AbdulElahGwaith/FreeCAD: direct link, hf CLI and curl.
- Browser
- Download file 2.77 kB
-
https://huggingface.co/AbdulElahGwaith/FreeCAD/resolve/main/src/Mod/Part/parttests/ColorTransparencyTest.py
- Command line
-
hf download hf://AbdulElahGwaith/FreeCAD/src/Mod/Part/parttests/ColorTransparencyTest.py
-
curl -L -o ColorTransparencyTest.py https://huggingface.co/AbdulElahGwaith/FreeCAD/resolve/main/src/Mod/Part/parttests/ColorTransparencyTest.py
2.77 kB
| # SPDX-License-Identifier: LGPL-2.1-or-later | |
| import unittest | |
| import FreeCAD as App | |
| class ColorTransparencyTest(unittest.TestCase): | |
| def setUp(self): | |
| self._doc = App.newDocument() | |
| self._pg = App.ParamGet("User parameter:BaseApp/Preferences/View") | |
| self._backup_default_transparency = self._pg.GetInt("DefaultShapeTransparency") | |
| self._backup_default_shapecolor = self._pg.GetUnsigned("DefaultShapeColor") | |
| def tearDown(self): | |
| App.closeDocument(self._doc.Name) | |
| self._pg.SetInt("DefaultShapeTransparency", self._backup_default_transparency) | |
| self._pg.SetUnsigned("DefaultShapeColor", self._backup_default_shapecolor) | |
| def test_default_shape_transparency(self): | |
| """ | |
| related: https://github.com/FreeCAD/FreeCAD/pull/11866 | |
| related: https://github.com/FreeCAD/FreeCAD/pull/11586 | |
| """ | |
| transparency = 70 | |
| self._pg.SetInt("DefaultShapeTransparency", transparency) | |
| obj = self._doc.addObject("Part::Box") | |
| assert obj.ViewObject.Transparency == transparency | |
| obj.ViewObject.ShapeAppearance[0].DiffuseColor = (0.5, 0.0, 0.0) | |
| self.assertEqual( | |
| obj.ViewObject.Transparency, | |
| transparency, | |
| "transparency was unexpectedly changed to {} when changing the color.".format( | |
| obj.ViewObject.Transparency | |
| ), | |
| ) | |
| def test_default_shape_color(self): | |
| """ | |
| related: https://github.com/FreeCAD/FreeCAD/pull/11866 | |
| """ | |
| """ | |
| This test isn't currently valid as it draws from the hard coded default material. | |
| The preference editor doesn't allow for setting transparencies. The default value | |
| of 0 corresponds to a fully transparent color, which is not desirable. It changes | |
| the transparency when loading to 1.0 | |
| """ | |
| self._pg.SetUnsigned("DefaultShapeColor", 0xFF000000) # red | |
| obj = self._doc.addObject("Part::Box") | |
| self.assertEqual( | |
| obj.ViewObject.ShapeAppearance[0].DiffuseColor, | |
| (1.0, 0.0, 0.0, 1.0), | |
| "default shape color was not set correctly", | |
| ) | |
| self.assertEqual( | |
| obj.ViewObject.ShapeMaterial.DiffuseColor, | |
| (1.0, 0.0, 0.0, 1.0), | |
| "default material color was not set correctly", | |
| ) | |
| def test_app_plane_transparency(self): | |
| """ | |
| related: https://github.com/FreeCAD/FreeCAD/pull/12064 | |
| """ | |
| self._pg.SetInt("DefaultShapeTransparency", 70) | |
| obj = self._doc.addObject("App::Origin") | |
| t = self._doc.findObjects("App::Plane")[0].ViewObject.Transparency | |
| self.assertEqual(t, 0, "transparency of App::Plane object is {} instead of 0".format(t)) | |