Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkAMRStreamingPriorityQueue Class Reference

implements a coverage based priority queue for vtkOverlappingAMR dataset. More...

#include <vtkAMRStreamingPriorityQueue.h>

Inheritance diagram for vtkAMRStreamingPriorityQueue:
Inheritance graph
[legend]
Collaboration diagram for vtkAMRStreamingPriorityQueue:
Collaboration graph
[legend]

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
 
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 vtkMultiProcessControllerGetController ()
 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...
 
- 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)
 
vtkCommandGetCommand (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)
 
vtkCommandGetCommand (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 vtkAMRStreamingPriorityQueueNew ()
 
static int IsTypeOf (const char *type)
 
static vtkAMRStreamingPriorityQueueSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 
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 vtkObjectBaseNew ()
 
static vtkObjectBaseNew ()
 

Protected Member Functions

 vtkAMRStreamingPriorityQueue ()
 
 ~vtkAMRStreamingPriorityQueue () override
 
- 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

vtkMultiProcessControllerController
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

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.

Member Typedef Documentation

◆ Superclass

Definition at line 44 of file vtkAMRStreamingPriorityQueue.h.

Constructor & Destructor Documentation

◆ vtkAMRStreamingPriorityQueue()

vtkAMRStreamingPriorityQueue::vtkAMRStreamingPriorityQueue ( )
protected

◆ ~vtkAMRStreamingPriorityQueue()

vtkAMRStreamingPriorityQueue::~vtkAMRStreamingPriorityQueue ( )
overrideprotected

Member Function Documentation

◆ New()

static vtkAMRStreamingPriorityQueue* vtkAMRStreamingPriorityQueue::New ( )
static

◆ 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

Reimplemented from vtkObjectBase.

◆ SafeDownCast()

static vtkAMRStreamingPriorityQueue* vtkAMRStreamingPriorityQueue::SafeDownCast ( vtkObject o)
static

◆ PrintSelf()

void vtkAMRStreamingPriorityQueue::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Reimplemented from vtkObject.

◆ 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.

Member Data Documentation

◆ Controller

vtkMultiProcessController* vtkAMRStreamingPriorityQueue::Controller
protected

Definition at line 97 of file vtkAMRStreamingPriorityQueue.h.


The documentation for this class was generated from the following file: