ENH: Adding new rendered representation classes
- Adding new rendered graph, hierarchy, surface, tree area representations. These classes consolidate code that were in several different views. - Adding vtkHierarchicalGraphPipeline, which renders bundled graph edges on top of a tree. This is a convenience class used by vtkRenderedHierarchyRepresentation and vtkRenderedTreeAreaRepresentation. - Fixing up OverView geo views and hierarchy view. - Removing buggy hack in vtkScalarsToColors that caused problems with correctly rendering color arrays. - Added opacity to annotations. - vtkGraph now creates edge points on demand instead of throwing errors, and correctly deep copies edge points on force ownership call. - Updating geovis tests to use new graph representation API. - Moved vtkGeoEdgeStrategy to Infovis so it can be accessed in the graph representation. - Moved vtkGeoMath to Infovis since it is used by vtkGeoEdgeStrategy. - Removed vtkGeoGraphRepresentation and vtkGeoGraphRepresentation2D, which are now superceded by vtkRenderedGraphRepresentation. - Removed reference loop in vtkGeoLineRepresentation's ConvertSelection by removing the PROP property from the selection. - Updating vtkGeoView and vtkGeoView2D to new view architecture. - Added option to Glyph3D to output cell data along with point data on the output glyphs. - vtkGraphToPolyData now correctly uses the vertex endpoint positions as the start and end of the polyline for each edge. - vtkSelectionLink's SetSelection used to always trigger the algorithm to be modified. This is no longer true if the same selection is set multiple times. - Changed vtkSplineFilter to handle consecutive points at the same position instead of outputting errors. - Changed vtkCosmicTreeLayoutStrategy so the output arrays are called "TreeRadius" and "TreeScaleFactor" instead of appending those strings to the input size array name. - Changing treemap layout strategies to appropriately fill the points of the tree that are used for bundled edges. - Added ZRange to vtkGraphLayout, if you want vertices to have distinct Z values on an otherwise 2D layout. This avoids Z-buffer issues when rendering vertices as glyphs. - Added Transform property to vtkGraphLayout. This optional transform will be applied to locations output from the layout strategy. This is used in geo views. - Fixed vtkStackedTreeLayoutStrategy to not always place the root position for the bundled edges at (0,0,0). - Added progress events to vtkTreeRingToPolyData. - Allow non-equal array types when PassArray is on, using GetVarantValue and InsertVariantValue. - Adding option RenderOnMouseMove to vtkInteractorStyleRubberBand2D. This allows views to update hover balloons. - Fixing bug in vtkLabelHierarchy's iterator where if the lastPlaced array contained indices outside the current label set range, it would crash. - Adding support for an "ID" array which indicates the type of label being processed. This is used to use different font types with different sets of labels using the same label placer to place them all. - Adding support for multiple font properties to vtkLabelSizeCalculator, vtkLabeledDataMapper, vtkDynamic2DLabelPlacer. - Adding helper functions to vtkViewTheme to tell you whether a current lookup table matches its internal settings, or if it needs to be rebuilt. This minimizes pipeline updates. - Adding explicit ResetCamera() calls to view tests, because views no longer do this automatically. - Fixing vtkDataRepresentation so it does not re-do a shallow copy of inputs into the internal pipeline unless they have actually changed. - Revamping vtkGraphLayoutView to use vtkRenderedGraphRepresentation. - Revamping vtkHierarchicalGraphView to use vtkRenderedHierarchyRepresentation. - Revamping vtkTreeAreaView to use vtkRenderedTreeAreaRepresentation. - Updating vtkView to only take a collection of vtkRepresentations, instead of supporting multiple ports/connections. We can do this because representations now have this option of multiple inputs. - vtkView has an option ReuseSingleRepresentation, where it will use the same representation after removing/adding input connections. This is used in e.g. vtkGraphLayouView so that properties assigned to the view persist even when the input connection is reset. - Fixing vtkTreeLayoutView to the newer view architecture, even though it should be deprecated in the near term. - Adding vtkGeoSphereTransform, a simple transform that goes from lat-long-alt and rect coords. This is what the 3D geo view has as its transform. - Adding vtkAppendPoints, which simply appends all the points and associated data from multiple input datasets. This is used to append all label points into one data object. - Adding vtkApplyColors, which applies colors from lut/annotation/selection in one place for a dataset. This is used by the new rendered representations. - Adding vtkAssignCoordinatesLayoutStrategy which uses vtkAssignCoordinates inside the layout. This makes the geo "layout" paradigm of lat/long arrays consistent with other graph layout strategies, so they can all use vtkRenderedGraphRepresentation. - Adding vtkDistanceToCamera, computes the distance of each input point to the camera. This can be used to scale glyphs dynamically so they appear the same size on the screen. - Adding graph-based versions of vtkGraphHierarchicalBundle and vtkSplineFilter called vtkGraphHierarchicalBundleEdges and vtkSplineGraphEdges, which perform the same task as the originals, but output a graph with appropriate edge points, instead of polydata. This allows these filters to execute before vtkGraphToPolyData. - The new vtkGraphToGlyphs filter takes a vtkGraph and outputs polydata for the glyphs. The glyphs are dynamically sized based on the position from the camera in order tp create glyphs with constant screen size. - vtkGraphToPoints converts a graph to a set of points.
Showing with 8706 additions and 5954 deletions
This diff is collapsed.
This diff is collapsed.