VTK
dox
opt
build
vtk6-6.3.0+dfsg2
Filters
Geometry
vtkStructuredNeighbor.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkStructuredNeighbor.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
=========================================================================*/
24
#ifndef VTKSTRUCTUREDNEIGHBOR_H_
25
#define VTKSTRUCTUREDNEIGHBOR_H_
26
27
#include "
vtkFiltersGeometryModule.h
"
// For export macro
28
#include "
vtkObject.h
"
29
30
class
VTKFILTERSGEOMETRY_EXPORT
vtkStructuredNeighbor
31
{
32
public
:
33
34
// An enum that defines the neighboring orientation which is stored in a
35
// 3-tuple vtkStructuredNeighbor::Orientation. In each dimension, there
36
// is a high and low end, the orientation tuple defines how to grow ghost
37
// layers along each dimension.
38
enum
NeighborOrientation
39
{
40
SUBSET_LO = -2,
// The grid is a subset of the neighboring grid and the
41
// ghost layers are pointing away from the low end
42
LO = -1,
// The grid partially overlap with its neighbor on the
43
// low end, thus, ghost layers are pointing away from
44
// the low end
45
ONE_TO_ONE = 0,
// grids abut 1-to-1 in both HI and LO, the
46
// cardinality of both grids is the same in the
47
// corresponding dimension.
48
HI = 1,
// The grid partially overlaps with its neighbor on the
49
// high end, thus, ghost layers are pointing away from
50
// the high end
51
SUBSET_HI = 2,
// The grid is a subset of the neighboring grid and the
52
// ghost layers are pointing away from the high end
53
SUBSET_BOTH = 3,
// The grid is a subset of the neighboring grid and the
54
// ghost layers grow from both low and high ends.
55
SUPERSET = 4,
// grid is a superset of the neighboring grid in the
56
// given direction.
57
UNDEFINED = 5
// the neighboring relationship is undefined, e.g., if
58
// we are checking 2D data, the neighbor orientation
59
// in the 3rd dimension is undefined.
60
};
61
62
// Class Member Variables made public for easier access
63
int
NeighborID
;
// The registered ID of the neighboring grid
64
int
OverlapExtent[6];
// The extent at which the grids overlap
65
int
SendExtent[6];
// The extent that we send to this neighbor
66
int
RcvExtent[6];
// The extent that we receive from this neighbor
67
int
Orientation[3];
// Defines how we are neighboring with this grid, see
68
// NeighborOrientation enum above.
69
71
vtkStructuredNeighbor
();
72
75
vtkStructuredNeighbor
(
const
int
NeiID,
int
overlap[6] );
76
79
vtkStructuredNeighbor
(
const
int
NeiID,
int
overlap[6],
int
orient[3] );
80
82
vtkStructuredNeighbor
(
const
vtkStructuredNeighbor
&N ){ *
this
= N; };
83
85
virtual
~vtkStructuredNeighbor
();
86
87
89
90
vtkStructuredNeighbor
&
operator=
(
const
vtkStructuredNeighbor
&N )
91
{
92
if
(
this
!= &N )
93
{
94
this->Orientation[ 0 ] = N.
Orientation
[ 0 ];
95
this->Orientation[ 1 ] = N.
Orientation
[ 1 ];
96
this->Orientation[ 2 ] = N.
Orientation
[ 2 ];
97
this->NeighborID = N.
NeighborID
;
98
for
(
int
i=0; i < 6; ++i )
99
{
100
this->SendExtent[ i ] = N.
SendExtent
[ i ];
101
this->RcvExtent[ i ] = N.
RcvExtent
[ i ];
102
this->OverlapExtent[ i ] = N.
OverlapExtent
[ i ];
103
}
// END for
104
}
// END if
105
return
*
this
;
106
}
108
110
114
virtual
void
ComputeSendAndReceiveExtent
(
115
int
gridRealExtent[6],
int
gridGhostedExtent[6],
int
neiRealExtent[6],
116
int
WholeExtent[6],
const
int
N);
117
};
119
120
#endif
/* VTKSTRUCTUREDNEIGHBOR_H_ */
121
// VTK-HeaderTest-Exclude: vtkStructuredNeighbor.h
vtkStructuredNeighbor::vtkStructuredNeighbor
vtkStructuredNeighbor()
vtkStructuredNeighbor::ComputeSendAndReceiveExtent
virtual void ComputeSendAndReceiveExtent(int gridRealExtent[6], int gridGhostedExtent[6], int neiRealExtent[6], int WholeExtent[6], const int N)
vtkStructuredNeighbor::NeighborID
int NeighborID
Definition:
vtkStructuredNeighbor.h:63
vtkFiltersGeometryModule.h
vtkStructuredNeighbor::OverlapExtent
int OverlapExtent[6]
Definition:
vtkStructuredNeighbor.h:64
VTKFILTERSGEOMETRY_EXPORT
#define VTKFILTERSGEOMETRY_EXPORT
Definition:
vtkFiltersGeometryModule.h:15
vtkStructuredNeighbor::NeighborOrientation
NeighborOrientation
Definition:
vtkStructuredNeighbor.h:39
vtkStructuredNeighbor::vtkStructuredNeighbor
vtkStructuredNeighbor(const vtkStructuredNeighbor &N)
Definition:
vtkStructuredNeighbor.h:82
vtkStructuredNeighbor::RcvExtent
int RcvExtent[6]
Definition:
vtkStructuredNeighbor.h:66
vtkStructuredNeighbor::operator=
vtkStructuredNeighbor & operator=(const vtkStructuredNeighbor &N)
Definition:
vtkStructuredNeighbor.h:90
vtkStructuredNeighbor::vtkStructuredNeighbor
vtkStructuredNeighbor(const int NeiID, int overlap[6], int orient[3])
vtkStructuredNeighbor
Definition:
vtkStructuredNeighbor.h:31
vtkObject.h
vtkStructuredNeighbor::~vtkStructuredNeighbor
virtual ~vtkStructuredNeighbor()
vtkStructuredNeighbor::vtkStructuredNeighbor
vtkStructuredNeighbor(const int NeiID, int overlap[6])
vtkStructuredNeighbor::SendExtent
int SendExtent[6]
Definition:
vtkStructuredNeighbor.h:65
vtkStructuredNeighbor::Orientation
int Orientation[3]
Definition:
vtkStructuredNeighbor.h:67
Generated by
1.8.20