HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RE_PickBuffer Class Reference

#include <RE_PickBuffer.h>

Public Member Functions

 RE_PickBuffer ()
 
 ~RE_PickBuffer ()
 
bool resize (RE_Render *r, int w, int h)
 
void invalidate ()
 
void startRender (RE_Render *r)
 
void drawToBuffer (RE_Render *r, RE_BufferAttachment buftype=RE_COLOR_BUFFER, int colorbufnum=0)
 
void drawToAllBuffers (RE_Render *r)
 
void endRender (RE_Render *r, UT_TokenString *&new_hash)
 
int getPicks (RE_Render *r, int x, int y, int pick_dist, RE_VertexArray *&high_array, RE_VertexArray *&low_array, RE_VertexArray *&z_array, const UT_IntArray **sample_counts_by_dist=nullptr, const UT_Array< int16 > **sample_offsets=nullptr)
 
int getPicks (RE_Render *r, const UT_DimRect &area, uint8 *texture, UT_Vector3iArray &pick_high, UT_Vector3iArray &pick_low)
 
const UT_SharedPtr< RE_Texture > & getPickHighTexture ()
 
const UT_SharedPtr< RE_Texture > & getPickLowTexture ()
 
const UT_SharedPtr< RE_Texture > & getZTexture ()
 
UT_Vector2i getPickSampleOffset (const UT_Array< int16 > *sample_offsets, exint sample_index) const
 
bool initialized () const
 
bool checkHash (const UT_TokenString *hash) const
 
void saveBuffers (RE_Render *r, const char *path, const char *prefix, bool mid_render) const
 

Protected Member Functions

int normalPickFetch (RE_Render *r, const UT_DimRect &area, uint8 *texture, UT_Vector3iArray &pick_high, UT_Vector3iArray &pick_low)
 
int slowPickFetch (RE_Render *r, const UT_DimRect &area, uint8 *texture, UT_Vector3iArray &pick_high, UT_Vector3iArray &pick_low)
 
RE_FBOStatus create (RE_Render *r, int w, int h)
 
void destroy ()
 

Protected Attributes

UT_SharedPtr< RE_OGLFramebuffermyBuffer
 
UT_SharedPtr< RE_TexturemyHighIdTexture
 
UT_SharedPtr< RE_TexturemyLowIdTexture
 
UT_SharedPtr< RE_TexturemyZTexture
 
UT_SharedPtr< RE_GeometrymySinglePickGeometry
 
UT_SharedPtr< re_BoxPickData > myBoxPickData
 
UT_TokenStringmyBufferHash
 
RE_GPUType myDepthFormat
 
int myBufferVecSize
 
int mySaveCount
 

Detailed Description

Definition at line 33 of file RE_PickBuffer.h.

Constructor & Destructor Documentation

RE_PickBuffer::RE_PickBuffer ( )
RE_PickBuffer::~RE_PickBuffer ( )

Member Function Documentation

bool RE_PickBuffer::checkHash ( const UT_TokenString hash) const
RE_FBOStatus RE_PickBuffer::create ( RE_Render r,
int  w,
int  h 
)
protected
void RE_PickBuffer::destroy ( )
protected
void RE_PickBuffer::drawToAllBuffers ( RE_Render r)
void RE_PickBuffer::drawToBuffer ( RE_Render r,
RE_BufferAttachment  buftype = RE_COLOR_BUFFER,
int  colorbufnum = 0 
)
void RE_PickBuffer::endRender ( RE_Render r,
UT_TokenString *&  new_hash 
)
const UT_SharedPtr<RE_Texture>& RE_PickBuffer::getPickHighTexture ( )
const UT_SharedPtr<RE_Texture>& RE_PickBuffer::getPickLowTexture ( )
int RE_PickBuffer::getPicks ( RE_Render r,
int  x,
int  y,
int  pick_dist,
RE_VertexArray *&  high_array,
RE_VertexArray *&  low_array,
RE_VertexArray *&  z_array,
const UT_IntArray **  sample_counts_by_dist = nullptr,
const UT_Array< int16 > **  sample_offsets = nullptr 
)
int RE_PickBuffer::getPicks ( RE_Render r,
const UT_DimRect area,
uint8 texture,
UT_Vector3iArray pick_high,
UT_Vector3iArray pick_low 
)
UT_Vector2i RE_PickBuffer::getPickSampleOffset ( const UT_Array< int16 > *  sample_offsets,
exint  sample_index 
) const
const UT_SharedPtr<RE_Texture>& RE_PickBuffer::getZTexture ( )
bool RE_PickBuffer::initialized ( ) const
void RE_PickBuffer::invalidate ( )
int RE_PickBuffer::normalPickFetch ( RE_Render r,
const UT_DimRect area,
uint8 texture,
UT_Vector3iArray pick_high,
UT_Vector3iArray pick_low 
)
protected
bool RE_PickBuffer::resize ( RE_Render r,
int  w,
int  h 
)
void RE_PickBuffer::saveBuffers ( RE_Render r,
const char *  path,
const char *  prefix,
bool  mid_render 
) const
int RE_PickBuffer::slowPickFetch ( RE_Render r,
const UT_DimRect area,
uint8 texture,
UT_Vector3iArray pick_high,
UT_Vector3iArray pick_low 
)
protected
void RE_PickBuffer::startRender ( RE_Render r)

Member Data Documentation

UT_SharedPtr<re_BoxPickData> RE_PickBuffer::myBoxPickData
protected

Definition at line 117 of file RE_PickBuffer.h.

UT_SharedPtr<RE_OGLFramebuffer> RE_PickBuffer::myBuffer
protected

Definition at line 112 of file RE_PickBuffer.h.

UT_TokenString* RE_PickBuffer::myBufferHash
protected

Definition at line 118 of file RE_PickBuffer.h.

int RE_PickBuffer::myBufferVecSize
protected

Definition at line 120 of file RE_PickBuffer.h.

RE_GPUType RE_PickBuffer::myDepthFormat
protected

Definition at line 119 of file RE_PickBuffer.h.

UT_SharedPtr<RE_Texture> RE_PickBuffer::myHighIdTexture
protected

Definition at line 113 of file RE_PickBuffer.h.

UT_SharedPtr<RE_Texture> RE_PickBuffer::myLowIdTexture
protected

Definition at line 114 of file RE_PickBuffer.h.

int RE_PickBuffer::mySaveCount
mutableprotected

Definition at line 121 of file RE_PickBuffer.h.

UT_SharedPtr<RE_Geometry> RE_PickBuffer::mySinglePickGeometry
protected

Definition at line 116 of file RE_PickBuffer.h.

UT_SharedPtr<RE_Texture> RE_PickBuffer::myZTexture
protected

Definition at line 115 of file RE_PickBuffer.h.


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