Viskores  1.0
ContourTreeUniform.h
Go to the documentation of this file.
1 //============================================================================
2 // The contents of this file are covered by the Viskores license. See
3 // LICENSE.txt for details.
4 //
5 // By contributing to this file, all contributors agree to the Developer
6 // Certificate of Origin Version 1.1 (DCO 1.1) as stated in DCO.txt.
7 //============================================================================
8 
9 //============================================================================
10 // Copyright (c) Kitware, Inc.
11 // All rights reserved.
12 // See LICENSE.txt for details.
13 //
14 // This software is distributed WITHOUT ANY WARRANTY; without even
15 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16 // PURPOSE. See the above copyright notice for more information.
17 //============================================================================
18 // Copyright (c) 2016, Los Alamos National Security, LLC
19 // All rights reserved.
20 //
21 // Copyright 2016. Los Alamos National Security, LLC.
22 // This software was produced under U.S. Government contract DE-AC52-06NA25396
23 // for Los Alamos National Laboratory (LANL), which is operated by
24 // Los Alamos National Security, LLC for the U.S. Department of Energy.
25 // The U.S. Government has rights to use, reproduce, and distribute this
26 // software. NEITHER THE GOVERNMENT NOR LOS ALAMOS NATIONAL SECURITY, LLC
27 // MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE
28 // USE OF THIS SOFTWARE. If software is modified to produce derivative works,
29 // such modified software should be clearly marked, so as not to confuse it
30 // with the version available from LANL.
31 //
32 // Additionally, redistribution and use in source and binary forms, with or
33 // without modification, are permitted provided that the following conditions
34 // are met:
35 //
36 // 1. Redistributions of source code must retain the above copyright notice,
37 // this list of conditions and the following disclaimer.
38 // 2. Redistributions in binary form must reproduce the above copyright notice,
39 // this list of conditions and the following disclaimer in the documentation
40 // and/or other materials provided with the distribution.
41 // 3. Neither the name of Los Alamos National Security, LLC, Los Alamos
42 // National Laboratory, LANL, the U.S. Government, nor the names of its
43 // contributors may be used to endorse or promote products derived from
44 // this software without specific prior written permission.
45 //
46 // THIS SOFTWARE IS PROVIDED BY LOS ALAMOS NATIONAL SECURITY, LLC AND
47 // CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
48 // BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
49 // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL LOS ALAMOS
50 // NATIONAL SECURITY, LLC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
51 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
52 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
53 // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
54 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
55 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
56 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57 //============================================================================
58 
59 // This code is based on the algorithm presented in the paper:
60 // “Parallel Peak Pruning for Scalable SMP Contour Tree Computation.”
61 // Hamish Carr, Gunther Weber, Christopher Sewell, and James Ahrens.
62 // Proceedings of the IEEE Symposium on Large Data Analysis and Visualization
63 // (LDAV), October 2016, Baltimore, Maryland.
64 
65 #ifndef viskores_filter_scalar_topology_ContourTreeUniform_h
66 #define viskores_filter_scalar_topology_ContourTreeUniform_h
67 
68 #include <viskores/filter/Filter.h>
70 
71 namespace viskores
72 {
73 namespace filter
74 {
75 namespace scalar_topology
76 {
82 // “Parallel Peak Pruning for Scalable SMP Contour Tree Computation.”
83 class VISKORES_FILTER_SCALAR_TOPOLOGY_EXPORT ContourTreeMesh2D : public viskores::filter::Filter
84 {
85 public:
88 
89 private:
91  VISKORES_CONT viskores::cont::DataSet DoExecute(const viskores::cont::DataSet& input) override;
92 };
93 
99 // “Parallel Peak Pruning for Scalable SMP Contour Tree Computation.”
100 class VISKORES_FILTER_SCALAR_TOPOLOGY_EXPORT ContourTreeMesh3D : public viskores::filter::Filter
101 {
102 public:
105 
106 private:
108  VISKORES_CONT viskores::cont::DataSet DoExecute(const viskores::cont::DataSet& input) override;
109 };
110 } // namespace scalar_topology
111 } // namespace filter
112 } // namespace viskores
113 
114 #endif // viskores_filter_scalar_topology_ContourTreeUniform_h
viskores::cont::DataSet
Contains and manages the geometric data structures that Viskores operates on.
Definition: DataSet.h:66
viskores::filter::scalar_topology::ContourTreeMesh3D
Construct the ContourTree for a 3D Mesh.
Definition: ContourTreeUniform.h:100
viskores::filter::Filter
Base class for all filters.
Definition: Filter.h:171
VISKORES_CONT
#define VISKORES_CONT
Definition: ExportMacros.h:65
viskores
Groups connected points that have the same field value.
Definition: Atomic.h:27
viskores::filter::scalar_topology::ContourTreeMesh2D
Construct the ContourTree for a 2D Mesh.
Definition: ContourTreeUniform.h:83
viskores_filter_scalar_topology_export.h
Filter.h