Go to the documentation of this file.
63 #ifndef vtkHardwareSelector_h
64 #define vtkHardwareSelector_h
152 {
return this->GetPixelInformation(display_position, 0); }
154 {
unsigned int temp[2];
return this->GetPixelInformation(display_position, maxDist, temp); }
156 int maxDist,
unsigned int selected_position[2]);
158 { this->ReleasePixBuffers(); }
209 {
return GenerateSelection(this->Area); }
211 {
return GenerateSelection(
r[0],
r[1],
r[2],
r[3]); }
213 unsigned int x1,
unsigned int y1,
214 unsigned int x2,
unsigned int y2);
239 MAX_KNOWN_PASS = ID_HIGH16,
240 MIN_KNOWN_PASS = PROCESS_PASS
245 tcoord[0] =
static_cast<float>((
id & 0xff)/255.0);
246 tcoord[1] =
static_cast<float>(((
id & 0xff00) >> 8)/255.0);
247 tcoord[2] =
static_cast<float>(((
id & 0xff0000) >> 16)/255.0);
266 unsigned char rgb[3];
281 int Convert(
unsigned int pos[2],
unsigned char* pb)
282 {
return this->Convert(pos[0], pos[1], pb); }
283 int Convert(
int xx,
int yy,
unsigned char* pb)
289 int offset = (yy *
static_cast<int>(this->Area[2]-this->Area[0]+1) + xx) * 3;
290 unsigned char rgb[3];
339 unsigned int Area[4];
346 unsigned char* PixBuffer[10];
351 float PropColorValue[3];
358 vtkInternals* Internals;
#define vtkGetObjectMacro(name, type)
vtkProp * GetPropFromID(int id)
bool IsPropHit(int propid)
int Convert(unsigned long offset, unsigned char *pb)
GLuint GLuint GLsizei count
int Convert(unsigned int pos[2], unsigned char *pb)
#define vtkSetVector3Macro(name, type)
static vtkHardwareSelector * New()
#define vtkTypeMacro(thisClass, superclass)
abstract base class for most VTK objects
virtual void RenderCompositeIndex(unsigned int index)
virtual bool PassRequired(int pass)
virtual int GetPropID(int idx, vtkProp *vtkNotUsed(prop))
virtual vtkSelection * GenerateSelection(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2)
A node in a selection tree. Used to store selection results.
virtual vtkSelection * GenerateSelection()
virtual bool CaptureBuffers()
virtual void EndRenderProp()
virtual void BeginRenderProp()
#define vtkGetVector3Macro(name, type)
PixelInformation GetPixelInformation(const unsigned int display_position[2])
void BuildPropHitList(unsigned char *rgbData)
void PrintSelf(ostream &os, vtkIndent indent)
virtual vtkSelection * GeneratePolygonSelection(int *polygonPoints, vtkIdType count)
manager for OpenGL-based selection.
PixelInformation GetPixelInformation(const unsigned int display_position[2], int maxDist, unsigned int selected_position[2])
a simple class to control print indentation
abstracts an OpenGL texture object.
virtual vtkSelection * GenerateSelection(unsigned int r[4])
virtual void EndRenderProp(vtkRenderWindow *)=0
vtkIdType GetID(int low24, int mid24, int high16)
#define vtkGetMacro(name, type)
int Render(vtkRenderer *renderer, vtkProp **propArray, int propArrayCount)
static void Convert(int id, float tcoord[3])
vtkSetMacro(IgnoreDriverBugs, bool)
abstract superclass for all actors, volumes and annotations
#define vtkSetVector4Macro(name, type)
int Convert(int xx, int yy, unsigned char *pb)
virtual void SavePixelBuffer(int passNo)
GLdouble GLdouble GLdouble r
virtual void SetRenderer(vtkRenderer *)
abstract specification for renderers
virtual void RenderAttributeId(vtkIdType attribid)
bool UseProcessIdFromData
#define VTKRENDERINGCORE_EXPORT
create a window for renderers to draw into
virtual void BeginRenderProp(vtkRenderWindow *)=0
#define vtkGetVector4Macro(name, type)
virtual void RenderProcessId(unsigned int processid)
virtual void EndSelection()
PixelInformation GetPixelInformation(const unsigned int display_position[2], int maxDist)
virtual void BeginSelection()