Commit Graph

24 Commits

Author SHA1 Message Date
Luke Campagnola
4ceae9f1a1 Features:
- GLScatterPlotItem can work with arbitrarily-shaped vertex arrays
- added colorToAlpha function

Bugfixes:
- GraphicsScene emits sigMouseClicked for all clicks
- CanvasItem emits transformation change signal when mirrored
- GLViewWidget.pixelSize correctly handles position specified as array
- SRTTransform3D assumes Zscale=1 when converting from 2D transform
2012-12-22 17:04:07 -05:00
Luke Campagnola
b25e34f564 Features:
- Canvas: added per-item context menus
- Isocurve: 
     option to extend curves to array boundaries
     option to generate QPainterPath instead of vertex array
- Isosurface is a bajillion times faster
- ViewBox
     added clear() method
     added locate(item) method (shows where an item is for debugging)

Bugfixes:
- automated example testing working properly
- Exporter gets incorrect source rect when operating on PlotWidget
- Set correct DPI and size for SVG exporter
- GLMeshItem works properly with whole-mesh color specified as sequence
- bugfix in functions.transformCoordinates for rotated matrices
- reload library checks for modules that are imported multiple times
- GraphicsObject, UIGraphicsItem: added workaround for PyQt / itemChange bug
- ScatterPlotItem: disable cached render during export

Other:
- added documentation for several functions
- minor updates to setup.py
2012-12-22 16:51:25 -05:00
Luke Campagnola
3de5719011 Merged testing code from Kratz
Numerous fixes for python 3 compatibility
2012-12-05 00:25:45 -05:00
Luke Campagnola
80148920c9 Bugfixes:
- Image exporter detects GraphicsView background color
- Corrected exporter filename handling for SVG export
- ViewBox no longer attempts to deregister itself while python is exiting
- Speedup for conversion using np.array(MetaArray_instance)
- GLGraphicsItem updates immediately when its GL options have changed
- Corrected some GL shader program bugs for nVidia drivers
- Fixed coordinate mapping bug in functions.transformCoordinates
- Fixed PySide import error
2012-12-04 21:02:05 -05:00
Luke Campagnola
005160423e Converted all old-style classes to new-style for PySide compatibility. (thanks Chris) 2012-11-28 22:47:52 -05:00
Luke Campagnola
aca9c8310f Major overhaul for GLMeshItem, MeshData classes
[ Note: These APIs have changed significantly. ]
  - MeshData and GLMeshItem now operate on numpy arrays instead of lists.
  - MeshData can handle per-vertex and per-triangle color information
Added GLSurfacePlotItem class based on new GLMeshItem
GLGraphicsItem now has per-item support for customizing GL state (setGLOptions method)
Added several new shader programs
Added new examples:
   GLIsosurface
   GLSurfacePlot
   GLshaders
2012-11-23 17:34:22 -05:00
Luke Campagnola
a5a40be8bb Bugfix: GLScatterPlotItem would not display when using non-array size and pxMode=True 2012-10-31 02:07:19 -04:00
Luke Campagnola
b09182d19a GLScatterPlotItem: use shader programs to allow specifying spot size by array
Reorganized shader programs
Infrastructure updates for OpenGL system
2012-10-26 21:47:45 -04:00
Luke Campagnola
bbba3f1f78 Updated GLScatterPlotItem for performance. 2012-10-26 00:09:47 -04:00
Luke Campagnola
65f0f10198 added documentation for GLScatterPlotItem 2012-10-25 00:19:08 -04:00
Luke Campagnola
65ed889a77 Added very basic LegendItem. Functional, but still missing some basic features.
Added GLImageItem and example.
2012-10-18 23:18:20 -04:00
Luke Campagnola
5081c97ac5 Better support for frozen environments:
- built in Christian Gavin's os.listdir replacement
  - added os.isdir replacement
Fixed ViewBox causing errors at shutdown
2012-10-11 00:57:24 -04:00
Luke Campagnola
1d05656a73 - Fixed issue with numpy.concatenate wrapper
- ConsoleWidget now correctly catches its own exceptions
- Fixed ViewBox auto-scaling bug
- Fixed functions.siEval not parsing units correctly
- Fixed bug caused when opengl GL_VERSION_STR is None
2012-10-09 20:40:48 -04:00
Luke Campagnola
2213dea9d8 Bugfixes
- AxisItem.setScale(1) works properly to disable auto-value-scaling
- OpenGL fixes (stack overflow when drawing items, improper call to glPopAttrib)
2012-07-09 14:41:10 -04:00
Luke Campagnola
b1dbec848c Added checks for OpenGL version and 3D texture size limits
Added script for reporting GL version info
2012-07-08 21:33:35 -04:00
Luke Campagnola
fc9b3dee4d Started Python3 compatibility changes 2012-05-11 18:05:41 -04:00
Luke Campagnola
f278abd55d Added 3D scatter plot item 2012-04-28 15:48:49 -04:00
Luke Campagnola
044b26e11c OpenGL:
improved mouse/keyboard interaction
  bugfix in GLViewWidget.cameraPosition
2012-04-28 15:12:46 -04:00
Luke Campagnola
2149f9db29 Added documentation on 3D graphics system 2012-04-23 14:34:54 -04:00
Luke Campagnola
5c0c47cda2 3D mesh updates:
- Can initialize GLMeshItem using MeshData instance
 - MeshData has save/restore methods
2012-04-15 10:21:31 -04:00
Luke Campagnola
d2d812c86e Fixed up MeshData and GLMeshItem classes for surface display 2012-03-24 12:17:48 -04:00
Luke Campagnola
f6da6e2fd0 Added matplotlib exporter
Updates to MeshData class (this is still not tested)
2012-03-23 22:13:41 -04:00
Luke Campagnola
920fd9333e OpenGL scenegraph updates
- volumetric rendering
 - isosurfaces, mesh rendering
 - basic transformation and parent/child functionality
2012-03-09 12:38:15 -05:00
Luke Campagnola
872fcb17ff Added basic OpenGL scenegraph system
- rotate/scalable view widget
 - volumetric data item
2012-03-06 01:22:02 -05:00