def set_data(self, data, subset_data=None, **args): if data == None: return ScaleLinProjData3D.setData(self, data, subset_data, **args) OWPlot3D.initializeGL(self) if hasattr(self, '_value_lines_shader'): return self.makeCurrent() self.before_draw_callback = self.before_draw ## Value lines shader self._value_lines_shader = QtOpenGL.QGLShaderProgram() self._value_lines_shader.addShaderFromSourceFile(QtOpenGL.QGLShader.Vertex, os.path.join(os.path.dirname(__file__), 'value-lines.vs')) self._value_lines_shader.addShaderFromSourceFile(QtOpenGL.QGLShader.Fragment, os.path.join(os.path.dirname(__file__), 'value-lines.fs')) self._value_lines_shader.bindAttributeLocation('position', 0) self._value_lines_shader.bindAttributeLocation('color', 1) self._value_lines_shader.bindAttributeLocation('normal', 2) if not self._value_lines_shader.link(): print('Failed to link value-lines shader!')
def set_data(self, data, subset_data=None, **args): if data == None: return ScaleLinProjData3D.setData(self, data, subset_data, **args) OWPlot3D.initializeGL(self) if hasattr(self, '_value_lines_shader'): return self.makeCurrent() self.before_draw_callback = self.before_draw ## Value lines shader self._value_lines_shader = QtOpenGL.QGLShaderProgram() self._value_lines_shader.addShaderFromSourceFile( QtOpenGL.QGLShader.Vertex, os.path.join(os.path.dirname(__file__), 'value-lines.vs')) self._value_lines_shader.addShaderFromSourceFile( QtOpenGL.QGLShader.Fragment, os.path.join(os.path.dirname(__file__), 'value-lines.fs')) self._value_lines_shader.bindAttributeLocation('position', 0) self._value_lines_shader.bindAttributeLocation('color', 1) self._value_lines_shader.bindAttributeLocation('normal', 2) if not self._value_lines_shader.link(): print('Failed to link value-lines shader!')
def __init__(self, widget, parent=None, name='None'): self.name = name OWPlot3D.__init__(self, parent) ScaleLinProjData3D.__init__(self) self.camera_fov = 22. self.camera_in_center = False self.show_axes = self.show_chassis = self.show_grid = False self.point_width = 6 self.animate_plot = False self.animate_points = False self.antialias_plot = False self.antialias_points = False self.antialias_lines = False self.auto_adjust_performance = False self.show_filled_symbols = False self.use_antialiasing = False self.sendSelectionOnUpdate = False self.setCanvasBackground = self.setCanvasColor self.showValueLines = 0 self._point_width_to_symbol_scale = 1.5 if 'linear' in self.name.lower(): self._arrow_lines = [] self.mouseover_callback = self._update_arrow_values