Go to the documentation of this file.
25 #ifndef vtkSurfaceLICComposite_h
26 #define vtkSurfaceLICComposite_h
29 #include "vtkRenderingLICOpenGL2Module.h"
55 const std::deque<vtkPixelExtent> &blockExts,
94 COMPOSITE_INPLACE_DISJOINT,
106 {
return static_cast<int>(this->CompositeExt.size()); }
113 {
return this->GuardExt[i]; }
116 {
return this->GuardExt; }
123 {
return this->DisjointGuardExt[i]; }
126 {
return this->GuardExt; }
133 {
return this->CompositeExt[i]; }
136 {
return this->CompositeExt; }
142 {
return this->DataSetExt; }
148 {
return this->WindowExt; }
204 std::deque<vtkPixelExtent> &in,
205 std::deque<vtkPixelExtent> &out);
220 const std::deque<vtkPixelExtent> &in,
221 std::deque<vtkPixelExtent> &out,
236 const std::deque<vtkPixelExtent> &exts,
238 std::vector<float> &vMax);
244 const std::deque<vtkPixelExtent> &exts,
245 std::deque<vtkPixelExtent> &guardExts,
246 std::deque<vtkPixelExtent> &disjointGuardExts,
269 std::deque<vtkPixelExtent> BlockExts;
271 std::deque<vtkPixelExtent> CompositeExt;
272 std::deque<vtkPixelExtent> GuardExt;
273 std::deque<vtkPixelExtent> DisjointGuardExt;
279 int NormalizeVectors;
280 int NumberOfGuardLevels;
281 int NumberOfEEGuardPixels;
282 int NumberOfAAGuardPixels;
const vtkPixelExtent & GetWindowExtent() const
Get the whole window extent.
void GetPixelBounds(float *rgba, int ni, vtkPixelExtent &ext)
shrink pixel extent based on non-zero alpha channel values
virtual void SetContext(vtkOpenGLRenderWindow *)
Set the rendering context.
const std::deque< vtkPixelExtent > & GetCompositeExtents() const
int VectorMax(const std::deque< vtkPixelExtent > &exts, float *vectors, std::vector< float > &vMax)
Compute max(V) on a set of extents.
void SetStrategy(int val)
dynamic, self-adjusting array of float
static int MakeDecompDisjoint(std::deque< vtkPixelExtent > &in, std::deque< vtkPixelExtent > &out)
Make a decomposition disjoint with respect to itself.
ostream & operator<<(ostream &os, vtkSurfaceLICComposite &ss)
int AddGuardPixels(const std::deque< vtkPixelExtent > &exts, std::deque< vtkPixelExtent > &guardExts, std::deque< vtkPixelExtent > &disjointGuardExts, float *vectors)
Add guard pixels (Serial run)
abstract base class for most VTK objects
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...
int GetNumberOfCompositeExtents() const
Get the number of new extents assigned to this rank after the decomposition.
Representation of a cartesian pixel plane and common operations on it.
float GetFudgeFactor(int nx[2])
factor for determining extra padding for guard pixels.
const vtkPixelExtent & GetDataSetExtent() const
Get the whole dataset extent (all blocks).
const std::deque< vtkPixelExtent > & GetGuardExtents() const
int MakeDecompDisjoint(const std::deque< vtkPixelExtent > &in, std::deque< vtkPixelExtent > &out, float *vectors)
For serial run.
virtual int BuildProgram(float *)
Build programs to move data to the new decomp In parallel THIS IS A COLLECTIVE OPERATION.
~vtkSurfaceLICComposite()
This class decomposes the image space and shuffles image space data onto the new decomposition with t...
virtual void RestoreDefaultCommunicator()
Set the communicator to the default communicator.
a simple class to control print indentation
abstracts an OpenGL texture object.
int InitializeCompositeExtents(float *vectors)
Set up for a serial run, makes the decomp disjoint and adds requisite guard pixles.
const vtkPixelExtent & GetCompositeExtent(int i=0) const
Get the extent of the domain over which to compute the LIC.
friend ostream & operator<<(ostream &os, vtkSurfaceLICComposite &ss)
A communicator that can safely be used inside a painter.
const std::deque< vtkPixelExtent > & GetDisjointGuardExtents() const
static vtkSurfaceLICComposite * New()
const vtkPixelExtent & GetDisjointGuardExtent(int i=0) const
Get the extent of the domain over which to compute the LIC.
void Initialize(const vtkPixelExtent &winExt, const std::deque< vtkPixelExtent > &blockExts, int strategy, double stepSize, int nSteps, int normalizeVectors, int enhancedLIC, int anitalias)
Initialize the object based on the following description of the blocks projected onto the render wind...
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
const vtkPixelExtent & GetGuardExtent(int i=0) const
Get the extent of the domain over which to compute the LIC.
virtual vtkOpenGLRenderWindow * GetContext()
float VectorMax(const vtkPixelExtent &ext, float *vectors)
Compute max(V) on the given extent.
virtual int Gather(void *, int, int, vtkTextureObject *&)
Move a single buffer from the geometry decomp to the LIC decomp.
virtual void SetCommunicator(vtkPainterCommunicator *)
Set the communicator for parallel communication.