VTK-m
2.3
Main Page
Related Pages
Modules
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerations
Enumerator
Related Functions
Files
File List
File Members
All
a
c
d
e
f
h
i
k
m
o
p
q
r
s
t
u
v
w
x
y
Variables
Typedefs
Macros
e
k
m
q
s
t
u
v
vtkm
exec
CellInside.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
#ifndef vtk_m_exec_CellInside_h
11
#define vtk_m_exec_CellInside_h
12
13
#include <
vtkm/CellShape.h
>
14
#include <
vtkm/Types.h
>
15
16
#include <lcl/lcl.h>
17
18
namespace
vtkm
19
{
20
namespace
exec
21
{
22
23
template
<
typename
T,
typename
CellShapeTag>
24
static
inline
VTKM_EXEC
bool
CellInside(
const
vtkm::Vec<T, 3>
& pcoords, CellShapeTag)
25
{
26
using
VtkcTagType =
typename
vtkm::internal::CellShapeTagVtkmToVtkc<CellShapeTag>::Type;
27
return
lcl::cellInside(VtkcTagType{}, pcoords);
28
}
29
30
template
<
typename
T>
31
static
inline
VTKM_EXEC
bool
CellInside(
const
vtkm::Vec<T, 3>
&,
vtkm::CellShapeTagEmpty
)
32
{
33
return
false
;
34
}
35
36
template
<
typename
T>
37
static
inline
VTKM_EXEC
bool
CellInside(
const
vtkm::Vec<T, 3>
& pcoords,
vtkm::CellShapeTagPolyLine
)
38
{
39
return
pcoords[0] >= T(0) && pcoords[0] <= T(1);
40
}
41
45
template
<
typename
T>
46
static
inline
VTKM_EXEC
bool
CellInside(
const
vtkm::Vec<T, 3>
& pcoords,
47
vtkm::CellShapeTagGeneric
shape)
48
{
49
bool
result =
false
;
50
switch
(shape.
Id
)
51
{
52
vtkmGenericCellShapeMacro
(result = CellInside(pcoords, CellShapeTag()));
53
default
:
54
break
;
55
}
56
57
return
result;
58
}
59
}
60
}
// vtkm::exec
61
62
#endif // vtk_m_exec_CellInside_h
VTKM_EXEC
#define VTKM_EXEC
Definition:
ExportMacros.h:51
vtkm
Groups connected points that have the same field value.
Definition:
Atomic.h:19
Types.h
CellShape.h
vtkmGenericCellShapeMacro
#define vtkmGenericCellShapeMacro(call)
A macro used in a switch statement to determine cell shape.
Definition:
CellShape.h:250
vtkm::CellShapeTagPolyLine
Definition:
CellShape.h:151
vtkm::CellShapeTagEmpty
Definition:
CellShape.h:147
vtkm::Vec< T, 3 >
Definition:
Types.h:1016
vtkm::CellShapeTagGeneric::Id
vtkm::UInt8 Id
An identifier that corresponds to one of the CELL_SHAPE_* identifiers.
Definition:
CellShape.h:180
vtkm::CellShapeTagGeneric
A special cell shape tag that holds a cell shape that is not known at compile time.
Definition:
CellShape.h:170
Generated by
1.8.17