VTK
dox
Common
ExecutionModel
vtkExtentSplitter.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkExtentSplitter.h
5
6
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7
All rights reserved.
8
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10
This software is distributed WITHOUT ANY WARRANTY; without even
11
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the above copyright notice for more information.
13
14
=========================================================================*/
29
#ifndef vtkExtentSplitter_h
30
#define vtkExtentSplitter_h
31
32
#include "vtkCommonExecutionModelModule.h"
// For export macro
33
#include "
vtkObject.h
"
34
35
class
vtkExtentSplitterInternals;
36
37
class
VTKCOMMONEXECUTIONMODEL_EXPORT
vtkExtentSplitter
:
public
vtkObject
38
{
39
public
:
40
vtkTypeMacro(
vtkExtentSplitter
,
vtkObject
);
41
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
42
static
vtkExtentSplitter
*
New
();
43
45
50
void
AddExtentSource(
int
id
,
int
priority
,
int
x0,
int
x1,
51
int
y0,
int
y1,
int
z0,
int
z1);
52
void
AddExtentSource(
int
id
,
int
priority
,
int
*
extent
);
53
void
RemoveExtentSource(
int
id
);
54
void
RemoveAllExtentSources();
56
58
62
void
AddExtent(
int
x0,
int
x1,
int
y0,
int
y1,
int
z0,
int
z1);
63
void
AddExtent(
int
*
extent
);
65
72
int
ComputeSubExtents();
73
79
int
GetNumberOfSubExtents();
80
82
88
int
* GetSubExtent(
int
index
)
VTK_SIZEHINT
(6);
89
void
GetSubExtent(
int
index
,
int
*
extent
);
91
97
int
GetSubExtentSource(
int
index
);
98
100
107
vtkGetMacro(PointMode,
vtkTypeBool
);
108
vtkSetMacro(PointMode,
vtkTypeBool
);
109
vtkBooleanMacro(PointMode,
vtkTypeBool
);
111
112
protected
:
113
vtkExtentSplitter
();
114
~
vtkExtentSplitter
()
override
;
115
116
// Internal utility methods.
117
void
SplitExtent(
int
*
extent
,
int
* subextent);
118
int
IntersectExtents(
const
int
* extent1,
const
int
* extent2,
int
* result);
119
int
Min(
int
a,
int
b);
120
int
Max(
int
a,
int
b);
121
122
// Internal implementation data.
123
vtkExtentSplitterInternals*
Internal
;
124
125
// On if reading only all points (but not always all cells) is
126
// necessary. Used for reading volumes of planar slices storing
127
// only point data.
128
vtkTypeBool
PointMode
;
129
130
private
:
131
vtkExtentSplitter
(
const
vtkExtentSplitter
&) =
delete
;
132
void
operator=(
const
vtkExtentSplitter
&) =
delete
;
133
};
134
135
#endif
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkObject
abstract base class for most VTK objects
Definition:
vtkObject.h:59
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition:
vtkWrappingHints.h:42
vtkExtentSplitter::PointMode
vtkTypeBool PointMode
Definition:
vtkExtentSplitter.h:128
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:39
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkObject.h
vtkExtentSplitter
Split an extent across other extents.
Definition:
vtkExtentSplitter.h:37
vtkExtentSplitter::Internal
vtkExtentSplitterInternals * Internal
Definition:
vtkExtentSplitter.h:123
vtkX3D::extent
Definition:
vtkX3D.h:345
vtkX3D::index
Definition:
vtkX3D.h:246
vtkX3D::priority
Definition:
vtkX3D.h:450
vtkTypeBool
int vtkTypeBool
Definition:
vtkABI.h:69
Generated by
1.8.16