implements a coverage based priority queue for vtkOverlappingAMR dataset.
More...
#include <vtkAMRStreamingPriorityQueue.h>
Inherits vtkObject.
|
virtual const char * | GetClassName () |
|
virtual int | IsA (const char *type) |
|
void | PrintSelf (ostream &os, vtkIndent indent) |
|
void | Initialize (vtkAMRInformation *amr) |
| Initializes the queue. More...
|
|
void | Reinitialize () |
| Re-initializes the priority queue using the amr structure given to the most recent call to Initialize(). More...
|
|
bool | IsEmpty () |
| Returns if the queue is empty. More...
|
|
unsigned int | Pop () |
| Pops and returns of composite id for the block at the top of the queue. More...
|
|
|
void | SetController (vtkMultiProcessController *) |
| If the controller is specified, the queue can be used in parallel. More...
|
|
virtual vtkMultiProcessController * | GetController () |
| If the controller is specified, the queue can be used in parallel. More...
|
|
|
void | Update (const double view_planes[24], const double clamp_bounds[6]) |
| Updates the priorities of blocks based on the new view frustum planes. More...
|
|
void | Update (const double view_planes[24]) |
| Updates the priorities of blocks based on the new view frustum planes. More...
|
|
implements a coverage based priority queue for vtkOverlappingAMR dataset.
vtkAMRStreamingPriorityQueue is used by representations supporting streaming of AMR datasets to determine the priorities for blocks in the dataset. This class relies on the bounds information provided by the AMR meta-data i.e. vtkAMRInformation. This class support view-based priority computation. Simply provide the view planes (returned by vtkCamera::GetFrustumPlanes()) to the vtkAMRStreamingPriorityQueue::Update() call to update the prorities for the blocks currently in the queue.
- See also
- vtkAMROutlineRepresentation, vtkAMRStreamingVolumeRepresentation.
Definition at line 40 of file vtkAMRStreamingPriorityQueue.h.
◆ Superclass
◆ vtkAMRStreamingPriorityQueue()
vtkAMRStreamingPriorityQueue::vtkAMRStreamingPriorityQueue |
( |
| ) |
|
|
protected |
◆ ~vtkAMRStreamingPriorityQueue()
vtkAMRStreamingPriorityQueue::~vtkAMRStreamingPriorityQueue |
( |
| ) |
|
|
protected |
◆ New()
◆ GetClassName()
virtual const char* vtkAMRStreamingPriorityQueue::GetClassName |
( |
| ) |
|
|
virtual |
◆ IsTypeOf()
static int vtkAMRStreamingPriorityQueue::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
◆ IsA()
virtual int vtkAMRStreamingPriorityQueue::IsA |
( |
const char * |
type | ) |
|
|
virtual |
◆ SafeDownCast()
◆ PrintSelf()
void vtkAMRStreamingPriorityQueue::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
◆ SetController()
void vtkAMRStreamingPriorityQueue::SetController |
( |
vtkMultiProcessController * |
| ) |
|
If the controller is specified, the queue can be used in parallel.
So long as Initialize(), Update() and Pop() methods are called on all processes (need not be synchronized) and all process get the same amr tree and view_planes (which is generally true with ParaView), the blocks are distributed among the processes. By default, this is set to the vtkMultiProcessController::GetGlobalController();
◆ GetController()
virtual vtkMultiProcessController* vtkAMRStreamingPriorityQueue::GetController |
( |
| ) |
|
|
virtual |
If the controller is specified, the queue can be used in parallel.
So long as Initialize(), Update() and Pop() methods are called on all processes (need not be synchronized) and all process get the same amr tree and view_planes (which is generally true with ParaView), the blocks are distributed among the processes. By default, this is set to the vtkMultiProcessController::GetGlobalController();
◆ Initialize()
void vtkAMRStreamingPriorityQueue::Initialize |
( |
vtkAMRInformation * |
amr | ) |
|
Initializes the queue.
All information about items in the is lost.
◆ Reinitialize()
void vtkAMRStreamingPriorityQueue::Reinitialize |
( |
| ) |
|
Re-initializes the priority queue using the amr structure given to the most recent call to Initialize().
◆ Update() [1/2]
void vtkAMRStreamingPriorityQueue::Update |
( |
const double |
view_planes[24], |
|
|
const double |
clamp_bounds[6] |
|
) |
| |
Updates the priorities of blocks based on the new view frustum planes.
Information about blocks "popped" from the queue is preserved and those blocks are not reinserted in the queue.
◆ Update() [2/2]
void vtkAMRStreamingPriorityQueue::Update |
( |
const double |
view_planes[24] | ) |
|
Updates the priorities of blocks based on the new view frustum planes.
Information about blocks "popped" from the queue is preserved and those blocks are not reinserted in the queue.
◆ IsEmpty()
bool vtkAMRStreamingPriorityQueue::IsEmpty |
( |
| ) |
|
Returns if the queue is empty.
◆ Pop()
unsigned int vtkAMRStreamingPriorityQueue::Pop |
( |
| ) |
|
Pops and returns of composite id for the block at the top of the queue.
Test if the queue is empty before calling this method.
◆ Controller
vtkMultiProcessController* vtkAMRStreamingPriorityQueue::Controller |
|
protected |
The documentation for this class was generated from the following file: