You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
5.5 KiB
146 lines
5.5 KiB
2 years ago
|
<HTML>
|
||
|
<header>
|
||
|
<title>VTK Adaptor Framework README</title>
|
||
|
<!-- Created by: will schroeder, 11-Aug-2004 -->
|
||
|
|
||
|
</header>
|
||
|
<body>
|
||
|
|
||
|
<h1>
|
||
|
<IMG ALIGN="middle" SRC=../vtkBanner.gif><br>
|
||
|
The VTK Adaptor Framework and Generic Filtering
|
||
|
</h1>
|
||
|
<UL>
|
||
|
<LI> <A HREF="#Overview">Overview</A>
|
||
|
<LI> <A HREF="#Compatibility">Compatibility Warning</A>
|
||
|
<LI> <A HREF="#Commercial">Commercial Expression</A>
|
||
|
<LI> <A HREF="#Acknowledgements">Acknowledgements</A>
|
||
|
</UL>
|
||
|
<HR>
|
||
|
<h1><A NAME="Overview">Overview</h1>
|
||
|
The classes in this directory are part of a body of work that support the
|
||
|
interface of VTK to external simulation packages. These external packages may
|
||
|
be finite element programs, CFD systems, or other simulation systems that are
|
||
|
based on discretizing a domain into elements, where the element (or in VTK
|
||
|
terminology, cell) basis functions are of arbitrary complexity. The purpose
|
||
|
of this work is to avoid duplicating data in order to visualize it with VTK,
|
||
|
and to take advantage of basis function formulations that are already
|
||
|
implemented in existing simulation packages. (For further details, please see
|
||
|
the paper "Framework for Visualizing Higher-Order Basis Functions" by
|
||
|
Schroeder, Bertel, Malaterre, Thompson, Pebay, O'Bara and Tendulkar, in the
|
||
|
<i>Proceedings of IEEE Visualization 2005</i>, October 2005.)
|
||
|
<p>
|
||
|
In the past, systems that interface with VTK typically require writing output
|
||
|
data in VTK format, or require writing a special VTK reader. Further, cells
|
||
|
of higher-order basis (e.g., cubic, quadric, or even mixed-order
|
||
|
formulations) had no counterpart in VTK, so the user was responsible for
|
||
|
tessellating the cells into linear forms, often at the cost of excessive
|
||
|
memory consumption or inaccuracy.
|
||
|
<p>
|
||
|
We refer to this work as the "adaptor framework". That is, it adapts VTK to a
|
||
|
particular simulation system. It does this by generalizing the VTK dataset,
|
||
|
cell, and attribute classes, and providing special filters that operate on
|
||
|
these new general classes. Further, because we assume that the cells may be
|
||
|
of arbitrary complexity in terms of their basis functions, tessellation
|
||
|
functions (with associated error metric) are used to automatically subdivide
|
||
|
complex cells into linear primitives. This allows the use of standard linear
|
||
|
visualization algorithms: algorithms that have been proven to be robust,
|
||
|
fast, and dependable.
|
||
|
<p>
|
||
|
The adaptor framework consists of a few basic components: new implementations
|
||
|
of data objects (vtkGenericDataSet and vtkGenericAdaptorCell), classes to
|
||
|
support the tessellation of cells (vtkGenericCellTessellator and
|
||
|
vtkGenericSubdivisionErrorMetric), and classes that filter the new data
|
||
|
objects (e.g., vtkGenericContourFilter).
|
||
|
<p>
|
||
|
Note that we choose to implement a select number of filters. One filter
|
||
|
simply performs tessellation on a vtkGenericDataSet to produce a linearized
|
||
|
vtkUnstructuredGrid (vtkGenericDataSetTessellator). The others are common
|
||
|
filters used in a wide variety of visualization applications:
|
||
|
<ul>
|
||
|
<li> vtkGenericDataSetTessellator </li>
|
||
|
<li> vtkGenericContourFilter </li>
|
||
|
<li> vtkGenericCutter </li>
|
||
|
<li> vtkGenericClip </li>
|
||
|
<li> vtkGenericProbeFilter </li>
|
||
|
<li> vtkGenericGlyph3DFilter </li>
|
||
|
<li> vtkGenericStreamTracer </li>
|
||
|
<li> vtkGenericGeometryFilter </li>
|
||
|
</ul>
|
||
|
|
||
|
At the same time that we were designing the adaptor framework, we also found
|
||
|
it necessary to rework the vtkDataSet/vtkCell/vtkDataArray API. We found that
|
||
|
the assumptions of contiguous data (manifested in the form of monotonically
|
||
|
increasing, contiguous, integral ids) to be overly limiting. Thus we moved
|
||
|
to an iterator-based framework.
|
||
|
|
||
|
It is possible that in time the vtkGenericDataSet may replace the current
|
||
|
vtkDataSet, and that the existing filters that input vtkDataSet may be
|
||
|
rewritten. However, this is a future undertaking.
|
||
|
|
||
|
<HR>
|
||
|
<h1><A NAME="Compatibility">Compatibility Warning</h1>
|
||
|
The classes in this directory (and the classes found in
|
||
|
VTK/Common/vtkGeneric*) are undergoing rapid development. The names of these
|
||
|
classes, and their API, may change. Please use them only if you are prepared
|
||
|
to deal with the inevitable changes that will occur over the next six
|
||
|
months.<p>
|
||
|
|
||
|
<HR>
|
||
|
<h1><A NAME="Commercial">Commercial Expression</h1>
|
||
|
Kitware
|
||
|
<a href="http://www.kitware.com">http://www.kitware.com</a>
|
||
|
is teaming with Simmetrix, Inc.
|
||
|
<a href="http://www.simmetrix.com">http://www.simmetrix.com</a>
|
||
|
to create commercial tools that integrate the VTK visualization
|
||
|
environment to Simmetrix's products, and to integrate Simmetrix's
|
||
|
integration framework into ParaView.
|
||
|
<p>
|
||
|
If you are interested in building an adapted framework to VTK from
|
||
|
your analysis/simulation package, please email sales "at" kitware.com
|
||
|
for more information.
|
||
|
|
||
|
<HR>
|
||
|
<h1><A NAME="Acknowledgements">Acknowledgements</h1>
|
||
|
This work has been supported through the efforts of several organizations
|
||
|
and individuals.
|
||
|
<p>
|
||
|
<b>The National Science Foundation</b>
|
||
|
<ul>
|
||
|
<li>NSF SBIR Phase II Grant #DMI-0238964<br>
|
||
|
Title:<i>Visualizing Arbitrary Basis Functions for Advanced Engineering
|
||
|
Analysis and Simulation</i><br>
|
||
|
PI: William J. Schroeder</li>
|
||
|
</ul>
|
||
|
<p>
|
||
|
<b>The US National Tri-Lab Community (Sandia, Livermore, Los Alamos)</b>
|
||
|
<ul>
|
||
|
<li>David Thompson</li>
|
||
|
<li> Philippe Pebay</li>
|
||
|
<li>Brian Wylie</li>
|
||
|
<li>Gary Templet</li>
|
||
|
<li>Jim Ahrens</li>
|
||
|
</ul>
|
||
|
<p>
|
||
|
<b>Kitware, Inc.</b>
|
||
|
<ul>
|
||
|
<li>Will Schroeder</li>
|
||
|
<li>Francois Bertel</li>
|
||
|
<li>Mathieu Malaterre</li>
|
||
|
</ul>
|
||
|
<p>
|
||
|
<b>Simmetrix, Inc.</b>
|
||
|
<ul>
|
||
|
<li>Bob O'Bara</li>
|
||
|
<li>Saurabh Tendulkar</li>
|
||
|
<li>Mark Beall</li>
|
||
|
</ul>
|
||
|
<b>LeHigh University.</b>
|
||
|
<ul>
|
||
|
<li>Dr. Herman Nied</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
</body>
|
||
|
</HTML>
|