 |
VTK
9.1.0
|
Go to the documentation of this file.
138 #ifndef vtkHardwareSelector_h
139 #define vtkHardwareSelector_h
142 #include "vtkRenderingCoreModule.h"
196 vtkSetVector4Macro(Area,
unsigned int);
197 vtkGetVector4Macro(Area,
unsigned int);
211 vtkSetMacro(FieldAssociation,
int);
212 vtkGetMacro(FieldAssociation,
int);
221 vtkSetMacro(UseProcessIdFromData,
bool);
222 vtkGetMacro(UseProcessIdFromData,
bool);
248 return this->GetPixelInformation(display_position, 0);
252 unsigned int temp[2];
253 return this->GetPixelInformation(display_position, maxDist, temp);
256 const unsigned int display_position[2],
int maxDist,
unsigned int selected_position[2]);
297 vtkGetMacro(ActorPassOnly,
bool);
298 vtkSetMacro(ActorPassOnly,
bool);
308 vtkGetMacro(CaptureZValues,
bool);
309 vtkSetMacro(CaptureZValues,
bool);
325 vtkSetMacro(ProcessID,
int);
326 vtkGetMacro(ProcessID,
int);
333 vtkGetVector3Macro(PropColorValue,
float);
334 vtkSetVector3Macro(PropColorValue,
float);
342 vtkGetMacro(CurrentPass,
int);
356 return GenerateSelection(r[0], r[1], r[2], r[3]);
359 unsigned int x1,
unsigned int y1,
unsigned int x2,
unsigned int y2);
401 MAX_KNOWN_PASS = CELL_ID_HIGH24,
402 MIN_KNOWN_PASS = ACTOR_PASS
412 tcoord[0] =
static_cast<float>((
id & 0xff) / 255.0);
413 tcoord[1] =
static_cast<float>(((
id & 0xff00) >> 8) / 255.0);
414 tcoord[2] =
static_cast<float>(((
id & 0xff0000) >> 16) / 255.0);
451 unsigned char rgb[3];
468 int Convert(
unsigned int pos[2],
unsigned char* pb) {
return this->
Convert(pos[0], pos[1], pb); }
469 int Convert(
int xx,
int yy,
unsigned char* pb)
475 int offset = (yy *
static_cast<int>(this->Area[2] - this->Area[0] + 1) + xx) * 3;
476 unsigned char rgb[3];
530 unsigned int Area[4];
538 unsigned char* PixBuffer[10];
539 unsigned char* RawPixBuffer[10];
545 float PropColorValue[3];
556 vtkInternals* Internals;
vtkProp * GetPropFromID(int id)
returns the prop associated with a ID.
bool IsPropHit(int propid)
After the ACTOR_PASS this return true or false depending upon whether the prop was hit in the ACTOR_P...
int Convert(unsigned long offset, unsigned char *pb)
int Convert(unsigned int pos[2], unsigned char *pb)
pos must be relative to the lower-left corner of this->Area.
vtkIdType MaximumCellId
Clears all pixel buffers.
unsigned char * GetPixelBuffer(int passNo)
It is possible to use the vtkHardwareSelector for a custom picking.
static vtkHardwareSelector * New()
virtual void ProcessPixelBuffers()
abstract base class for most VTK objects
virtual void RenderCompositeIndex(unsigned int index)
Called by any vtkMapper or vtkProp subclass to render a composite-index.
virtual bool PassRequired(int pass)
Returns is the pass indicated is needed.
virtual int GetPropID(int idx, vtkProp *vtkNotUsed(prop))
Return a unique ID for the prop.
virtual vtkSelection * GenerateSelection(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2)
data object that represents a "selection" in VTK.
virtual void UpdateMaximumPointId(vtkIdType attribid)
Called by any vtkMapper or vtkProp subclass to indicate the maximum cell or point attribute ID it use...
virtual vtkSelection * GenerateSelection()
Generates the vtkSelection from pixel buffers.
int FieldAssociation
Clears all pixel buffers.
virtual bool CaptureBuffers()
It is possible to use the vtkHardwareSelector for a custom picking.
virtual void EndRenderProp()
Called by the mapper before and after rendering each prop.
vtkSelection * Select()
Perform the selection.
virtual void BeginRenderProp()
Called by the mapper before and after rendering each prop.
std::string PassTypeToString(PassTypes type)
Convert a PassTypes enum value to a human readable string.
vtkIdType MaximumPointId
Clears all pixel buffers.
void ReleasePixBuffers()
Clears all pixel buffers.
vtkRenderer * Renderer
Clears all pixel buffers.
PixelInformation GetPixelInformation(const unsigned int display_position[2])
It is possible to use the vtkHardwareSelector for a custom picking.
void BuildPropHitList(unsigned char *rgbData)
virtual vtkSelection * GeneratePolygonSelection(int *polygonPoints, vtkIdType count)
Generates the vtkSelection from pixel buffers.
PixelInformation GetPixelInformation(const unsigned int display_position[2], int maxDist, unsigned int selected_position[2])
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 use...
a simple class to control print indentation
abstracts an OpenGL texture object.
virtual vtkSelection * GenerateSelection(unsigned int r[4])
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void EndRenderProp(vtkRenderWindow *)=0
double GetZValue(int propid)
vtkIdType GetID(int low24, int mid24, int high16)
int Render(vtkRenderer *renderer, vtkProp **propArray, int propArrayCount)
Called by vtkRenderer to render the selection pass.
virtual void PreCapturePass(int pass)
abstract superclass for all actors, volumes and annotations
int Convert(int xx, int yy, unsigned char *pb)
pos must be relative to the lower-left corner of this->Area.
void SetPropColorValue(vtkIdType val)
Get/Set the color to be used by the prop when drawing.
virtual void SavePixelBuffer(int passNo)
unsigned char * GetRawPixelBuffer(int passNo)
It is possible to use the vtkHardwareSelector for a custom picking.
virtual void SetRenderer(vtkRenderer *)
Get/Set the renderer to perform the selection on.
~vtkHardwareSelector() override
abstract specification for renderers
bool UseProcessIdFromData
Clears all pixel buffers.
create a window for renderers to draw into
static void Convert(vtkIdType id, float tcoord[3])
virtual void BeginRenderProp(vtkRenderWindow *)=0
void ClearBuffers()
It is possible to use the vtkHardwareSelector for a custom picking.
virtual void RenderProcessId(unsigned int processid)
Called by any vtkMapper or subclass to render process id.
virtual void EndSelection()
PixelInformation GetPixelInformation(const unsigned int display_position[2], int maxDist)
It is possible to use the vtkHardwareSelector for a custom picking.
virtual void PostCapturePass(int pass)
virtual void BeginSelection()