25 #ifndef vtkPSurfaceLICComposite_h
26 #define vtkPSurfaceLICComposite_h
31 #include "vtkRenderingParallelLICModule.h"
43 class vtkPPixelExtentOps;
115 double EstimateCommunicationCost(
116 const std::deque<std::deque<vtkPixelExtent> > &srcExts,
117 const std::deque<std::deque<vtkPixelExtent> > &destExts);
124 double EstimateDecompEfficiency(
125 const std::deque< std::deque<vtkPixelExtent> > &exts,
126 const std::deque< std::deque<vtkPixelExtent> > &guardExts);
132 int DecomposeScreenExtent(
133 std::deque< std::deque<vtkPixelExtent> >&newExts,
143 std::list<vtkPixelExtent> &out);
154 const std::deque< std::deque< vtkPixelExtent> > &in,
155 std::deque< std::deque< vtkPixelExtent> > &out,
160 int MakeDecompLocallyDisjoint(
161 const std::deque< std::deque< vtkPixelExtent> > &in,
162 std::deque< std::deque< vtkPixelExtent> > &out);
171 int AllGatherExtents(
172 const std::deque<vtkPixelExtent> &localExts,
173 std::deque<std::deque<vtkPixelExtent> > &remoteExts,
179 int AllReduceVectorMax(
180 const std::deque<vtkPixelExtent> &originalExts,
181 const std::deque<std::deque<vtkPixelExtent> > &newExts,
189 const std::deque<std::deque<vtkPixelExtent> > &exts,
190 std::deque<std::deque<vtkPixelExtent> > &guardExts,
191 std::deque<std::deque<vtkPixelExtent> > &disjointGuardExts,
196 vtkPPixelExtentOps *PixelOps;
205 std::deque<vtkPPixelTransfer> GatherProgram;
206 std::deque<vtkPPixelTransfer> ScatterProgram;
208 friend VTKRENDERINGPARALLELLIC_EXPORT
215 VTKRENDERINGPARALLELLIC_EXPORT