OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I386LINUX / util / I386LINUX / include / vtk / vtkMultiPartExtentTranslator.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    $RCSfile: vtkMultiPartExtentTranslator.h,v $
5   Language:  C++
6   Date:      $Date: 2002/12/11 22:47:41 $
7   Version:   $Revision: 1.2 $
8
9   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
10   All rights reserved.
11   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
12
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.
16
17 =========================================================================*/
18 // .NAME vtkMultiPartExtentTranslator - Returns the whole extent for any piece.
19 // .SECTION Description
20 // This is used when a parallel data set is composed of multple structured
21 // pieces.
22
23 #ifndef __vtkMultiPartExtentTranslator_h
24 #define __vtkMultiPartExtentTranslator_h
25
26 #include "vtkExtentTranslator.h"
27
28
29 class VTK_COMMON_EXPORT vtkMultiPartExtentTranslator : public vtkExtentTranslator
30 {
31 public:
32   static vtkMultiPartExtentTranslator *New();
33
34   vtkTypeRevisionMacro(vtkMultiPartExtentTranslator,vtkExtentTranslator);
35
36   // Description:
37   // These are the main methods that should be called. These methods 
38   // are responsible for converting a piece to an extent. The signatures
39   // without arguments are only thread safe when each thread accesses a
40   // different instance. The signatures with arguements are fully thread
41   // safe. 
42   virtual int PieceToExtentThreadSafe(int piece, int numPieces, 
43                                       int ghostLevel, int *wholeExtent, 
44                                       int *resultExtent, int splitMode, 
45                                       int byPoints);
46   
47 protected:
48   vtkMultiPartExtentTranslator();
49   ~vtkMultiPartExtentTranslator();
50
51 private:
52   vtkMultiPartExtentTranslator(const vtkMultiPartExtentTranslator&);  // Not implemented.
53   void operator=(const vtkMultiPartExtentTranslator&);  // Not implemented.
54 };
55
56 #endif
57