Changeset 8562:f7baf913eca6 in orange


Ignore:
Timestamp:
08/01/11 21:30:08 (3 years ago)
Author:
matejd <matejd@…>
Branch:
default
Convert:
0f5609140d29f64f127cf6e636edb85b64e8cb09
Message:

Automatically switch to slower selection method when widget size too big

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/plot/owplot3d.py

    r8560 r8562  
    12451245            return [] 
    12461246 
    1247         if self.use_fbos: 
     1247        width, height = self.width(), self.height() 
     1248        if self.use_fbos and width <= 1024 and height <= 1024: 
    12481249            self.selection_fbo_dirty = True 
    12491250            self.updateGL() 
    12501251 
    1251             width, height = self.width(), self.height() 
    1252             # TODO: check width < fbo.width 
    12531252            self.selection_fbo.bind() 
    12541253            color_pixels = glReadPixels(0, 0, 
     
    12701269            return indices 
    12711270        else: 
     1271            # Slower method (projects points manually and checks containments). 
    12721272            projection = QMatrix4x4() 
    12731273            if self.use_ortho: 
     
    12761276                                 self.ortho_near, self.ortho_far) 
    12771277            else: 
    1278                 projection.perspective(self.camera_fov, float(self.width())/self.height(), 
     1278                projection.perspective(self.camera_fov, float(width) / height, 
    12791279                                       self.perspective_near, self.perspective_far) 
    12801280 
     
    12871287 
    12881288            proj_model = projection * modelview 
    1289             viewport = [0, 0, self.width(), self.height()] 
     1289            viewport = [0, 0, width, height] 
    12901290 
    12911291            def project(x, y, z): 
     
    12941294                winx = viewport[0] + (1 + projected.x()) * viewport[2] / 2 
    12951295                winy = viewport[1] + (1 + projected.y()) * viewport[3] / 2 
    1296                 winy = self.height() - winy 
     1296                winy = height - winy 
    12971297                return winx, winy 
    12981298 
Note: See TracChangeset for help on using the changeset viewer.