VTK
vtkAMRUtilities.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAMRUtilities.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  =========================================================================*/
31 #ifndef VTKAMRUTILITIES_H_
32 #define VTKAMRUTILITIES_H_
33 
34 #include "vtkCommonDataModelModule.h" // For export macro
35 #include "vtkObject.h"
36 #include <vector> // For C++ vector
37 
38 // Forward declarations
39 class vtkFieldData;
40 class vtkOverlappingAMR;
41 class vtkUniformGrid;
42 
44 {
45 public:
46  // Standard Routines
47  vtkTypeMacro(vtkAMRUtilities,vtkObject);
48  void PrintSelf(ostream& os, vtkIndent indent );
49 
51 
56  static void StripGhostLayers(
57  vtkOverlappingAMR *ghostedAMRData,
58  vtkOverlappingAMR *strippedAMRData);
60 
66  static bool HasPartiallyOverlappingGhostCells(vtkOverlappingAMR *amr);
67 
69  static void BlankCells(vtkOverlappingAMR* amr);
70 
71 protected:
74 
76 
78  static void CopyFieldsWithinRealExtent(
79  int realExtent[6],
80  vtkUniformGrid *ghostedGrid,
81  vtkUniformGrid *strippedGrid);
83 
85 
86  static void CopyFieldData(
87  vtkFieldData *target, vtkIdType targetIdx,
88  vtkFieldData *source, vtkIdType sourceIdx );
90 
92 
97  static vtkUniformGrid* StripGhostLayersFromGrid(
98  vtkUniformGrid* grid, int ghost[6]);
100 
101  static void BlankGridsAtLevel(vtkOverlappingAMR* amr, int levelIdx,
102  std::vector<std::vector<unsigned int> >& children,
103  const std::vector<int>& processMap);
104 private:
105  vtkAMRUtilities(const vtkAMRUtilities&); // Not implemented
106  void operator=(const vtkAMRUtilities&); // Not implemented
107 };
108 
109 #endif /* VTKAMRUTILITIES_H_ */
abstract base class for most VTK objects
Definition: vtkObject.h:61
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
int vtkIdType
Definition: vtkType.h:275
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
Definition: vtkIndent.h:38
image data with blanking
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
hierarchical dataset of vtkUniformGrids
#define VTKCOMMONDATAMODEL_EXPORT
represent and manipulate fields of data
Definition: vtkFieldData.h:55