Tools for processing AMR as a dual grid. More...
#include <vtkAMRDualGridHelper.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) override |
int | Initialize (vtkNonOverlappingAMR *input) |
int | SetupData (vtkNonOverlappingAMR *input, const char *arrayName) |
const double * | GetGlobalOrigin () |
const double * | GetRootSpacing () |
int | GetNumberOfBlocks () |
int | GetNumberOfLevels () |
int | GetNumberOfBlocksInLevel (int level) |
vtkAMRDualGridHelperBlock * | GetBlock (int level, int blockIdx) |
vtkAMRDualGridHelperBlock * | GetBlock (int level, int xGrid, int yGrid, int zGrid) |
void | CopyDegenerateRegionBlockToBlock (int regionX, int regionY, int regionZ, vtkAMRDualGridHelperBlock *lowResBlock, vtkDataArray *lowResArray, vtkAMRDualGridHelperBlock *highResBlock, vtkDataArray *highResArray) |
I am generalizing the code that copies lowres blocks to highres ghost regions. More... | |
void | QueueRegionRemoteCopy (int regionX, int regionY, int regionZ, vtkAMRDualGridHelperBlock *lowResBlock, vtkDataArray *lowResArray, vtkAMRDualGridHelperBlock *highResBlock, vtkDataArray *highResArray) |
This queues up either a copy from a remote process to this process or a copy from this process to a remote process. More... | |
void | ProcessRegionRemoteCopyQueue (bool hackLevelFlag) |
This should be called on every process. More... | |
void | ClearRegionRemoteCopyQueue () |
Call this before adding regions to the queue. More... | |
virtual int | GetSkipGhostCopy () |
An option to turn off copying ghost values across process boundaries. More... | |
virtual void | SetSkipGhostCopy (int) |
An option to turn off copying ghost values across process boundaries. More... | |
virtual void | SkipGhostCopyOn () |
An option to turn off copying ghost values across process boundaries. More... | |
virtual void | SkipGhostCopyOff () |
An option to turn off copying ghost values across process boundaries. More... | |
virtual int | GetEnableDegenerateCells () |
Turn on/off the ability to create meshing between levels in the grid. More... | |
virtual void | SetEnableDegenerateCells (int) |
Turn on/off the ability to create meshing between levels in the grid. More... | |
virtual void | EnableDegenerateCellsOn () |
Turn on/off the ability to create meshing between levels in the grid. More... | |
virtual void | EnableDegenerateCellsOff () |
Turn on/off the ability to create meshing between levels in the grid. More... | |
virtual int | GetEnableAsynchronousCommunication () |
When this option is on (the default) and a controller that supports asynchronous communication (like MPI) is detected, use asynchronous communication where appropriate. More... | |
virtual void | SetEnableAsynchronousCommunication (int) |
When this option is on (the default) and a controller that supports asynchronous communication (like MPI) is detected, use asynchronous communication where appropriate. More... | |
virtual void | EnableAsynchronousCommunicationOn () |
When this option is on (the default) and a controller that supports asynchronous communication (like MPI) is detected, use asynchronous communication where appropriate. More... | |
virtual void | EnableAsynchronousCommunicationOff () |
When this option is on (the default) and a controller that supports asynchronous communication (like MPI) is detected, use asynchronous communication where appropriate. More... | |
virtual vtkMultiProcessController * | GetController () |
The controller to use for communication. More... | |
virtual void | SetController (vtkMultiProcessController *) |
The controller to use for communication. More... | |
virtual char * | GetArrayName () |
It is convenient to get this here. More... | |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual vtkMTimeType | GetMTime () |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
void | PrintRevisions (ostream &) |
Static Public Member Functions | |
static vtkAMRDualGridHelper * | New () |
static int | IsTypeOf (const char *type) |
static vtkAMRDualGridHelper * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
static vtkObjectBase * | New () |
Additional Inherited Members | |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
virtual | ~vtkObject () |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Tools for processing AMR as a dual grid.
This helper object was developed to help the AMR dual grid connectivity and integration filter but I also want a dual grid iso surface filter so I mad it a separate class. The API needs to be improved to make it more generally useful. This class will take advantage of some meta information, if available from a coprocessing adaptor. If not available, it will compute the information.
Definition at line 37 of file vtkAMRDualGridHelper.h.
Definition at line 41 of file vtkAMRDualGridHelper.h.
|
static |
|
virtual |
Reimplemented from vtkObjectBase.
|
static |
|
overridevirtual |
Reimplemented from vtkObject.
|
virtual |
An option to turn off copying ghost values across process boundaries.
If the ghost values are already correct, then the extra communication is not necessary. If this assumption is wrong, this option will produce cracks / seams. This is off by default.
|
virtual |
An option to turn off copying ghost values across process boundaries.
If the ghost values are already correct, then the extra communication is not necessary. If this assumption is wrong, this option will produce cracks / seams. This is off by default.
|
virtual |
An option to turn off copying ghost values across process boundaries.
If the ghost values are already correct, then the extra communication is not necessary. If this assumption is wrong, this option will produce cracks / seams. This is off by default.
|
virtual |
An option to turn off copying ghost values across process boundaries.
If the ghost values are already correct, then the extra communication is not necessary. If this assumption is wrong, this option will produce cracks / seams. This is off by default.
|
virtual |
Turn on/off the ability to create meshing between levels in the grid.
This is on by default. Set this before you call initialize.
|
virtual |
Turn on/off the ability to create meshing between levels in the grid.
This is on by default. Set this before you call initialize.
|
virtual |
Turn on/off the ability to create meshing between levels in the grid.
This is on by default. Set this before you call initialize.
|
virtual |
Turn on/off the ability to create meshing between levels in the grid.
This is on by default. Set this before you call initialize.
|
virtual |
When this option is on (the default) and a controller that supports asynchronous communication (like MPI) is detected, use asynchronous communication where appropriate.
This can prevent processes from blocking while waiting for communication in other processes to finish.
|
virtual |
When this option is on (the default) and a controller that supports asynchronous communication (like MPI) is detected, use asynchronous communication where appropriate.
This can prevent processes from blocking while waiting for communication in other processes to finish.
|
virtual |
When this option is on (the default) and a controller that supports asynchronous communication (like MPI) is detected, use asynchronous communication where appropriate.
This can prevent processes from blocking while waiting for communication in other processes to finish.
|
virtual |
When this option is on (the default) and a controller that supports asynchronous communication (like MPI) is detected, use asynchronous communication where appropriate.
This can prevent processes from blocking while waiting for communication in other processes to finish.
|
virtual |
The controller to use for communication.
|
virtual |
The controller to use for communication.
int vtkAMRDualGridHelper::Initialize | ( | vtkNonOverlappingAMR * | input | ) |
int vtkAMRDualGridHelper::SetupData | ( | vtkNonOverlappingAMR * | input, |
const char * | arrayName | ||
) |
Definition at line 88 of file vtkAMRDualGridHelper.h.
Definition at line 89 of file vtkAMRDualGridHelper.h.
|
inline |
Definition at line 90 of file vtkAMRDualGridHelper.h.
|
inline |
Definition at line 91 of file vtkAMRDualGridHelper.h.
vtkAMRDualGridHelperBlock* vtkAMRDualGridHelper::GetBlock | ( | int | level, |
int | blockIdx | ||
) |
vtkAMRDualGridHelperBlock* vtkAMRDualGridHelper::GetBlock | ( | int | level, |
int | xGrid, | ||
int | yGrid, | ||
int | zGrid | ||
) |
void vtkAMRDualGridHelper::CopyDegenerateRegionBlockToBlock | ( | int | regionX, |
int | regionY, | ||
int | regionZ, | ||
vtkAMRDualGridHelperBlock * | lowResBlock, | ||
vtkDataArray * | lowResArray, | ||
vtkAMRDualGridHelperBlock * | highResBlock, | ||
vtkDataArray * | highResArray | ||
) |
I am generalizing the code that copies lowres blocks to highres ghost regions.
I need to do this for the clip filter (level mask).
For transitions between levels, degeneracy works well to create and contour wedges and pyramids, but the volume fraction values in the high-level blocks ghost cells need to be the same as the closest cell in the low resolution block. These methods copy low values to high.
void vtkAMRDualGridHelper::QueueRegionRemoteCopy | ( | int | regionX, |
int | regionY, | ||
int | regionZ, | ||
vtkAMRDualGridHelperBlock * | lowResBlock, | ||
vtkDataArray * | lowResArray, | ||
vtkAMRDualGridHelperBlock * | highResBlock, | ||
vtkDataArray * | highResArray | ||
) |
This queues up either a copy from a remote process to this process or a copy from this process to a remote process.
Only the local block needs an array. LowRes block is the source.
void vtkAMRDualGridHelper::ProcessRegionRemoteCopyQueue | ( | bool | hackLevelFlag | ) |
This should be called on every process.
It processes the queue of region copies. It sends and copies the regions into blocks.
void vtkAMRDualGridHelper::ClearRegionRemoteCopyQueue | ( | ) |
Call this before adding regions to the queue.
It clears the queue.
|
virtual |
It is convenient to get this here.