1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkCompressCompositer.h,v $
6 Date: $Date: 2002/08/12 15:20:30 $
7 Version: $Revision: 1.3 $
9 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
11 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notice for more information.
17 =========================================================================*/
18 // .NAME vtkCompressCompositer - Implements compressed tree based compositing.
19 // .SECTION Description
20 // vtkCompressCompositer operates in multiple processes. Each compositer has
21 // a render window. They use vtkMultiProcessControllers to comunicate
22 // the color and depth buffer to process 0's render window.
23 // It will not handle transparency. Compositing is run length encoding
24 // of back ground pixels.
25 // vtkCompositeManager.
27 #ifndef __vtkCompressCompositer_h
28 #define __vtkCompressCompositer_h
30 #include "vtkCompositer.h"
36 class VTK_PARALLEL_EXPORT vtkCompressCompositer : public vtkCompositer
39 static vtkCompressCompositer *New();
40 vtkTypeRevisionMacro(vtkCompressCompositer,vtkCompositer);
41 void PrintSelf(ostream& os, vtkIndent indent);
43 virtual void CompositeBuffer(vtkDataArray *pBuf, vtkFloatArray *zBuf,
44 vtkDataArray *pTmp, vtkFloatArray *zTmp);
47 vtkCompressCompositer();
48 ~vtkCompressCompositer();
50 void Compress(vtkFloatArray *zIn, vtkDataArray *pIn,
51 vtkFloatArray *zOut, vtkDataArray *pOut);
53 void Uncompress(vtkFloatArray *zIn, vtkDataArray *pIn,
54 vtkDataArray *pOut, int finalLength);
56 void CompositeImagePair(vtkFloatArray *localZ, vtkDataArray *localP,
57 vtkFloatArray *remoteZ, vtkDataArray *remoteP,
58 vtkFloatArray *outZ, vtkDataArray *outP);
60 vtkDataArray *InternalPData;
61 vtkFloatArray *InternalZData;
66 vtkCompressCompositer(const vtkCompressCompositer&); // Not implemented
67 void operator=(const vtkCompressCompositer&); // Not implemented