Skip to content
Snippets Groups Projects
  1. Jul 10, 2019
  2. Jul 09, 2019
  3. Jul 08, 2019
  4. Jul 06, 2019
  5. Jul 05, 2019
  6. Jul 04, 2019
  7. Jul 03, 2019
  8. Jul 02, 2019
    • Cory Quammen's avatar
      Merge topic 'integrate-3D-linear-plane-cutter' · 70fea84b
      Cory Quammen authored and Kitware Robot's avatar Kitware Robot committed
      
      c850abaa vtkCutter: use vtk3DLinearGridPlaneCutter when possible
      
      Acked-by: default avatarKitware Robot <kwrobot@kitware.com>
      Acked-by: default avatarUtkarsh Ayachit <utkarsh.ayachit@kitware.com>
      Merge-request: !5707
      70fea84b
    • Robert Maynard's avatar
      Correct possible ODR violations in the AutoInit generated code · 5a148ce8
      Robert Maynard authored
      The previous `AutoInit` approach generated a class in each TU
      for a VTK-module. That class would have the same name and
      the same contents for the constructor. This was fine as long
      as the VTK-module was built dynamically.
      
      This constructor would look like:
      
      ```cxx
      AuotInit()
      {
        InitFactory1();
        InitFactory2();
      }
      ```
      
      The problem arised when VTK-module's are built statically. In
      that case we would get multiple differing implementations
      of the same class. This happens as VTK-module deeper in the
      hierarchy would would need initialize more factories than
      VTK-modules they depended on.
      
      ```cxx
      AuotInit() //from VTK-module A
      {
        InitFactory1();
        InitFactory2();
      }
      
      AuotInit() //from VTK-module B
      {
        InitFactory1();
        InitFactory2();
        InitFactory3();
        InitFactory4();
      }
      ```
      
      These ODR violations are problematic because it meant that the linker
      would select a single implementation for `AutoInit` which could
      be one that would only initialized 2 modules instead of one that
      initialized 4 modules.
      
      To solve this problem we have gone with an approach where each
      AuotInit is placed into an anonymous namespace making them all
      unique and not an ODR violation.
      5a148ce8
  9. Jul 01, 2019
Loading