• Utkarsh Ayachit's avatar
    Refactoring SelectionRepresentation for charts. · 35235114
    Utkarsh Ayachit authored
    Charts using the same representation (vtkChartRepresentation) to manage data as
    well as selection. The problem with  this approach is that whenever the
    selection changes, we have to reexecute the vtkChartRepresentation even if the
    data didn't change and only the selection changed. The representations in 3D
    view deal with this my creating a separate SelectionRepresentation and the
    selection input is fed directly to this representation. That way when the
    selection changes, only the SelectionRepresentation is modified. We adopt that
    same approach for chart representations.
    
    Added a new vtkChartSelectionRepresentation. vtkChartRepresentation now creates
    a vtkChartSelectionRepresentation that deals with delivering/showing selections.
    vtkSIChartRepresentationProxy ensures that the vtkChartSelectionRepresentation
    is set correctly on the vtkChartRepresentation; while
    vtkSMChartRepresentationProxy ensures that the selection-input is set correctly
    on the proxy corresponding to vtkChartSelectionRepresentation.
    
    + Also cleaned up AnnotationLink. Now, we consistently create AnnotationLink in
    the vtkPVContextView (or subclass). In the past the link was created in
    vtkChartRepresentation or vtkPVPlotMatrixView.
    
    + Also cleaned up vtkPVCompositeRepresentation.
    
    During the evolution of vtkPVCompositeRepresentation, there was stage when we
    were thinking of passing selection-input transparently to the
    SelectionRepresentation held by vtkPVCompositeRepresentation. However, that
    meant that vtkPVCompositeRepresentation would be marked as modified whenever the
    selection changed. So to avoid that, we changed the code to setup the selection
    input directly to the SelectionRepresentation in vtkSMPVRepresentationProxy.
    The unused code persisted in vtkPVCompositeRepresentation. Removing that.
    
    Change-Id: I1c834976c1aeb6343732a3c61fb3bd4876562ff0
    35235114
vtkSMChartRepresentationProxy.cxx 2.87 KB