109 #ifndef vtkHardwareSelector_h 
  110 #define vtkHardwareSelector_h 
  113 #include "vtkRenderingCoreModule.h"  
  167   vtkSetVector4Macro(Area, 
unsigned int);
 
  168   vtkGetVector4Macro(Area, 
unsigned int);
 
  182   vtkSetMacro(FieldAssociation, 
int);
 
  183   vtkGetMacro(FieldAssociation, 
int);
 
  192   vtkSetMacro(UseProcessIdFromData, 
bool);
 
  193   vtkGetMacro(UseProcessIdFromData, 
bool);
 
  216   virtual bool CaptureBuffers();
 
  219     return this->GetPixelInformation(display_position, 0);
 
  223     unsigned int temp[2];
 
  224     return this->GetPixelInformation(display_position, maxDist, temp);
 
  226   PixelInformation GetPixelInformation(
 
  227     const unsigned int display_position[2], 
int maxDist, 
unsigned int selected_position[2]);
 
  238   virtual void RenderCompositeIndex(
unsigned int index);
 
  247   virtual void UpdateMaximumCellId(
vtkIdType attribid);
 
  248   virtual void UpdateMaximumPointId(
vtkIdType attribid);
 
  255   virtual void RenderProcessId(
unsigned int processid);
 
  268   vtkGetMacro(ActorPassOnly, 
bool);
 
  269   vtkSetMacro(ActorPassOnly, 
bool);
 
  279   vtkGetMacro(CaptureZValues, 
bool);
 
  280   vtkSetMacro(CaptureZValues, 
bool);
 
  287   virtual void BeginRenderProp();
 
  288   virtual void EndRenderProp();
 
  296   vtkSetMacro(ProcessID, 
int);
 
  297   vtkGetMacro(ProcessID, 
int);
 
  304   vtkGetVector3Macro(PropColorValue, 
float);
 
  305   vtkSetVector3Macro(PropColorValue, 
float);
 
  313   vtkGetMacro(CurrentPass, 
int);
 
  327     return GenerateSelection(r[0], r[1], r[2], r[3]);
 
  330     unsigned int x1, 
unsigned int y1, 
unsigned int x2, 
unsigned int y2);
 
  344   vtkProp* GetPropFromID(
int id);
 
  372     MAX_KNOWN_PASS = CELL_ID_HIGH24,
 
  373     MIN_KNOWN_PASS = ACTOR_PASS
 
  383     tcoord[0] = 
static_cast<float>((
id & 0xff) / 255.0);
 
  384     tcoord[1] = 
static_cast<float>(((
id & 0xff00) >> 8) / 255.0);
 
  385     tcoord[2] = 
static_cast<float>(((
id & 0xff0000) >> 16) / 255.0);
 
  390   virtual void SavePixelBuffer(
int passNo);
 
  405   double GetZValue(
int propid);
 
  414     unsigned char rgb[3];
 
  431   int Convert(
unsigned int pos[2], 
unsigned char* pb) { 
return this->
Convert(pos[0], pos[1], pb); }
 
  432   int Convert(
int xx, 
int yy, 
unsigned char* pb)
 
  438     int offset = (yy * 
static_cast<int>(this->Area[2] - this->Area[0] + 1) + xx) * 3;
 
  439     unsigned char rgb[3];
 
  467   virtual bool PassRequired(
int pass);
 
  474   bool IsPropHit(
int propid);
 
  481   virtual void BeginSelection();
 
  482   virtual void EndSelection();
 
  484   virtual void ProcessPixelBuffers();
 
  485   void BuildPropHitList(
unsigned char* rgbData);
 
  491   void ReleasePixBuffers();
 
  493   unsigned int Area[4];
 
  501   unsigned char* PixBuffer[10];
 
  502   unsigned char* RawPixBuffer[10];
 
  508   float PropColorValue[3];
 
  519   vtkInternals* Internals;