Skip to content
  • garth's avatar
    Merged integral curve changes from garth/streamlines branch: · 09f7c3ca
    garth authored
        Enabled AMR ghost zone information in avtIVPVTKField; integral curves  
        now correctly descend into finer levels as encountered (Eduard Deines).  
    
        Modified domain transition handling in avtIntegralCurve::Advance() to
        push across the boundary with smaller steps.
    
        Adapted the IC algorithms and the Poincare plot to the new terminology.  
    
        Cleanup of status and termination flags used between avtIVPSolver and  
        avtIntegralCurve.  
    
        Introduced explicit DIRECTION flag for avtIntegralCurve to allow more robust  
        handling of integration direction; this was previously inferred from the  
        termination criterion, which is not compatible with pathlines.  
    
        Refactored termination handling out of the avtIVPSolver subclasses, it is now  
        the responsibility of avtIntegralCurve::AnalyzeStep().  
        avtIntegralCurve::Advance() now explicitly respects temporal bounds of  
        avtIVPField. (avtIntegralCurve::DoAdvance() was merged into  
        avtIntegralCurve::Advance()).  
    
        Reduce role of avtIVPStep: avtIVPField::ComputeScalarVariable() now uses an  
        index-based instead of variable name strings, the mapping is set through  
        avtIVPField::SetScalarVariable().  
    
        Total rewrite of avtStateRecorderIntegralCurve to use a flat storage scheme  
        that reduces memory consumption tremendously. Adapted  
        avtStreamlinePolyDataFilter correspondingly.  
    
        avtStateRecorderIntegralCurve::Serialize() now also transmits the serialize  
        flags, ensuring that sender and receiver agree on what is transmitted; this  
        fixes current crashes in parallel IC algorithms.  
    
        New cell locator infrastructure based on avtCellLocator, for now local to the  
        IVP module. The previously used vtkVisItCellLocator was reimplemented as  
        avtCellLocatorClassic. Added cell locators for rectilinear  
        (avtCellLocatorRect) and unstructured meshes (avtCellLocatorBIH). The new  
        infrastructure is more robust, faster and consumes less memory for  
        (un)structured meshes; fast paths for specific mesh and cell types are  
        introduced that avoid calls to VTK methods which are not thread-safe and slow  
        (e.g. unstructured tet/hex). Locators are now stateless and can be safely  
        shared between multiple threads (in preparation for David Camp's hybrid  
        parallel work) and cached in the pipeline (future work).  
    
        Rewrote avtIVPVTKField to contain all cell/point location state.  
      
        avtParICAlgorithm now handles the case of no seedpoints without crashing.
    
    
    
    git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@12139 18c085ea-50e0-402c-830e-de6fd14e8384
    09f7c3ca