25 #ifndef vtkPSurfaceLICComposite_h
26 #define vtkPSurfaceLICComposite_h
31 #include "vtkRenderingParallelLICModule.h"
43 class vtkPPixelExtentOps;
80 void* pSendPBO,
int dataType,
int nComps,
vtkTextureObject*& newImage)
override;
87 void* pSendPBO,
int dataType,
int nComps,
vtkTextureObject*& newImage)
override;
109 double EstimateCommunicationCost(
const std::deque<std::deque<vtkPixelExtent> >& srcExts,
110 const std::deque<std::deque<vtkPixelExtent> >& destExts);
117 double EstimateDecompEfficiency(
const std::deque<std::deque<vtkPixelExtent> >& exts,
118 const std::deque<std::deque<vtkPixelExtent> >& guardExts);
124 int DecomposeScreenExtent(std::deque<std::deque<vtkPixelExtent> >& newExts,
float* vectors);
130 int DecomposeExtent(
vtkPixelExtent& in,
int nPieces, std::list<vtkPixelExtent>& out);
141 std::deque<std::deque<vtkPixelExtent> >& out,
float* vectors);
144 int MakeDecompLocallyDisjoint(
const std::deque<std::deque<vtkPixelExtent> >& in,
145 std::deque<std::deque<vtkPixelExtent> >& out);
154 int AllGatherExtents(
const std::deque<vtkPixelExtent>& localExts,
155 std::deque<std::deque<vtkPixelExtent> >& remoteExts,
vtkPixelExtent& dataSetExt);
160 int AllReduceVectorMax(
const std::deque<vtkPixelExtent>& originalExts,
161 const std::deque<std::deque<vtkPixelExtent> >& newExts,
float* vectors,
167 int AddGuardPixels(
const std::deque<std::deque<vtkPixelExtent> >& exts,
168 std::deque<std::deque<vtkPixelExtent> >& guardExts,
169 std::deque<std::deque<vtkPixelExtent> >& disjointGuardExts,
float* vectors);
173 vtkPPixelExtentOps* PixelOps;
182 std::deque<vtkPPixelTransfer> GatherProgram;
183 std::deque<vtkPPixelTransfer>
186 friend VTKRENDERINGPARALLELLIC_EXPORT ostream&
operator<<(
193 VTKRENDERINGPARALLELLIC_EXPORT