Example #1
0
    def on_mousedrag(self, move_id, mouseinfo, callback):
        """dragging objects around - now free movement based on view,
        dragging different axis etc in the manipulator to be added."""
        #print "mousedrag:", move_id, mouseinfo
        if self.windowActive:
            width, height = r.getScreenSize()

            normalized_width = 1 / width
            normalized_height = 1 / height
            mouse_abs_x = normalized_width * mouseinfo.x
            mouse_abs_y = normalized_height * mouseinfo.y

            movedx = mouse_abs_x - self.prev_mouse_abs_x
            movedy = mouse_abs_y - self.prev_mouse_abs_y

            if self.left_button_down:
                if self.selection_rect_startpos is not None:  # and self.active is None:
                    rectx, recty, rectwidth, rectheight = self.selectionRectDimensions(
                        mouseinfo)
                    self.selection_rect.setGeometry(rectx, recty, rectwidth,
                                                    rectheight)
                    self.selection_rect.show()  #XXX change?

                    #r.logInfo("The selection rect was at: (" +str(rectx) + ", " +str(recty) + ") and size was: (" +str(rectwidth) +", "+str(rectheight)+")")
                    rect = self.selection_rect.rect  #0,0 - x, y
                    rect.translate(mouseinfo.x, mouseinfo.y)
                    #print rect.left(), rect.top(), rect.right(), rect.bottom()
                    rend = r.getQRenderer()
                    hits = rend.FrustumQuery(rect)  #the wish
                    #hits = r.frustumQuery(rect.left(), rect.top(), rect.right(), rect.bottom()) #current workaround
                    print hits

                else:
                    if self.duplicateDragStart:
                        for ent in self.sels:
                            self.worldstream.SendObjectDuplicatePacket(
                                ent.id, ent.prim.UpdateFlags, 0, 0,
                                0)  #nasty hardcoded offset
                        self.duplicateDragStart = False

                    ent = self.active
                    #print "on_mousemove + hold:", mouseinfo
                    if ent is not None and self.sel_activated and self.canmove:
                        self.dragging = True

                        self.manipulator.manipulate(self.sels, movedx, movedy)

                        self.prev_mouse_abs_x = mouse_abs_x
                        self.prev_mouse_abs_y = mouse_abs_y

                        self.window.update_guivals(ent)
Example #2
0
    def on_mousedrag(self, move_id, mouseinfo, callback):
        """dragging objects around - now free movement based on view,
        dragging different axis etc in the manipulator to be added."""
        #print "mousedrag:", move_id, mouseinfo
        if self.windowActive:
            width, height = r.getScreenSize()
            
            normalized_width = 1/width
            normalized_height = 1/height
            mouse_abs_x = normalized_width * mouseinfo.x
            mouse_abs_y = normalized_height * mouseinfo.y
                                
            movedx = mouse_abs_x - self.prev_mouse_abs_x
            movedy = mouse_abs_y - self.prev_mouse_abs_y
            
            if self.left_button_down:
                if self.selection_rect_startpos is not None:# and self.active is None:
                    rectx, recty, rectwidth, rectheight = self.selectionRectDimensions(mouseinfo)
                    self.selection_rect.setGeometry(rectx, recty, rectwidth, rectheight)
                    self.selection_rect.show() #XXX change?
                    
                    #r.logInfo("The selection rect was at: (" +str(rectx) + ", " +str(recty) + ") and size was: (" +str(rectwidth) +", "+str(rectheight)+")")
                    rect = self.selection_rect.rect #0,0 - x, y
                    rect.translate(mouseinfo.x, mouseinfo.y)
                    #print rect.left(), rect.top(), rect.right(), rect.bottom()
                    rend = r.getQRenderer()
                    hits = rend.FrustumQuery(rect) #the wish
                    #hits = r.frustumQuery(rect.left(), rect.top(), rect.right(), rect.bottom()) #current workaround
                    print hits

                else:
                    if self.duplicateDragStart:
                        for ent in self.sels:
                            self.worldstream.SendObjectDuplicatePacket(ent.id, ent.prim.UpdateFlags, 0, 0, 0) #nasty hardcoded offset
                        self.duplicateDragStart = False
                            
                    ent = self.active
                    #print "on_mousemove + hold:", mouseinfo
                    if ent is not None and self.sel_activated and self.canmove:
                        self.dragging = True

                        self.manipulator.manipulate(self.sels, movedx, movedy)
                        
                        self.prev_mouse_abs_x = mouse_abs_x
                        self.prev_mouse_abs_y = mouse_abs_y
                        
                        self.window.update_guivals(ent)
Example #3
0
    print ret
    print ret.map, ret.about(), ret.uuid, ret.list()
    l = ret.list()
    print dir(l)
    print l.count(2)
    for i in l:
        print i
    #print qm, dir(qm)
    #~ print r.c.widget, r.c.proxywidget
    #~ pe = r.getPropertyEditor()
    #~ #print pe, pe.setObject, pe.show
    #~ pe.setObject(r.c.proxywidget)
    #~ pe.show()

if 0:  #QRenderer
    rend = r.getQRenderer()
    print rend

if 0:
    worldstream = r.getServerConnection()
    print "send drop bomb:", worldstream.SendGenericMessage(
        "DropBomb", ["here", "soon", "BIG"])

if 0:
    print r.c, dir(r.c)
    print r.c.widget
    print dir(r.c.proxywidget)
    r.c.proxywidget.hide()

if 0:  #qprim
    #qprim = r.getQPrim(1680221423)
Example #4
0
    print ret
    print ret.map, ret.about(), ret.uuid, ret.list()
    l = ret.list()
    print dir(l)
    print l.count(2)
    for i in l:
        print i
    #print qm, dir(qm)
    #~ print r.c.widget, r.c.proxywidget
    #~ pe = r.getPropertyEditor()
    #~ #print pe, pe.setObject, pe.show
    #~ pe.setObject(r.c.proxywidget)
    #~ pe.show()

if 0: #QRenderer
    rend = r.getQRenderer()
    print rend

if 0:
    worldstream = r.getServerConnection()
    print "send drop bomb:", worldstream.SendGenericMessage("DropBomb", ["here", "soon", "BIG"])

if 0: 
    print r.c, dir(r.c)
    print r.c.widget
    print dir(r.c.proxywidget)
    r.c.proxywidget.hide()
    
if 0: #qprim
    #qprim = r.getQPrim(1680221423)
    e = r.getEntity(1680221423)