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
 
static vtkSurfaceLICComposite * New()
friend ostream & operator<<(ostream &os, vtkSurfaceLICComposite &ss)
dynamic, self-adjusting array of float 
virtual vtkOpenGLRenderWindow * GetContext()
virtual void SetCommunicator(vtkPainterCommunicator *)
Set the communicator for parallel communication. 
virtual int Gather(void *, int, int, vtkTextureObject *&)
Move a single buffer from the geometry decomp to the LIC decomp. 
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses. 
a simple class to control print indentation 
virtual void SetContext(vtkOpenGLRenderWindow *)
Set the rendering context. 
int AddGuardPixels(const std::deque< vtkPixelExtent > &exts, std::deque< vtkPixelExtent > &guardExts, std::deque< vtkPixelExtent > &disjointGuardExts, float *vectors)
Add guard pixels (Serial run) 
static int MakeDecompDisjoint(std::deque< vtkPixelExtent > &in, std::deque< vtkPixelExtent > &out)
Make a decomposition disjoint with respect to itself. 
abstracts an OpenGL texture object. 
create a window for renderers to draw into 
Representation of a cartesian pixel plane and common operations on it. 
This class decomposes the image space and shuffles image space data onto the new decomposition with t...
A communicator that can safely be used inside a painter. 
virtual int Scatter(void *, int, int, vtkTextureObject *&)
Move a single buffer from the LIC decomp to the geometry decomp In parallel THIS IS A COLLECTIVE OPER...
virtual int BuildProgram(float *)
Build programs to move data to the new decomp In parallel THIS IS A COLLECTIVE OPERATION. 
This class decomposes the image space and shuffles image space data onto the new decomposition with t...
Interface to OpenGL framebuffer object.