VTK-m  2.0
GlyphIntersector.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_rendering_raytracing_Glyph_Intersector_h
11 #define vtk_m_rendering_raytracing_Glyph_Intersector_h
12 
15 
16 namespace vtkm
17 {
18 namespace rendering
19 {
20 namespace raytracing
21 {
22 
24 {
25 public:
27  virtual ~GlyphIntersector() override;
28 
30 
31  void SetData(const vtkm::cont::CoordinateSystem& coords,
34 
35  void IntersectRays(Ray<vtkm::Float32>& rays, bool returnCellIndex = false) override;
36 
37 
38  void IntersectRays(Ray<vtkm::Float64>& rays, bool returnCellIndex = false) override;
39 
40  template <typename Precision>
41  void IntersectRaysImp(Ray<Precision>& rays, bool returnCellIndex);
42 
43 
44  template <typename Precision>
46  const vtkm::cont::Field scalarField,
47  const vtkm::Range& scalarRange);
48 
50  const vtkm::cont::Field scalarField,
51  const vtkm::Range& scalarRange) override;
52 
54  const vtkm::cont::Field scalarField,
55  const vtkm::Range& scalarRange) override;
56 
57  vtkm::Id GetNumberOfShapes() const override;
58 
59 protected:
63 
64 }; // class GlyphIntersector
65 
66 }
67 }
68 } //namespace vtkm::rendering::raytracing
69 #endif //vtk_m_rendering_raytracing_Glyph_Intersector_h
vtkm::rendering::raytracing::GlyphIntersector::PointIds
vtkm::cont::ArrayHandle< vtkm::Id > PointIds
Definition: GlyphIntersector.h:60
vtkm::cont::ArrayHandle< vtkm::Id >
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::rendering::raytracing::GlyphIntersector::~GlyphIntersector
virtual ~GlyphIntersector() override
vtkm::rendering::raytracing::GlyphIntersector::IntersectionData
void IntersectionData(Ray< vtkm::Float32 > &rays, const vtkm::cont::Field scalarField, const vtkm::Range &scalarRange) override
vtkm::rendering::raytracing::GlyphIntersector::GlyphType
vtkm::rendering::GlyphType GlyphType
Definition: GlyphIntersector.h:62
vtkm::Id
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
vtkm::cont::CoordinateSystem
Definition: CoordinateSystem.h:25
vtkm::rendering::raytracing::Ray
Definition: Ray.h:37
vtkm::rendering::raytracing::GlyphIntersector::GlyphIntersector
GlyphIntersector(vtkm::rendering::GlyphType glyphType)
vtkm::cont::Field
A Field encapsulates an array on some piece of the mesh, such as the points, a cell set,...
Definition: cont/Field.h:31
vtkm::rendering::raytracing::GlyphIntersector
Definition: GlyphIntersector.h:23
GlyphType.h
vtkm::rendering::raytracing::GlyphIntersector::GetNumberOfShapes
vtkm::Id GetNumberOfShapes() const override
ShapeIntersector.h
vtkm::rendering::raytracing::GlyphIntersector::SetData
void SetData(const vtkm::cont::CoordinateSystem &coords, vtkm::cont::ArrayHandle< vtkm::Id > pointIds, vtkm::cont::ArrayHandle< vtkm::Float32 > sizes)
vtkm::rendering::raytracing::GlyphIntersector::IntersectRays
void IntersectRays(Ray< vtkm::Float32 > &rays, bool returnCellIndex=false) override
vtkm::rendering::raytracing::GlyphIntersector::Sizes
vtkm::cont::ArrayHandle< vtkm::Float32 > Sizes
Definition: GlyphIntersector.h:61
vtkm::rendering::GlyphType
GlyphType
Definition: GlyphType.h:18
vtkm::rendering::raytracing::GlyphIntersector::IntersectionDataImp
void IntersectionDataImp(Ray< Precision > &rays, const vtkm::cont::Field scalarField, const vtkm::Range &scalarRange)
vtkm::rendering::raytracing::ShapeIntersector
Definition: ShapeIntersector.h:24
vtkm::rendering::raytracing::GlyphIntersector::SetGlyphType
void SetGlyphType(vtkm::rendering::GlyphType glyphType)
vtkm::rendering::raytracing::GlyphIntersector::IntersectRaysImp
void IntersectRaysImp(Ray< Precision > &rays, bool returnCellIndex)
vtkm::Range
Represent a continuous scalar range of values.
Definition: Range.h:31