| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | import unittest |
| | import FreeCAD |
| |
|
| | class DocumentTestCases(unittest.TestCase): |
| | """ |
| | Test class for FreeCAD material tests that need a document |
| | """ |
| |
|
| | def setUp(self): |
| | self.doc = FreeCAD.newDocument() |
| |
|
| | def tearDown(self): |
| | FreeCAD.closeDocument(self.doc.Name) |
| |
|
| | def testApplyDiffuseColorCheckShapeAppearance(self): |
| | """ Test that applying a DiffuseColor with transparency results in a correct ShapeAppearance """ |
| | if "BUILD_PART" in FreeCAD.__cmake__: |
| | dif_col_1 = (1.0, 1.0, 0.0, 1.0) |
| | dif_col_2 = (1.0, 0.0, 0.0, 0.5) |
| | dif_col = [dif_col_1] + [dif_col_2] + 4 * [dif_col_1] |
| |
|
| | obj = self.doc.addObject("Part::Box") |
| | vobj = obj.ViewObject |
| | vobj.DiffuseColor = dif_col |
| |
|
| | self.assertEqual( |
| | [m.DiffuseColor[:3] + (1.0 - m.Transparency, ) for m in vobj.ShapeAppearance], |
| | vobj.DiffuseColor |
| | ) |
| |
|
| | def testApplyShapeAppearanceCheckDiffuseColor(self): |
| | """ Test that applying a ShapeAppearance with transparency results in a correct DiffuseColor """ |
| | if "BUILD_PART" in FreeCAD.__cmake__: |
| | sapp_1 = FreeCAD.Material() |
| | sapp_1.DiffuseColor = (0.0, 1.0, 1.0, 0.0) |
| | sapp_1.Transparency = 0.0 |
| | sapp_2 = FreeCAD.Material() |
| | sapp_2.DiffuseColor = (0.0, 1.0, 0.0, 0.0) |
| | sapp_2.Transparency = 0.3 |
| | sapp = [sapp_1] + [sapp_2] + 4 * [sapp_1] |
| |
|
| | obj = self.doc.addObject("Part::Box") |
| | vobj = obj.ViewObject |
| | vobj.ShapeAppearance = sapp |
| |
|
| | self.assertEqual( |
| | [m.DiffuseColor[:3] + (1.0 - m.Transparency, ) for m in vobj.ShapeAppearance], |
| | vobj.DiffuseColor |
| | ) |
| |
|