00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 import sys
00022 from ost import gui
00023 from ost import gfx
00024
00025 class SceneObserverImpl(gfx.SceneObserver):
00026 def __init__(self):
00027 gfx.SceneObserver.__init__(self)
00028 self.obs_ = list()
00029
00030 def AttachObserver(self, ob):
00031 self.obs_.append(ob)
00032
00033 def DettachObserver(self, ob):
00034 self.obs_.remove(ob)
00035
00036 def NodeAdded(self, node):
00037 for ob in self.obs_ :
00038 if hasattr(ob, "NodeAdded"):
00039 ob.NodeAdded(node)
00040
00041 def NodeRemoved(self, node):
00042 for ob in self.obs_ :
00043 if hasattr(ob, "NodeRemoved"):
00044 ob.NodeRemoved(node)
00045
00046 def NodeChanged(self, node):
00047 for ob in self.obs_ :
00048 if hasattr(ob, "NodeChanged"):
00049 ob.NodeChanged(node)
00050
00051 def SelectionModeChanged(self, sel_mode):
00052 for ob in self.obs_ :
00053 if hasattr(ob, "SelectionModeChanged"):
00054 ob.SelectionModeChanged(node)
00055
00056 def SelectionChanged(self, obj, sel):
00057 for ob in self.obs_ :
00058 if hasattr(ob, "SelectionChanged"):
00059 ob.SelectionChanged(node)
00060
00061 def NodeTransformed(self, node):
00062 for ob in self.obs_ :
00063 if hasattr(ob, "NodeTransformed"):
00064 ob.NodeTransformed(node)
00065
00066 def NodeRemovedDefault(self, node):
00067 for ob in self.obs_ :
00068 if hasattr(ob, "NodeRemovedDefault"):
00069 ob.NodeRemovedDefault(node)
00070
00071 def RenderModeChanged(self, node):
00072 for ob in self.obs_ :
00073 if hasattr(ob, "RenderModeChanged"):
00074 ob.RenderModeChanged(node)