?0> __text__TEXT"A__gcc_except_tab__TEXT$l__StaticInit__TEXTH8FH__bss__DATA0>__data__DATA@`xH__cstring__TEXT-'X__mod_init_func__DATA9=hI __compact_unwind__LD9=pI__eh_frame__TEXT;P?0J h2  8JO(O P7UH]Hf.UHH=H5Hg1uHH=H]fDUHSPHH=H5H1uHH=H5HHt H tH[]H=H[]f.@PDUHAVSH0HuHeHEЋFEHEHEH}ȃu\Hut^H]H=?HAtH=7Ht HLcHuL1H0[A^]ÐUHAWAVSH(HuHHED~D}HG]ԉ]؅yHHLw(HEMA)AuQHuH}t|}L}tYH=RLAtOH= 7Lt int C++: static vtkTypeBool IsTypeOf(const char *type) Return 1 if this class type 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. IsAV.IsA(string) -> int C++: vtkTypeBool IsA(const char *type) override; 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. SafeDownCastV.SafeDownCast(vtkObjectBase) -> vtkOpenGLRenderUtilities C++: static vtkOpenGLRenderUtilities *SafeDownCast( vtkObjectBase *o) NewInstanceV.NewInstance() -> vtkOpenGLRenderUtilities C++: vtkOpenGLRenderUtilities *NewInstance() RenderQuadV.RenderQuad([float, ...], [float, ...], vtkShaderProgram, vtkOpenGLVertexArrayObject) C++: static void RenderQuad(float *verts, float *tcoords, vtkShaderProgram *program, vtkOpenGLVertexArrayObject *vao) Helper function that draws a quad on the screen at the specified vertex coordinates and if tcoords are not NULL with the specified texture coordinates. GetFullScreenQuadVertexShaderV.GetFullScreenQuadVertexShader() -> string C++: static std::string GetFullScreenQuadVertexShader() Draw a full-screen quad: * VertexShader and GeometryShader should be used as-is when building the ShaderProgram. * FragmentShaderTemplate supports the replacements //VTK::FSQ::Decl and //VTK::FSQ::Impl for declaring variables and the shader body, respectively. * The varying texCoord is available to the fragment shader for texture lookups into full-screen textures, ie. texture2D(textureName, texCoord). * PrepFullScreenVAO initializes a new VAO for drawing a quad. * DrawFullScreenQuad actually draws the quad. * Example usage: * * typedef vtkOpenGLRenderUtilities GLUtil; * // Prep fragment shader source: * std::string fragShader = GLUtil::GetFullScreenQuadFragmentShaderTemplate(); * vtkShaderProgram::Substitute(fragShader, "//VTK::FSQ::Decl", * "uniform sampler2D aTexture;"); * vtkShaderProgram::Substitute(fragShader, "//VTK::FSQ::Impl", * "gl_FragData[0] = texture2D(aTexture, texCoord);"); * // Create shader program: * vtkShaderProgram *prog = shaderCache->ReadyShaderProgram( * GLUtil::GetFullScreenQuadVertexShader().c_str(), * fragShader.c_str(), * GLUtil::GetFullScreenQuadGeometryShader().c_str()); * // Initialize new VAO/vertex buffer. This is only done once: * vtkNewverts; * vtkNewvao; * GLUtil::PrepFullScreenVAO(verts.Get(), vao.Get(), prog); * // Setup shader program to sample vtkTextureObject aTexture: * aTexture->Activate(); * prog->SetUniformi("aTexture", aTexture->GetTextureUnit()); * // Render the full-screen quad: * vao->Bind(); * GLUtil::DrawFullScreenQuad(); * vao->Release(); * aTexture->Deactivate(); * GetFullScreenQuadFragmentShaderTemplateV.GetFullScreenQuadFragmentShaderTemplate() -> string C++: static std::string GetFullScreenQuadFragmentShaderTemplate() Draw a full-screen quad: * VertexShader and GeometryShader should be used as-is when building the ShaderProgram. * FragmentShaderTemplate supports the replacements //VTK::FSQ::Decl and //VTK::FSQ::Impl for declaring variables and the shader body, respectively. * The varying texCoord is available to the fragment shader for texture lookups into full-screen textures, ie. texture2D(textureName, texCoord). * PrepFullScreenVAO initializes a new VAO for drawing a quad. * DrawFullScreenQuad actually draws the quad. * Example usage: * * typedef vtkOpenGLRenderUtilities GLUtil; * // Prep fragment shader source: * std::string fragShader = GLUtil::GetFullScreenQuadFragmentShaderTemplate(); * vtkShaderProgram::Substitute(fragShader, "//VTK::FSQ::Decl", * "uniform sampler2D aTexture;"); * vtkShaderProgram::Substitute(fragShader, "//VTK::FSQ::Impl", * "gl_FragData[0] = texture2D(aTexture, texCoord);"); * // Create shader program: * vtkShaderProgram *prog = shaderCache->ReadyShaderProgram( * GLUtil::GetFullScreenQuadVertexShader().c_str(), * fragShader.c_str(), * GLUtil::GetFullScreenQuadGeometryShader().c_str()); * // Initialize new VAO/vertex buffer. This is only done once: * vtkNewverts; * vtkNewvao; * GLUtil::PrepFullScreenVAO(verts.Get(), vao.Get(), prog); * // Setup shader program to sample vtkTextureObject aTexture: * aTexture->Activate(); * prog->SetUniformi("aTexture", aTexture->GetTextureUnit()); * // Render the full-screen quad: * vao->Bind(); * GLUtil::DrawFullScreenQuad(); * vao->Release(); * aTexture->Deactivate(); * GetFullScreenQuadGeometryShaderV.GetFullScreenQuadGeometryShader() -> string C++: static std::string GetFullScreenQuadGeometryShader() Draw a full-screen quad: * VertexShader and GeometryShader should be used as-is when building the ShaderProgram. * FragmentShaderTemplate supports the replacements //VTK::FSQ::Decl and //VTK::FSQ::Impl for declaring variables and the shader body, respectively. * The varying texCoord is available to the fragment shader for texture lookups into full-screen textures, ie. texture2D(textureName, texCoord). * PrepFullScreenVAO initializes a new VAO for drawing a quad. * DrawFullScreenQuad actually draws the quad. * Example usage: * * typedef vtkOpenGLRenderUtilities GLUtil; * // Prep fragment shader source: * std::string fragShader = GLUtil::GetFullScreenQuadFragmentShaderTemplate(); * vtkShaderProgram::Substitute(fragShader, "//VTK::FSQ::Decl", * "uniform sampler2D aTexture;"); * vtkShaderProgram::Substitute(fragShader, "//VTK::FSQ::Impl", * "gl_FragData[0] = texture2D(aTexture, texCoord);"); * // Create shader program: * vtkShaderProgram *prog = shaderCache->ReadyShaderProgram( * GLUtil::GetFullScreenQuadVertexShader().c_str(), * fragShader.c_str(), * GLUtil::GetFullScreenQuadGeometryShader().c_str()); * // Initialize new VAO/vertex buffer. This is only done once: * vtkNewverts; * vtkNewvao; * GLUtil::PrepFullScreenVAO(verts.Get(), vao.Get(), prog); * // Setup shader program to sample vtkTextureObject aTexture: * aTexture->Activate(); * prog->SetUniformi("aTexture", aTexture->GetTextureUnit()); * // Render the full-screen quad: * vao->Bind(); * GLUtil::DrawFullScreenQuad(); * vao->Release(); * aTexture->Deactivate(); * PrepFullScreenVAOV.PrepFullScreenVAO(vtkOpenGLBufferObject, vtkOpenGLVertexArrayObject, vtkShaderProgram) -> bool C++: static bool PrepFullScreenVAO(vtkOpenGLBufferObject *verts, vtkOpenGLVertexArrayObject *vao, vtkShaderProgram *prog) Draw a full-screen quad: * VertexShader and GeometryShader should be used as-is when building the ShaderProgram. * FragmentShaderTemplate supports the replacements //VTK::FSQ::Decl and //VTK::FSQ::Impl for declaring variables and the shader body, respectively. * The varying texCoord is available to the fragment shader for texture lookups into full-screen textures, ie. texture2D(textureName, texCoord). * PrepFullScreenVAO initializes a new VAO for drawing a quad. * DrawFullScreenQuad actually draws the quad. * Example usage: * * typedef vtkOpenGLRenderUtilities GLUtil; * // Prep fragment shader source: * std::string fragShader = GLUtil::GetFullScreenQuadFragmentShaderTemplate(); * vtkShaderProgram::Substitute(fragShader, "//VTK::FSQ::Decl", * "uniform sampler2D aTexture;"); * vtkShaderProgram::Substitute(fragShader, "//VTK::FSQ::Impl", * "gl_FragData[0] = texture2D(aTexture, texCoord);"); * // Create shader program: * vtkShaderProgram *prog = shaderCache->ReadyShaderProgram( * GLUtil::GetFullScreenQuadVertexShader().c_str(), * fragShader.c_str(), * GLUtil::GetFullScreenQuadGeometryShader().c_str()); * // Initialize new VAO/vertex buffer. This is only done once: * vtkNewverts; * vtkNewvao; * GLUtil::PrepFullScreenVAO(verts.Get(), vao.Get(), prog); * // Setup shader program to sample vtkTextureObject aTexture: * aTexture->Activate(); * prog->SetUniformi("aTexture", aTexture->GetTextureUnit()); * // Render the full-screen quad: * vao->Bind(); * GLUtil::DrawFullScreenQuad(); * vao->Release(); * aTexture->Deactivate(); * DrawFullScreenQuadV.DrawFullScreenQuad() C++: static void DrawFullScreenQuad() Draw a full-screen quad: * VertexShader and GeometryShader should be used as-is when building the ShaderProgram. * FragmentShaderTemplate supports the replacements //VTK::FSQ::Decl and //VTK::FSQ::Impl for declaring variables and the shader body, respectively. * The varying texCoord is available to the fragment shader for texture lookups into full-screen textures, ie. texture2D(textureName, texCoord). * PrepFullScreenVAO initializes a new VAO for drawing a quad. * DrawFullScreenQuad actually draws the quad. * Example usage: * * typedef vtkOpenGLRenderUtilities GLUtil; * // Prep fragment shader source: * std::string fragShader = GLUtil::GetFullScreenQuadFragmentShaderTemplate(); * vtkShaderProgram::Substitute(fragShader, "//VTK::FSQ::Decl", * "uniform sampler2D aTexture;"); * vtkShaderProgram::Substitute(fragShader, "//VTK::FSQ::Impl", * "gl_FragData[0] = texture2D(aTexture, texCoord);"); * // Create shader program: * vtkShaderProgram *prog = shaderCache->ReadyShaderProgram( * GLUtil::GetFullScreenQuadVertexShader().c_str(), * fragShader.c_str(), * GLUtil::GetFullScreenQuadGeometryShader().c_str()); * // Initialize new VAO/vertex buffer. This is only done once: * vtkNewverts; * vtkNewvao; * GLUtil::PrepFullScreenVAO(verts.Get(), vao.Get(), prog); * // Setup shader program to sample vtkTextureObject aTexture: * aTexture->Activate(); * prog->SetUniformi("aTexture", aTexture->GetTextureUnit()); * // Render the full-screen quad: * vao->Bind(); * GLUtil::DrawFullScreenQuad(); * vao->Release(); * aTexture->Deactivate(); * vtkObjectvtkObjectBasevtkShaderProgramvtkOpenGLVertexArrayObjectvtkOpenGLBufferObjectA$ Jp!a!!XA4P aAT0 aAh aA| ! b!zRx $hJAC $DAC B$lAC G$AC I$xAC G$AC G$ HAC G$4bAC E$\AC CzPLRx ,$AC 4TAC P,AC I,XAC I,cAC I1=- C- 7-  7- - -{ B-g 8-Z J 8-= - 8-   2- I- I- - - #-Y -T E-I 7-$  2- I- I- - - #-y -t F-i 7-D  2- I- I- - - #- - D- 7-d D 2-< H- H- 1= - =- - =-l -B A- H-H-7-8-y8-la;-I;- :-6-:-6-l,-O(-C&-3>-&-7--9-s>-f-S7-9-% 8---7-w5-kN-cRN-J5<-9-7---5-~N-veN-]N<-"G-K-0--!-/-$-|d]!-XQJ/-B<$-5.'-3-uj_TI>3,%=*= )=zoha.=ZSHA:%=3, =%=-=+='=xqf_X"=MFJ->7=04-+J- L@=?- 8(    xh`XH@8( `XPM@80M MM`@ MMM $L8>?@  T N 4EP < T0 h ` |   0>1>pX 6XGRhr|}nB :[cO0Jn#s _PyType_Ready__GLOBAL__sub_I_vtkOpenGLRenderUtilitiesPython.cxx_PyvtkObject_ClassNew_PyvtkOpenGLRenderUtilities_ClassNew_PyVTKObject_New__Z38vtkRenderingOpenGL2_AutoInit_Constructv__Z37vtkRenderingOpenGL2_AutoInit_Destructv__ZSt9terminatev__ZdlPv__ZdaPv__ZN24vtkOpenGLRenderUtilities31GetFullScreenQuadGeometryShaderEv__ZN24vtkOpenGLRenderUtilities29GetFullScreenQuadVertexShaderEv__ZN24vtkOpenGLRenderUtilities39GetFullScreenQuadFragmentShaderTemplateEv__ZN24vtkOpenGLRenderUtilities18DrawFullScreenQuadEv__ZN28vtkRenderingOpenGL2_AutoInitD1Ev__ZN20vtkDebugLeaksManagerD1Ev__ZN20vtkDebugLeaksManagerC1Ev___cxa_atexit_PyVTKObject_GetSet__Py_NoneStruct__ZN24vtkOpenGLRenderUtilities10RenderQuadEPfS0_P16vtkShaderProgramP26vtkOpenGLVertexArrayObject_PyVTKObject_GetObject_PyVTKAddFile_vtkOpenGLRenderUtilities__ZL34PyvtkOpenGLRenderUtilities_Methods_PyObject_GenericSetAttr_PyObject_GenericGetAttr_PyVTKObject_Repr_PyVTKObject_AsBuffer_PyErr_Clear_strcmp__ZN24vtkOpenGLRenderUtilities17PrepFullScreenVAOEP21vtkOpenGLBufferObjectP26vtkOpenGLVertexArrayObjectP16vtkShaderProgram_PyObject_GC_Del__ZN13vtkPythonArgs5ArrayIfEC1El_PyVTKObject_Check__ZN13vtkPythonArgs13ArgCountErrorEii__ZN13vtkPythonArgs8GetArrayEPfi__ZN13vtkPythonArgs8SetArrayEiPKfi__ZN13vtkPythonArgs10GetArgSizeEi___cxa_begin_catch_PyBool_FromLong_PyLong_FromLong_PyDict_SetItemString_PyVTKObject_String_PyVTKObject_SetFlag_PyBytes_FromStringAndSize_PyUnicode_FromStringAndSize_PyVTKObject_Delete___clang_call_terminate_PyVTKObject_Traverse__ZN13vtkPythonUtil20GetObjectFromPointerEP13vtkObjectBase__ZL31PyvtkOpenGLRenderUtilities_Type_PyType_Type__Unwind_Resume___dso_handle__ZL28vtkDebugLeaksManagerInstance__ZL37vtkRenderingOpenGL2_AutoInit_Instance_PyErr_Occurred_PyVTKClass_Add__Py_Dealloc__ZN13vtkPythonArgs8GetValueERPc__ZN13vtkObjectBase8IsTypeOfEPKc__ZN13vtkPythonArgs17GetArgAsVTKObjectEPKcRb__ZN13vtkPythonArgs19GetSelfFromFirstArgEP7_objectS1___ZL39PyvtkOpenGLRenderUtilities_SafeDownCastP7_objectS0___ZL58PyvtkOpenGLRenderUtilities_GetFullScreenQuadGeometryShaderP7_objectS0___ZL56PyvtkOpenGLRenderUtilities_GetFullScreenQuadVertexShaderP7_objectS0___ZL35PyvtkOpenGLRenderUtilities_IsTypeOfP7_objectS0___ZL66PyvtkOpenGLRenderUtilities_GetFullScreenQuadFragmentShaderTemplateP7_objectS0___ZL38PyvtkOpenGLRenderUtilities_NewInstanceP7_objectS0___ZL37PyvtkOpenGLRenderUtilities_RenderQuadP7_objectS0___ZL45PyvtkOpenGLRenderUtilities_DrawFullScreenQuadP7_objectS0___ZL44PyvtkOpenGLRenderUtilities_PrepFullScreenVAOP7_objectS0___ZL30PyvtkOpenGLRenderUtilities_IsAP7_objectS0_GCC_except_table9GCC_except_table8GCC_except_table11___gxx_personality_v0GCC_except_table0GCC_except_table10