dox/Common/vtkExtentSplitter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028
#ifndef __vtkExtentSplitter_h
00029
#define __vtkExtentSplitter_h
00030
00031
#include "vtkObject.h"
00032
00033
class vtkExtentSplitterInternals;
00034
00035 class VTK_COMMON_EXPORT vtkExtentSplitter :
public vtkObject
00036 {
00037
public:
00038 vtkTypeRevisionMacro(vtkExtentSplitter,
vtkObject);
00039
void PrintSelf(ostream& os,
vtkIndent indent);
00040
static vtkExtentSplitter *
New();
00041
00043
00046
void AddExtentSource(
int id,
int priority,
int x0,
int x1,
00047
int y0,
int y1,
int z0,
int z1);
00048
void AddExtentSource(
int id,
int priority,
int* extent);
00049
void RemoveExtentSource(
int id);
00050
void RemoveAllExtentSources();
00052
00054
00056
void AddExtent(
int x0,
int x1,
int y0,
int y1,
int z0,
int z1);
00057
void AddExtent(
int* extent);
00059
00064
int ComputeSubExtents();
00065
00069
int GetNumberOfSubExtents();
00070
00072
00075
int* GetSubExtent(
int index);
00076
void GetSubExtent(
int index,
int* extent);
00078
00082
int GetSubExtentSource(
int index);
00083
00085
00090 vtkGetMacro(PointMode,
int);
00091 vtkSetMacro(PointMode,
int);
00092 vtkBooleanMacro(PointMode,
int);
00094
00095
protected:
00096 vtkExtentSplitter();
00097 ~vtkExtentSplitter();
00098
00099
00100
void SplitExtent(
int* extent,
int* subextent);
00101
int IntersectExtents(
const int* extent1,
const int* extent2,
int* result);
00102
int Min(
int a,
int b);
00103
int Max(
int a,
int b);
00104
00105
00106 vtkExtentSplitterInternals* Internal;
00107
00108
00109
00110
00111 int PointMode;
00112
00113
private:
00114 vtkExtentSplitter(
const vtkExtentSplitter&);
00115
void operator=(
const vtkExtentSplitter&);
00116 };
00117
00118
#endif