Пример #1
0
class Manipulator(avango.script.Script):
  #InterfaceTransform = avango.gua.SFMatrix4()
  ObjectTransform = avango.gua.SFMatrix4()
  Keyboard = KeyboardDevice()
  Pointer = PointerDevice()

  def __init__(self):
    self.super(Manipulator).__init__()
    self.always_evaluate(True)

  def my_constructor(self, SCENE, OBJECT):
	  #self.OutTransform.value = OBJECT.Transform.value
    self.SCENE = SCENE
    self.OBJECT = OBJECT
    self.ACTIV = False
    self.INTERFACE = Interface()

  def evaluate(self):
    if self.Pointer.sf_key_pageup.value and self.ACTIV == False:
      self.ACTIV = True
      self.INTERFACE.my_constructor(self.SCENE, self.OBJECT.Transform.value.get_scale(), 2)
    if self.Pointer.sf_key_pagedown.value and self.ACTIV == True:
      self.ACTIV = False
      self.SCENE.Root.value.Children.value.remove(self.INTERFACE.interface_node)

    if self.ACTIV:
      if self.Keyboard.KeyLeft.value:
        self.OBJECT.Transform.value *= avango.gua.make_scale_mat(0.9, 0.9, 0.9)
#        self.InterfaceTransform
      if self.Keyboard.KeyRight.value:
        self.OBJECT.Transform.value *= avango.gua.make_scale_mat(1.1, 1.1, 1.1)