mirror of
https://github.com/OpenFOAM/ThirdParty-6.git
synced 2025-12-08 06:57:43 +00:00
124 lines
4.2 KiB
C++
124 lines
4.2 KiB
C++
/*=========================================================================
|
|
|
|
Program: ParaView
|
|
Module: vtkSIUnstructuredGridVolumeRepresentationProxy.cxx
|
|
|
|
Copyright (c) Kitware, Inc.
|
|
All rights reserved.
|
|
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notice for more information.
|
|
|
|
=========================================================================*/
|
|
#include "vtkSIUnstructuredGridVolumeRepresentationProxy.h"
|
|
|
|
#include "vtkClientServerInterpreter.h"
|
|
#include "vtkClientServerStream.h"
|
|
#include "vtkObjectFactory.h"
|
|
|
|
|
|
vtkStandardNewMacro(vtkSIUnstructuredGridVolumeRepresentationProxy);
|
|
//----------------------------------------------------------------------------
|
|
vtkSIUnstructuredGridVolumeRepresentationProxy::vtkSIUnstructuredGridVolumeRepresentationProxy()
|
|
{
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
vtkSIUnstructuredGridVolumeRepresentationProxy::~vtkSIUnstructuredGridVolumeRepresentationProxy()
|
|
{
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
void vtkSIUnstructuredGridVolumeRepresentationProxy::OnCreateVTKObjects()
|
|
{
|
|
this->Superclass::OnCreateVTKObjects();
|
|
|
|
vtkObjectBase* self = this->GetVTKObject();
|
|
vtkClientServerStream stream;
|
|
stream << vtkClientServerStream::Invoke
|
|
<< self
|
|
<< "AddVolumeMapper"
|
|
<< "Projected tetra"
|
|
<< this->GetSubSIProxy("VolumePTMapper")->GetVTKObject()
|
|
<< vtkClientServerStream::End;
|
|
#ifndef VTKGL2
|
|
stream << vtkClientServerStream::Invoke
|
|
<< self
|
|
<< "AddVolumeMapper"
|
|
<< "HAVS"
|
|
<< this->GetSubSIProxy("VolumeHAVSMapper")->GetVTKObject()
|
|
<< vtkClientServerStream::End;
|
|
#endif
|
|
stream << vtkClientServerStream::Invoke
|
|
<< self
|
|
<< "AddVolumeMapper"
|
|
<< "Z sweep"
|
|
<< this->GetSubSIProxy("VolumeZSweepMapper")->GetVTKObject()
|
|
<< vtkClientServerStream::End;
|
|
stream << vtkClientServerStream::Invoke
|
|
<< self
|
|
<< "AddVolumeMapper"
|
|
<< "Bunyk ray cast"
|
|
<< this->GetSubSIProxy("VolumeBunykMapper")->GetVTKObject()
|
|
<< vtkClientServerStream::End;
|
|
this->Interpreter->ProcessStream(stream);
|
|
}
|
|
|
|
#ifdef FIXME_COLLABORATION
|
|
// This FIXME is from view-restructuring days.
|
|
//-----------------------------------------------------------------------------
|
|
void vtkSIUnstructuredGridVolumeRepresentationProxy::UpdateRenderViewExtensions(
|
|
vtkSIViewProxy* view)
|
|
{
|
|
#ifndef VTKGL2
|
|
vtkSIRenderViewProxy* rvp = vtkSIRenderViewProxy::SafeDownCast(view);
|
|
if (!rvp)
|
|
{
|
|
return;
|
|
}
|
|
vtkPVOpenGLExtensionsInformation* glinfo =
|
|
rvp->GetOpenGLExtensionsInformation();
|
|
if (glinfo)
|
|
{
|
|
// These are extensions needed for HAVS. It would be nice
|
|
// if these was some way of asking the HAVS mapper the extensions
|
|
// it needs rather than hardcoding it here.
|
|
int supports_GL_EXT_texture3D =
|
|
glinfo->ExtensionSupported( "GL_EXT_texture3D");
|
|
int supports_GL_EXT_framebuffer_object =
|
|
glinfo->ExtensionSupported( "GL_EXT_framebuffer_object");
|
|
int supports_GL_ARB_fragment_program =
|
|
glinfo->ExtensionSupported( "GL_ARB_fragment_program" );
|
|
int supports_GL_ARB_vertex_program =
|
|
glinfo->ExtensionSupported( "GL_ARB_vertex_program" );
|
|
int supports_GL_ARB_texture_float =
|
|
glinfo->ExtensionSupported( "GL_ARB_texture_float" );
|
|
int supports_GL_ATI_texture_float =
|
|
glinfo->ExtensionSupported( "GL_ATI_texture_float" );
|
|
|
|
if ( !supports_GL_EXT_texture3D ||
|
|
!supports_GL_EXT_framebuffer_object ||
|
|
!supports_GL_ARB_fragment_program ||
|
|
!supports_GL_ARB_vertex_program ||
|
|
!(supports_GL_ARB_texture_float || supports_GL_ATI_texture_float))
|
|
{
|
|
this->SupportsHAVSMapper = 0;
|
|
}
|
|
else
|
|
{
|
|
this->SupportsHAVSMapper = 1;
|
|
}
|
|
}
|
|
#endif
|
|
this->RenderViewExtensionsTested = 1;
|
|
}
|
|
#endif
|
|
|
|
//----------------------------------------------------------------------------
|
|
void vtkSIUnstructuredGridVolumeRepresentationProxy::PrintSelf(ostream& os, vtkIndent indent)
|
|
{
|
|
this->Superclass::PrintSelf(os, indent);
|
|
}
|