- Jan 03, 2018
-
-
John Harwell authored
-
John Harwell authored
Corrected MathFunctions::triangleSignedArea2D: Calculation were in float and the result was incorrect when an edge of the triangle was very, very small. Calculations are now performed in double-precision and area calculation is now correct.
-
John Harwell authored
Added new volume slice surface outline drawing to Oblique Volume Drawing. Also verified that new volume surface outline functions on a surface with an open topology.
-
John Harwell authored
Adding OffScreenOpenGLRenderer.cxx back into GIT with correct capitalization (see previous commit 391b67102e21481e8490d821d883a0d6cb0734b5).
-
John Harwell authored
Had capitalization wrong on OffScreenRenderer.cxx (4th character 'S' as both lower and upper case) so it got added twice (Mac is case insensitive). So moved the file, deleting it from GIT with this command and then adding file back to GIT in next commit (if it works).
-
John Harwell authored
-
John Harwell authored
Initial implementation of new algorithm for drawing volume surface outlines using polygons to avoid limits on OpenGL line width. Width of volume surface outline has been changed to a percentage of the viewport height.
-
John Harwell authored
-
John Harwell authored
-
John Harwell authored
Added OffScreenOpenGLRenderer. This off screen rendered is a new mode for capturing images. When OpenGL multisampling was added for antialiasing, the antialiasing did not work with QGLWidget::renderPixmap. Anti-aliasing does work with this new off screen renderer. This off screen renderer does work with the newer QOpenGLWidget but multisampling does not work with QOpenGLWidget so we remain using the deprecated QGLWidget.
-
John Harwell authored
Update to last commit for selection depth, only test selection depth less than or equal to for annotations.
-
John Harwell authored
When selection is performed, the selected item is the one that is most "in front" (or closer to the viewer). This is performed using the screen depth. There may be multiple items under the cursor and in this case, the selected item changed only when the depth of an item drawn was less than the last item found under the cursor while drawing. This depth test has been changed to "less than or equal to" since some items, such as annotations, are drawn at the same depth so that the item last drawn, that is drawn on top of all other items, is selected.
-
John Harwell authored
-
John Harwell authored
Resolve WB-739 Chart axis numerics rotatable and removable: Checkboxes have been added to Toolbar: Chart Axes to enable/disable display of numerics and to rotate the numeric values.
-
John Harwell authored
Enabled OpenGL Multi-Sampling to anti-alias lines and polygons. Unfortunately, multi-sampling is not available when capturing an image with QGLWidget::renderPixmap but if the user captures a large image, aliasing affects are not that obvious.
-
John Harwell authored
Resolve WB-682 Control and consistency of text size for volume slice coordinates: Text displayed in volume view (axis character, montage slice coordinates, and oblique all view orientation axes) now all use a percentage of viewport height.
-
John Harwell authored
-
John Harwell authored
Renamed 'SizeType' in GraphicsPrimitive to 'LineWidthType' since it is only used for lines now that points and spheres have their own unique size type.
-
John Harwell authored
Draw volume slice axis crosshairs with a line thickness that is 1% of the viewport height. Orientation axes in bottom left corner of Oblique All View has also been changed to be 1% of viewport height.
-
John Harwell authored
Some foci were colored incorrectly due to alpha values equal to zero in the color tables in the foci file. There is no editing by the user of the alpha value so always assume a valid alpha when drawing foci.
-
John Harwell authored
Correct foci squares so that they are drawn with size of millimeters. Add a square shape to GraphicsShape that is drawn with billboarding so that the square always faces the user.
-
John Harwell authored
Updates to Border, Foci, and Identification Symbol to draw with new graphics primitive. Also sized in millimeters.
-
John Harwell authored
Fixed Information Window Properties button so that the Properties Dialog will move the the front if the Properties Dialog is already open.
-
John Harwell authored
-
John Harwell authored
Removed some calls to enable line anti-aliasing since it only works with OpenGL lines and the lines are now being drawn as triangles to avoid OpenGL line width limitations.
-
John Harwell authored
Replaced some older graphics code in chart two drawing and changed some items (chart box, ticks, matrix row highlight, etc) to line widths that are a percentage of the viewport height.
-
John Harwell authored
Fixed histogram envelope drawing. It was mistakenly drawn with a line loop so that the end connected to the start. It has been corrected to use a line strip.
-
John Harwell authored
In annotation drawing, remove usage of gluProject and instead, use the new EventOpenGLObjectToWindowTransform for transforming model space to window space.
-
John Harwell authored
Created an event, EventOpenGLObjectToWindowTransform, that is received by OpenGL drawing to create a matrix for transforming coordinates from object space to window space. Using this transform fixed drawing of 'polygonal lines' in surface or stereotaxic space.
-
John Harwell authored
-
John Harwell authored
For polygonal line drawing, add a second join type 'bevel' and use it with some data types such as border lines, chart data lines, and histogram envelope mode. Use miter join with annotation line arrows.
-
John Harwell authored
-
John Harwell authored
-
John Harwell authored
-
John Harwell authored
From the graphic primitives (in the Graphics directory), removed the QUADS, QUAD_STRIPS, and POLYGON types. These types are removed from OpenGL 3.x (3.2?) so we should avoid using them. All code that used these primitive types has been updated to use triangle primitive types.
-
John Harwell authored
In the graphics code, logic was present for in the vertex buffer classes to track the OpenGL context in the event that multiple windows used a different OpenGL context (a different context may not share vertex buffers, textures, etc.). We share the OpenGL context among multiple wb_view windows. Both the deprecated QGLWidget which we currently use (and the newer QOpenGLWIdget) make it very easy for context sharing. Since the logic for non-context sharing was cumbersome, and is not needed, it has been removed.
-
John Harwell authored
-
John Harwell authored
In the code to convert OpenGL lines to polylines, the polygons were drawn using quads. Found out that quads are deprecated in newer versions of OpenGL so changed polyline code to use triangles.
-
John Harwell authored
One 'graphics buffer usage type' was used for all data types in a graphics primitive. It has been split into usage types for each data type (coordinates, normals, colors, texture coordinates).
-
John Harwell authored
Consolidated 'addVertex' methods in Graphics Primitives. Added a 'primitive restart' for triangle strips. Updated border drawing to use newer line drawing. Renamed primitive types for newer lines to 'polygonal' lines and others that still use OpenGL to have 'OpenGL' in their name. Also added a 'sphere' primitive that draws a sphere at each vertex.
-