VTK
dox
Filters
Geometry
vtkStructuredAMRNeighbor.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkStructuredAMRNeighbor.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 vtkStructuredAMRNeighbor_h
30
#define vtkStructuredAMRNeighbor_h
31
32
#include "vtkFiltersGeometryModule.h"
// For export macro
33
#include "
vtkStructuredNeighbor.h
"
34
35
class
VTKFILTERSGEOMETRY_EXPORT
vtkStructuredAMRNeighbor
:
36
public
vtkStructuredNeighbor
37
{
38
public
:
39
40
// An enum that defines the neighbor relationship between the 2 grids.
41
enum
NeighborRelationship
42
{
43
PARENT
,
// Neighbor fully contains this grid
44
PARTIALLY_OVERLAPPING_PARENT
,
// Neighbor partially contains this grid
45
CHILD
,
// This grid fully contains the neighbor
46
PARTIALLY_OVERLAPPING_CHILD
,
// This grid partially contains the neighbor
47
SAME_LEVEL_SIBLING
,
// Grids are adjacent at the same level
48
COARSE_TO_FINE_SIBLING
,
// Grid is adjacent with a finer neighbor
49
FINE_TO_COARSE_SIBLING
,
// Grid is adjacent with a coarser neighbor
50
UNDEFINED
51
};
52
53
// NOTE: The OverlapExtent stores the overlap w.r.t. the neighboring grid
54
// Consequently, GridOverlapExtent stores the overlap extent w.r.t. this grid.
55
int
GridOverlapExtent[6];
// The overlap extent w.r.t. this grid
56
int
GridLevel
;
// The level of the grid that has this neighbor
57
int
NeighborLevel
;
// The level of the neighboring grid
58
int
RelationShip
;
// The relationship of the grid with this neighbor
59
63
vtkStructuredAMRNeighbor
();
64
71
vtkStructuredAMRNeighbor
(
72
const
int
gridLevel,
73
const
int
neiID,
const
int
neighborLevel,
74
int
gridOverlap[6],
int
neiOverlap[6],
75
int
orient[3],
76
const
int
relationShip);
77
81
vtkStructuredAMRNeighbor
(
const
vtkStructuredAMRNeighbor
&N) :
82
vtkStructuredNeighbor
(N) { *
this
= N; }
83
87
~vtkStructuredAMRNeighbor
()
override
{}
88
92
vtkStructuredAMRNeighbor
&
operator=
(
const
vtkStructuredAMRNeighbor
&N);
93
98
void
GetReceiveExtentOnGrid(
const
int
ng,
int
gridExtent[6],
int
ext[6]);
99
103
std::string
GetRelationShipString();
104
106
112
void
ComputeSendAndReceiveExtent
(
113
int
gridRealExtent[6],
int
gridGhostedExtent[6],
int
neiRealExtent[6],
114
int
WholeExtent[6],
const
int
N)
override
;
115
};
117
118
#endif
/* vtkStructuredAMRNeighbor_h */
119
// VTK-HeaderTest-Exclude: vtkStructuredAMRNeighbor.h
vtkStructuredAMRNeighbor::PARTIALLY_OVERLAPPING_CHILD
Definition:
vtkStructuredAMRNeighbor.h:46
vtkStructuredAMRNeighbor::CHILD
Definition:
vtkStructuredAMRNeighbor.h:45
vtkStructuredNeighbor::ComputeSendAndReceiveExtent
virtual void ComputeSendAndReceiveExtent(int gridRealExtent[6], int gridGhostedExtent[6], int neiRealExtent[6], int WholeExtent[6], const int N)
Computes the SendExtent and the RcvExtent for this neighbor.
vtkStructuredAMRNeighbor::RelationShip
int RelationShip
Definition:
vtkStructuredAMRNeighbor.h:58
vtkStructuredAMRNeighbor::COARSE_TO_FINE_SIBLING
Definition:
vtkStructuredAMRNeighbor.h:48
vtkStructuredAMRNeighbor::FINE_TO_COARSE_SIBLING
Definition:
vtkStructuredAMRNeighbor.h:49
vtkStructuredNeighbor.h
vtkStructuredAMRNeighbor::PARENT
Definition:
vtkStructuredAMRNeighbor.h:43
vtkStructuredAMRNeighbor::~vtkStructuredAMRNeighbor
~vtkStructuredAMRNeighbor() override
Destructor.
Definition:
vtkStructuredAMRNeighbor.h:87
vtkStructuredNeighbor::operator=
vtkStructuredNeighbor & operator=(const vtkStructuredNeighbor &N)
Overload assignment operator.
Definition:
vtkStructuredNeighbor.h:103
vtkStructuredAMRNeighbor::NeighborRelationship
NeighborRelationship
Definition:
vtkStructuredAMRNeighbor.h:41
vtkStructuredAMRNeighbor::SAME_LEVEL_SIBLING
Definition:
vtkStructuredAMRNeighbor.h:47
vtkStructuredAMRNeighbor::vtkStructuredAMRNeighbor
vtkStructuredAMRNeighbor(const vtkStructuredAMRNeighbor &N)
Copy constructor.
Definition:
vtkStructuredAMRNeighbor.h:81
vtkStructuredNeighbor
Definition:
vtkStructuredNeighbor.h:31
vtkStructuredAMRNeighbor::PARTIALLY_OVERLAPPING_PARENT
Definition:
vtkStructuredAMRNeighbor.h:44
vtkX3D::string
Definition:
vtkX3D.h:490
vtkStructuredAMRNeighbor
Definition:
vtkStructuredAMRNeighbor.h:35
vtkStructuredAMRNeighbor::NeighborLevel
int NeighborLevel
Definition:
vtkStructuredAMRNeighbor.h:57
vtkStructuredAMRNeighbor::GridLevel
int GridLevel
Definition:
vtkStructuredAMRNeighbor.h:56
Generated by
1.8.16