ELF>m@@'&AVAUATUSH@dH%(HD$81HHt$HD$HFHD$$D$ t9H|$1HT$8dH+%(H@[]A\A]A^fLt$Ll$LH5L|$HtLH5L|$ItLH5L|$HyLHH^SATUHhdH%(HD$X1HHt$HD$HFHD$$D$ t/H|$111HT$XdH+%(}Hh]A\H|$0IHl$01Mt"HT$@H9tHHD$HD$@Ld$8HLHt Hl$0@LHHff.fAWAVAUATU1SHdH%(H$1HL|$ Ht$ HD$(HFL1HD$4D$0H|$@4ÉD$HcLl$@tHcIlL4H|$`AHcLd$`1EtIcID$0+D$4tvLE1H|$`HtHD$hH9tH|$@HD$HH9t HtH$dH+%(HĘL[]A\A]A^A_T$LLtDLLsHT$H5L|$HD$OHT$H5L|$H-|$IUHH)HG1HfATTHH9u|$@tEADHDp9~'ADD9~ADDfDEIT$HH)HAF D1HA  HH9uDAt?AHpA9~"ADDA9~ ADDHT$LLHcT$1-fDHH9tAD.DztHIc1E&DHH9tA.ztHtHHmL%I$_D1AHH9u 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. V.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. V.SafeDownCast(vtkObjectBase) -> vtkOpenGLRenderUtilities C++: static vtkOpenGLRenderUtilities *SafeDownCast( vtkObjectBase *o) V.NewInstance() -> vtkOpenGLRenderUtilities C++: vtkOpenGLRenderUtilities *NewInstance() V.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. V.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(); * V.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(); * V.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(); * V.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(); * V.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(); * H|$0HD$@H9tHH|$`HtHD$hH9tH|$@HD$HH9t HtHH|$0HD$@H9tHH|$0HD$@H9tH J0zfV5 J0zf J0zfHHvtkObjectUH=Hu]ÐHH=tH]ATL%UH-HHH=LHH=LH5HHH]A\HDGCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0GNUzRx @FBB A(A0Dpe 0A(A BBBC zPLRx ,$FAD^ ABD TPpFBB B(A0C8G 8D0A(B BBBD :D XEDPa AE  HIH@W A <EY B W(EAD`j AAJ ,FAD^ ABD ,FAD^ ABD  0^FAA D`  AABH gFD@ EE HFA0 OFDD n ABA DDB(@dFHN DAB   ?  # :_  X V  rB ^r g`d)Kv {  ( C  T _ l z   (    HK!ah!" L"r""< $ D d t   7 I _ s P H     O    : X e         . A Q _ZL44PyvtkOpenGLRenderUtilities_PrepFullScreenVAOP7_objectS0__ZL66PyvtkOpenGLRenderUtilities_GetFullScreenQuadFragmentShaderTemplateP7_objectS0__ZL66PyvtkOpenGLRenderUtilities_GetFullScreenQuadFragmentShaderTemplateP7_objectS0_.cold_ZL37PyvtkOpenGLRenderUtilities_RenderQuadP7_objectS0__ZL37PyvtkOpenGLRenderUtilities_RenderQuadP7_objectS0_.cold_ZL39PyvtkOpenGLRenderUtilities_SafeDownCastP7_objectS0__ZL45PyvtkOpenGLRenderUtilities_DrawFullScreenQuadP7_objectS0__ZL35PyvtkOpenGLRenderUtilities_IsTypeOfP7_objectS0__ZL58PyvtkOpenGLRenderUtilities_GetFullScreenQuadGeometryShaderP7_objectS0__ZL58PyvtkOpenGLRenderUtilities_GetFullScreenQuadGeometryShaderP7_objectS0_.cold_ZL56PyvtkOpenGLRenderUtilities_GetFullScreenQuadVertexShaderP7_objectS0__ZL56PyvtkOpenGLRenderUtilities_GetFullScreenQuadVertexShaderP7_objectS0_.cold_ZL30PyvtkOpenGLRenderUtilities_IsAP7_objectS0__ZL38PyvtkOpenGLRenderUtilities_NewInstanceP7_objectS0__ZL31PyvtkOpenGLRenderUtilities_Type_ZL34PyvtkOpenGLRenderUtilities_Methods_GLOBAL__sub_I_vtkOpenGLRenderUtilitiesPython.cxx_ZL28vtkDebugLeaksManagerInstance_ZL37vtkRenderingOpenGL2_AutoInit_Instance.LC0.LC1.LC2.LC3.LC4.LC6.LC8.LC9.LC10.LC11.LC13.LC12.LC14.LC16.LC18.LC19.LC20_ZN28vtkRenderingOpenGL2_AutoInitD5Ev_ZN13vtkPythonArgs13ArgCountErrorEii_ZN13vtkPythonArgs17GetArgAsVTKObjectEPKcRb_ZN24vtkOpenGLRenderUtilities17PrepFullScreenVAOEP21vtkOpenGLBufferObjectP26vtkOpenGLVertexArrayObjectP16vtkShaderProgramPyErr_OccurredPyBool_FromLong__stack_chk_failDW.ref.__gxx_personality_v0_ZN24vtkOpenGLRenderUtilities39GetFullScreenQuadFragmentShaderTemplateB5cxx11Ev_ZdlPvPyUnicode_FromStringAndSizePyErr_ClearPyBytes_FromStringAndSize_Unwind_Resume_ZN13vtkPythonArgs10GetArgSizeEi_ZN13vtkPythonArgs5ArrayIfEC1El_ZdaPv_ZN13vtkPythonArgs8GetArrayEPfi_ZN24vtkOpenGLRenderUtilities10RenderQuadEPfS0_P16vtkShaderProgramP26vtkOpenGLVertexArrayObject_GLOBAL_OFFSET_TABLE__Py_NoneStruct_ZN13vtkPythonArgs8SetArrayEiPKfi_ZNK24vtkOpenGLRenderUtilities19NewInstanceInternalEv_ZN9vtkObject3NewEv_ZN13vtkPythonUtil20GetObjectFromPointerEP13vtkObjectBase_ZN28vtkRenderingOpenGL2_AutoInitD2Ev_Z37vtkRenderingOpenGL2_AutoInit_Destructv_ZN28vtkRenderingOpenGL2_AutoInitD1Ev_ZN24vtkOpenGLRenderUtilities18DrawFullScreenQuadEv_ZN24vtkOpenGLRenderUtilities3IsAEPKcstrcmp_ZN13vtkObjectBase8IsTypeOfEPKc_ZN13vtkPythonArgs8GetValueERPcPyLong_FromLong_ZN24vtkOpenGLRenderUtilities31GetFullScreenQuadGeometryShaderB5cxx11Ev_ZN24vtkOpenGLRenderUtilities29GetFullScreenQuadVertexShaderB5cxx11Ev_ZN13vtkPythonArgs19GetSelfFromFirstArgEP7_objectS1_PyVTKObject_CheckPyVTKObject_GetObjectPyVTKObject_SetFlagPyvtkOpenGLRenderUtilities_ClassNewPyVTKClass_AddPyvtkObject_ClassNewPyType_ReadyPyVTKAddFile_vtkOpenGLRenderUtilitiesPyDict_SetItemString_Py_Dealloc__dso_handle_ZN20vtkDebugLeaksManagerC1Ev_ZN20vtkDebugLeaksManagerD1Ev__cxa_atexit_Z38vtkRenderingOpenGL2_AutoInit_ConstructvPyType_TypePyVTKObject_DeletePyVTKObject_ReprPyVTKObject_StringPyObject_GenericGetAttrPyObject_GenericSetAttrPyVTKObject_AsBufferPyVTKObject_TraversePyVTKObject_GetSetPyVTKObject_NewPyObject_GC_Del#!W3"4#4$4567 8.%[3:6;<=>8=&gA}BAB3CCSDeDy$4#4E*6`6j6z*GHH8<'p3(4)6K68*E3aOf6r*G}8+3S-)5QC,HQQ6^TlRu8-3U6! ;< <Q =\ >c 8 . 3 V 6! ;< <Q =\ >c 8 / 31 WK Sn *Pw )| Q , Q 6 T R 8 0O 3y W *I J ) 6 K X Y Z$ 6C 8Y b )i  q \w  ]  ^ [ ) `1o Ro n a;@1CJCR@f;n@;@J M)Q&,+Q8R bc$*d/e4f;*NEJeQ1Xg0hXijklmno8p@q  ( 8(@_H X `h xT x ( (8 ? o9   $- *H \  2  64V= CP Y Kr X  P  D.symtab.strtab.shstrtab.rela.text.data.bss.rodata.str1.1.rodata.str1.8.rela.text.unlikely.gcc_except_table.rela.text._ZNK24vtkOpenGLRenderUtilities19NewInstanceInternalEv.rela.text._ZN28vtkRenderingOpenGL2_AutoInitD2Ev.rodata._ZN24vtkOpenGLRenderUtilities3IsAEPKc.str1.1.rela.text._ZN24vtkOpenGLRenderUtilities3IsAEPKc.rela.text.startup.rela.init_array.rela.data.rel.rela.data.rel.local.rela.data.rel.local.DW.ref.__gxx_personality_v0.comment.note.GNU-stack.note.gnu.property.rela.eh_frame.group@ $IL $2X $Pd $9 p @XU0 $&_,_12_@2@o&T5O@a$ c=6`z6 u@`b$6@xb$26 !6<@bx$R7dM@c$ex7`@d$v7 q@(d $ 9` @He$:@h$0:,:: :h@0h$"@> %3 Ha k