25 #ifndef vtkPSurfaceLICComposite_h
26 #define vtkPSurfaceLICComposite_h
28 #include "vtkSurfaceLICComposite.h"
30 #include "vtkOpenGLRenderWindow.h"
31 #include "vtkRenderingParallelLICModule.h"
44 class vtkPPixelExtentOps;
119 double EstimateCommunicationCost(
120 const std::deque<std::deque<vtkPixelExtent> > &srcExts,
121 const std::deque<std::deque<vtkPixelExtent> > &destExts);
128 double EstimateDecompEfficiency(
129 const std::deque< std::deque<vtkPixelExtent> > &exts,
130 const std::deque< std::deque<vtkPixelExtent> > &guardExts);
136 int DecomposeScreenExtent(
137 std::deque< std::deque<vtkPixelExtent> >&newExts,
147 std::list<vtkPixelExtent> &out);
158 const std::deque< std::deque< vtkPixelExtent> > &in,
159 std::deque< std::deque< vtkPixelExtent> > &out,
164 int MakeDecompLocallyDisjoint(
165 const std::deque< std::deque< vtkPixelExtent> > &in,
166 std::deque< std::deque< vtkPixelExtent> > &out);
175 int AllGatherExtents(
176 const std::deque<vtkPixelExtent> &localExts,
177 std::deque<std::deque<vtkPixelExtent> > &remoteExts,
183 int AllReduceVectorMax(
184 const std::deque<vtkPixelExtent> &originalExts,
185 const std::deque<std::deque<vtkPixelExtent> > &newExts,
193 const std::deque<std::deque<vtkPixelExtent> > &exts,
194 std::deque<std::deque<vtkPixelExtent> > &guardExts,
195 std::deque<std::deque<vtkPixelExtent> > &disjointGuardExts,
200 vtkPPixelExtentOps *PixelOps;
213 std::deque<vtkPPixelTransfer> GatherProgram;
214 std::deque<vtkPPixelTransfer> ScatterProgram;
216 friend VTKRENDERINGPARALLELLIC_EXPORT
223 VTKRENDERINGPARALLELLIC_EXPORT