Changeset 8507:62aaa94f13e6 in orange


Ignore:
Timestamp:
07/28/11 10:52:42 (3 years ago)
Author:
matejd <matejd@…>
Branch:
default
Convert:
77b97d1c6b0f11efe808ccfbac7b63eeac844fda
Message:

Added chassis, show/hide axes

Location:
orange/OrangeWidgets
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Prototypes/OWScatterPlot3D.py

    r8478 r8507  
    2121                    'plot.show_z_axis_title', 'plot.show_legend', 'plot.use_2d_symbols', 
    2222                    'plot.transparency', 'plot.show_grid', 'plot.pitch', 'plot.yaw', 'plot.use_ortho', 
     23                    'plot.show_chassis', 'plot.show_axes', 
    2324                    'auto_send_selection', 'auto_send_selection_update', 
    2425                    'jitter_size', 'jitter_continuous'] 
     
    4748        self.symbol_scale = 5 
    4849        self.alpha_value = 255 
    49  
    5050 
    5151        self.tabs = OWGUI.tabWidget(self.controlArea) 
     
    132132        OWGUI.checkBox(box, self, 'plot.use_ortho',           'Use ortho',      callback=self.on_checkbox_update) 
    133133        OWGUI.checkBox(box, self, 'plot.use_2d_symbols',      '2D symbols',     callback=self.on_checkbox_update) 
     134        OWGUI.checkBox(box, self, 'dark_theme',               'Dark theme',     callback=self.on_theme_change) 
    134135        OWGUI.checkBox(box, self, 'plot.show_grid',           'Show grid',      callback=self.on_checkbox_update) 
    135         OWGUI.checkBox(box, self, 'dark_theme',               'Dark theme',     callback=self.on_theme_change) 
     136        OWGUI.checkBox(box, self, 'plot.show_axes',           'Show axes',      callback=self.on_checkbox_update) 
     137        OWGUI.checkBox(box, self, 'plot.show_chassis',        'Show chassis',   callback=self.on_checkbox_update) 
    136138        OWGUI.rubber(box) 
    137139 
  • orange/OrangeWidgets/plot/owplot3d.py

    r8505 r8507  
    439439        self.data_center = numpy.array([0., 0., 0.]) 
    440440 
    441         # Beside n-gons, symbols should also include cubes, spheres and other stuff. TODO 
    442         self.available_symbols = [3, 4, 5, 8] 
    443441        self.state = PlotState.IDLE 
    444442 
     
    450448 
    451449        self.setMouseTracking(True) 
    452  
    453450        self.mouseover_callback = None 
    454451 
     
    461458 
    462459        self._theme = LightTheme() 
     460        self.show_axes = True 
     461        self.show_chassis = True 
    463462 
    464463    def __del__(self): 
     
    619618            0, 1, 0) 
    620619 
     620        if self.show_chassis: 
     621            self.draw_chassis() 
    621622        self.draw_grid_and_axes() 
    622623 
     
    772773        self.show_z_axis_title = show 
    773774        self.updateGL() 
     775 
     776    def draw_chassis(self): 
     777        glColor4f(*self._theme.axis_values_color) 
     778        glEnable(GL_LINE_STIPPLE) 
     779        glLineStipple(1, 0x00FF) 
     780        edges = [self.x_axis, self.y_axis, self.z_axis, 
     781                 self.x_axis+self.unit_z, self.x_axis+self.unit_y, 
     782                 self.x_axis+self.unit_z+self.unit_y, 
     783                 self.y_axis+self.unit_x, self.y_axis+self.unit_z, 
     784                 self.y_axis+self.unit_x+self.unit_z, 
     785                 self.z_axis+self.unit_x, self.z_axis+self.unit_y, 
     786                 self.z_axis+self.unit_x+self.unit_y] 
     787        glBegin(GL_LINES) 
     788        for edge in edges: 
     789            start, end = edge 
     790            glVertex3f(*start) 
     791            glVertex3f(*end) 
     792        glEnd() 
     793        glDisable(GL_LINE_STIPPLE) 
    774794 
    775795    def draw_grid_and_axes(self): 
     
    891911        glEnable(GL_DEPTH_TEST) 
    892912        glDisable(GL_BLEND) 
     913 
     914        if not self.show_axes: 
     915            return 
    893916 
    894917        if visible_planes[0 if xz_visible else 2]: 
Note: See TracChangeset for help on using the changeset viewer.