4
# test to check color per face when after restore
13
class ColorPerFaceTest(unittest.TestCase):
15
TempPath = tempfile.gettempdir()
16
self.fileName = TempPath + os.sep + "ColorPerFaceTest.FCStd"
17
self.doc = App.newDocument()
20
App.closeDocument(self.doc.Name)
23
box = self.doc.addObject("Part::Box","Box")
26
box.ViewObject.DiffuseColor = [(1.,0.,0.,0.),
33
box.Visibility = False
36
self.doc.saveAs(self.fileName)
37
App.closeDocument(self.doc.Name)
39
self.doc = App.openDocument(self.fileName)
42
self.assertEqual(len(box.ViewObject.DiffuseColor), 6)
44
sa = coin.SoSearchAction()
45
sa.setType(coin.SoMaterial.getClassTypeId())
46
# We need an easier way to access nodes of a display mode
47
sa.setInterest(coin.SoSearchAction.ALL)
48
sa.apply(box.ViewObject.RootNode)
51
mat = paths.get(2).getTail()
52
self.assertEqual(mat.diffuseColor.getNum(), 6)
54
def testBoxAndLink(self):
55
box = self.doc.addObject("Part::Box","Box")
58
box.ViewObject.DiffuseColor = [(1.,0.,0.,0.),
65
link = self.doc.addObject('App::Link','Link')
67
box.Visibility = False
70
self.doc.saveAs(self.fileName)
71
App.closeDocument(self.doc.Name)
73
self.doc = App.openDocument(self.fileName)
76
self.assertEqual(len(box.ViewObject.DiffuseColor), 6)
78
sa = coin.SoSearchAction()
79
sa.setType(coin.SoMaterial.getClassTypeId())
80
# We need an easier way to access nodes of a display mode
81
sa.setInterest(coin.SoSearchAction.ALL)
82
sa.apply(box.ViewObject.RootNode)
85
mat = paths.get(2).getTail()
86
self.assertEqual(mat.diffuseColor.getNum(), 6)