Skip to content
  • Jeff Baumes's avatar
    ENH: Adding new rendered representation classes · 9bcda1c1
    Jeff Baumes authored
     - 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.
    9bcda1c1