VTK
9.4.20250416
|
implements the device specific code of vtkWebGPUHardwareSelector. More...
#include <vtkWebGPUHardwareSelector.h>
Public Types | |
typedef vtkHardwareSelector | Superclass |
![]() | |
enum | PassTypes { ACTOR_PASS , COMPOSITE_INDEX_PASS , POINT_ID_LOW24 , POINT_ID_HIGH24 , PROCESS_PASS , CELL_ID_LOW24 , CELL_ID_HIGH24 , CELLGRID_CELL_TYPE_INDEX_PASS , CELLGRID_SOURCE_INDEX_PASS , CELLGRID_TUPLE_ID_LOW24 , CELLGRID_TUPLE_ID_HIGH24 , MAX_KNOWN_PASS = CELLGRID_TUPLE_ID_HIGH24 , MIN_KNOWN_PASS = ACTOR_PASS } |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
vtkWebGPUHardwareSelector * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
bool | CaptureBuffers () override |
The super class repeatedly renders the frame for different passes. | |
void | BeginRenderProp () override |
Called by the mapper before and after rendering each prop. | |
void | EndRenderProp () override |
Called by the mapper before and after rendering each prop. | |
void | RenderCompositeIndex (unsigned int) override |
Called by any vtkMapper or vtkProp subclass to render a composite-index. | |
void | RenderProcessId (unsigned int) override |
Called by any vtkMapper or subclass to render process id. | |
void | BeginSelection () override |
void | EndSelection () override |
vtkProp * | GetPropFromID (int id) override |
returns the prop associated with a ID. | |
PixelInformation | GetPixelInformation (const unsigned int inDisplayPosition[2], int maxDist, unsigned int outSelectedPosition[2]) override |
It is possible to use the vtkHardwareSelector for a custom picking. | |
![]() | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
vtkHardwareSelector * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
vtkSelection * | Select () |
Perform the selection. | |
virtual void | RenderCompositeIndex (unsigned int index) |
Called by any vtkMapper or vtkProp subclass to render a composite-index. | |
virtual void | RenderProcessId (unsigned int processid) |
Called by any vtkMapper or subclass to render process id. | |
int | Render (vtkRenderer *renderer, vtkProp **propArray, int propArrayCount) |
Called by vtkRenderer to render the selection pass. | |
virtual vtkSelection * | GenerateSelection () |
Generates the vtkSelection from pixel buffers. | |
virtual vtkSelection * | GenerateSelection (unsigned int r[4]) |
virtual vtkSelection * | GenerateSelection (unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2) |
virtual vtkSelection * | GeneratePolygonSelection (int *polygonPoints, vtkIdType count) |
Generates the vtkSelection from pixel buffers. | |
virtual vtkProp * | GetPropFromID (int id) |
returns the prop associated with a ID. | |
std::string | PassTypeToString (PassTypes type) |
Convert a PassTypes enum value to a human readable string. | |
virtual void | SavePixelBuffer (int passNo) |
bool | HasHighCellIds () |
bool | HasHighPointIds () |
bool | HasHighCellGridTupleIds () |
virtual void | SetRenderer (vtkRenderer *) |
Get/Set the renderer to perform the selection on. | |
virtual vtkRenderer * | GetRenderer () |
Get/Set the renderer to perform the selection on. | |
virtual void | SetArea (unsigned int, unsigned int, unsigned int, unsigned int) |
Get/Set the area to select as (xmin, ymin, xmax, ymax). | |
virtual void | SetArea (unsigned int[4]) |
Get/Set the area to select as (xmin, ymin, xmax, ymax). | |
virtual unsigned int * | GetArea () |
Get/Set the area to select as (xmin, ymin, xmax, ymax). | |
virtual void | GetArea (unsigned int &, unsigned int &, unsigned int &, unsigned int &) |
Get/Set the area to select as (xmin, ymin, xmax, ymax). | |
virtual void | GetArea (unsigned int[4]) |
Get/Set the area to select as (xmin, ymin, xmax, ymax). | |
virtual void | SetFieldAssociation (int) |
Set the field type to select. | |
virtual int | GetFieldAssociation () |
Set the field type to select. | |
virtual void | SetUseProcessIdFromData (bool) |
In some parallel rendering setups, the process id for elements must be obtained from the data itself, rather than the rendering process' id. | |
virtual bool | GetUseProcessIdFromData () |
In some parallel rendering setups, the process id for elements must be obtained from the data itself, rather than the rendering process' id. | |
PixelInformation | GetPixelInformation (const unsigned int display_position[2]) |
It is possible to use the vtkHardwareSelector for a custom picking. | |
PixelInformation | GetPixelInformation (const unsigned int display_position[2], int maxDist) |
It is possible to use the vtkHardwareSelector for a custom picking. | |
void | ClearBuffers () |
It is possible to use the vtkHardwareSelector for a custom picking. | |
unsigned char * | GetRawPixelBuffer (int passNo) |
It is possible to use the vtkHardwareSelector for a custom picking. | |
unsigned char * | GetPixelBuffer (int passNo) |
It is possible to use the vtkHardwareSelector for a custom picking. | |
virtual void | UpdateMaximumCellId (vtkIdType attribid) |
Called by any vtkMapper or vtkProp subclass to indicate the maximum cell or point attribute ID it uses. | |
virtual void | UpdateMaximumPointId (vtkIdType attribid) |
Called by any vtkMapper or vtkProp subclass to indicate the maximum cell or point attribute ID it uses. | |
virtual void | UpdateMaximumCellGridTupleId (vtkIdType attribid) |
Called by any vtkMapper or vtkProp subclass to indicate the maximum cell or point attribute ID it uses. | |
virtual bool | GetActorPassOnly () |
Get/Set to only do the actor pass. | |
virtual void | SetActorPassOnly (bool) |
Get/Set to only do the actor pass. | |
virtual bool | GetCaptureZValues () |
Get/Set to capture the zvalue. | |
virtual void | SetCaptureZValues (bool) |
Get/Set to capture the zvalue. | |
virtual void | SetProcessID (int) |
Get/Set the process id. | |
virtual int | GetProcessID () |
Get/Set the process id. | |
virtual float * | GetPropColorValue () |
Get/Set the color to be used by the prop when drawing. | |
virtual void | GetPropColorValue (float &, float &, float &) |
Get/Set the color to be used by the prop when drawing. | |
virtual void | GetPropColorValue (float[3]) |
Get/Set the color to be used by the prop when drawing. | |
virtual void | SetPropColorValue (float, float, float) |
Get/Set the color to be used by the prop when drawing. | |
virtual void | SetPropColorValue (float[3]) |
Get/Set the color to be used by the prop when drawing. | |
void | SetPropColorValue (vtkIdType val) |
Get/Set the color to be used by the prop when drawing. | |
virtual int | GetCurrentPass () |
Get the current pass number. | |
![]() | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. | |
virtual void | DebugOff () |
Turn debugging output off. | |
bool | GetDebug () |
Get the value of the debug flag. | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. | |
virtual void | Modified () |
Update the modification time for this object. | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
vtkTypeBool | InvokeEvent (unsigned long event) |
vtkTypeBool | InvokeEvent (const char *event) |
std::string | GetObjectDescription () const override |
The object description printed in messages and PrintSelf output. | |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. | |
vtkTypeBool | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
vtkTypeBool | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
virtual void | SetObjectName (const std::string &objectName) |
Set/get the name of this object for reporting purposes. | |
virtual std::string | GetObjectName () const |
Set/get the name of this object for reporting purposes. | |
![]() | |
const char * | GetClassName () const |
Return the class name as a string. | |
virtual std::string | GetObjectDescription () const |
The object description printed in messages and PrintSelf output. | |
virtual vtkTypeBool | IsA (const char *name) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
virtual void | Delete () |
Delete a VTK object. | |
virtual void | FastDelete () |
Delete a reference to this object. | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. | |
void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). | |
int | GetReferenceCount () |
Return the current reference count of this object. | |
void | SetReferenceCount (int) |
Sets the reference count. | |
bool | GetIsInMemkind () const |
A local state flag that remembers whether this object lives in the normal or extended memory space. | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
virtual bool | UsesGarbageCollector () const |
Indicate whether the class uses vtkGarbageCollector or not. | |
Static Public Member Functions | |
static vtkWebGPUHardwareSelector * | New () |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkWebGPUHardwareSelector * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static vtkHardwareSelector * | New () |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkHardwareSelector * | SafeDownCast (vtkObjectBase *o) |
static void | Convert (vtkIdType id, float tcoord[3]) |
![]() | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. | |
static void | SetGlobalWarningDisplay (vtkTypeBool val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static vtkTypeBool | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
![]() | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. | |
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | SetMemkindDirectory (const char *directoryname) |
The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. | |
static bool | GetUsingMemkind () |
A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkWebGPUHardwareSelector () | |
~vtkWebGPUHardwareSelector () override | |
void | PreCapturePass (int) override |
void | PostCapturePass (int) override |
void | BeginRenderProp (vtkRenderWindow *) override |
void | EndRenderProp (vtkRenderWindow *) override |
void | SavePixelBuffer (int) override |
void | ReleasePixBuffers () override |
Clears all pixel buffers. | |
int | Convert (int xx, int yy, unsigned char *pb) override |
pos must be relative to the lower-left corner of this->Area. | |
![]() | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkHardwareSelector () | |
~vtkHardwareSelector () override | |
virtual void | PreCapturePass (int pass) |
virtual void | PostCapturePass (int pass) |
virtual void | BeginRenderProp (vtkRenderWindow *)=0 |
virtual void | EndRenderProp (vtkRenderWindow *)=0 |
double | GetZValue (int propid) |
int | Convert (unsigned long offset, unsigned char *pb) |
vtkIdType | GetID (int low24, int mid24, int high16) |
virtual bool | PassRequired (int pass) |
Returns is the pass indicated is needed. | |
bool | IsPropHit (int propid) |
After the ACTOR_PASS this return true or false depending upon whether the prop was hit in the ACTOR_PASS. | |
virtual int | GetPropID (int idx, vtkProp *vtkNotUsed(prop)) |
Return a unique ID for the prop. | |
virtual void | BeginSelection () |
virtual void | EndSelection () |
virtual void | ProcessPixelBuffers () |
void | BuildPropHitList (unsigned char *rgbData) |
int | Convert (unsigned int pos[2], unsigned char *pb) |
pos must be relative to the lower-left corner of this->Area. | |
![]() | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. | |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | ReportReferences (vtkGarbageCollector *) |
virtual void | ObjectFinalize () |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Friends | |
class | vtkWebGPURenderWindow |
Additional Inherited Members | |
![]() | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
![]() | |
unsigned char * | PixBuffer [11] |
unsigned char * | RawPixBuffer [11] |
int | ProcessID |
int | CurrentPass |
int | Iteration |
int | InPropRender |
int | PropID |
float | PropColorValue [3] |
bool | ActorPassOnly |
bool | CaptureZValues |
vtkRenderer * | Renderer |
Clears all pixel buffers. | |
unsigned int | Area [4] |
Clears all pixel buffers. | |
int | FieldAssociation |
Clears all pixel buffers. | |
bool | UseProcessIdFromData |
Clears all pixel buffers. | |
vtkIdType | MaximumPointId |
Clears all pixel buffers. | |
vtkIdType | MaximumCellId |
Clears all pixel buffers. | |
vtkIdType | MaximumCellGridTupleId |
Clears all pixel buffers. | |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
std::string | ObjectName |
![]() | |
std::atomic< int32_t > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
implements the device specific code of vtkWebGPUHardwareSelector.
Implements the device specific code of vtkWebGPUHardwareSelector.
Definition at line 23 of file vtkWebGPUHardwareSelector.h.
Definition at line 27 of file vtkWebGPUHardwareSelector.h.
|
protected |
|
overrideprotected |
|
static |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class.
Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkHardwareSelector.
|
static |
|
protectedvirtual |
Reimplemented from vtkHardwareSelector.
vtkWebGPUHardwareSelector * vtkWebGPUHardwareSelector::NewInstance | ( | ) | const |
|
overridevirtual |
Methods invoked by print to print information about the object including superclasses.
Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkHardwareSelector.
|
overridevirtual |
The super class repeatedly renders the frame for different passes.
We do not wish to do that as it is quite expensive. This class leverages webgpu features to achieve selection within a single pass.
Reimplemented from vtkHardwareSelector.
|
inlineoverridevirtual |
Called by the mapper before and after rendering each prop.
Reimplemented from vtkHardwareSelector.
Definition at line 41 of file vtkWebGPUHardwareSelector.h.
|
inlineoverridevirtual |
Called by the mapper before and after rendering each prop.
Reimplemented from vtkHardwareSelector.
Definition at line 42 of file vtkWebGPUHardwareSelector.h.
|
inlineoverridevirtual |
Called by any vtkMapper or vtkProp subclass to render a composite-index.
Currently indices >= 0xffffff are not supported.
Reimplemented from vtkHardwareSelector.
Definition at line 48 of file vtkWebGPUHardwareSelector.h.
|
inlineoverridevirtual |
Called by any vtkMapper or subclass to render process id.
This has any effect when this->UseProcessIdFromData is true.
Reimplemented from vtkHardwareSelector.
Definition at line 54 of file vtkWebGPUHardwareSelector.h.
|
overridevirtual |
Reimplemented from vtkHardwareSelector.
|
overridevirtual |
Reimplemented from vtkHardwareSelector.
|
overridevirtual |
returns the prop associated with a ID.
This is valid only until ReleasePixBuffers() gets called.
Reimplemented from vtkHardwareSelector.
|
overridevirtual |
It is possible to use the vtkHardwareSelector for a custom picking.
(Look at vtkScenePicker). In that case instead of Select() on can use CaptureBuffers() to render the selection buffers and then get information about pixel locations using GetPixelInformation(). Use ClearBuffers() to clear buffers after one's done with the scene. The optional final parameter maxDist will look for a cell within the specified number of pixels from display_position. When using the overload with the optional selected_position
argument, selected_position is filled with the position for which the PixelInformation is being returned. This is useful when maxDist > 0 to determine which position's pixel information is was returned.
Reimplemented from vtkHardwareSelector.
|
inlineoverrideprotectedvirtual |
Reimplemented from vtkHardwareSelector.
Definition at line 73 of file vtkWebGPUHardwareSelector.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from vtkHardwareSelector.
Definition at line 74 of file vtkWebGPUHardwareSelector.h.
|
inlineoverrideprotectedvirtual |
Implements vtkHardwareSelector.
Definition at line 76 of file vtkWebGPUHardwareSelector.h.
|
inlineoverrideprotectedvirtual |
Implements vtkHardwareSelector.
Definition at line 77 of file vtkWebGPUHardwareSelector.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from vtkHardwareSelector.
Definition at line 79 of file vtkWebGPUHardwareSelector.h.
|
overrideprotectedvirtual |
Clears all pixel buffers.
Reimplemented from vtkHardwareSelector.
|
overrideprotectedvirtual |
pos
must be relative to the lower-left corner of this->Area.
Reimplemented from vtkHardwareSelector.
|
friend |
Definition at line 86 of file vtkWebGPUHardwareSelector.h.