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