VTK-m  2.0
GlyphIntersectorVector.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_Vector_h
11 #define vtk_m_rendering_raytracing_Glyph_Intersector_Vector_h
12 
15 
16 namespace vtkm
17 {
18 namespace rendering
19 {
20 namespace raytracing
21 {
22 
24 {
25 public:
27  virtual ~GlyphIntersectorVector() 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 field,
47  const vtkm::Range& range);
48 
50  const vtkm::cont::Field field,
51  const vtkm::Range& range) override;
52 
54  const vtkm::cont::Field field,
55  const vtkm::Range& range) override;
56 
57  vtkm::Id GetNumberOfShapes() const override;
58 
59  void SetArrowRadii(vtkm::Float32 bodyRadius, vtkm::Float32 headRadius);
60 
61 protected:
66 
69 }; // class GlyphIntersectorVector
70 
71 }
72 }
73 } //namespace vtkm::rendering::raytracing
74 #endif //vtk_m_rendering_raytracing_Glyph_Intersector_Vector_h
vtkm::rendering::raytracing::GlyphIntersectorVector::SetData
void SetData(const vtkm::cont::CoordinateSystem &coords, vtkm::cont::ArrayHandle< vtkm::Id > pointIds, vtkm::cont::ArrayHandle< vtkm::Vec< vtkm::Float32, 3 >> sizes)
vtkm::cont::ArrayHandle< vtkm::Id >
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::rendering::raytracing::GlyphIntersectorVector::IntersectRays
void IntersectRays(Ray< vtkm::Float32 > &rays, bool returnCellIndex=false) override
vtkm::rendering::raytracing::GlyphIntersectorVector::IntersectionDataImp
void IntersectionDataImp(Ray< Precision > &rays, const vtkm::cont::Field field, const vtkm::Range &range)
vtkm::rendering::raytracing::GlyphIntersectorVector::Normals
vtkm::cont::ArrayHandle< vtkm::Vec3f_32 > Normals
Definition: GlyphIntersectorVector.h:64
vtkm::rendering::raytracing::GlyphIntersectorVector::ArrowBodyRadius
vtkm::Float32 ArrowBodyRadius
Definition: GlyphIntersectorVector.h:67
vtkm::Id
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
vtkm::rendering::raytracing::GlyphIntersectorVector::Sizes
vtkm::cont::ArrayHandle< vtkm::Vec3f_32 > Sizes
Definition: GlyphIntersectorVector.h:63
vtkm::cont::CoordinateSystem
Definition: CoordinateSystem.h:25
vtkm::rendering::raytracing::Ray
Definition: Ray.h:37
vtkm::rendering::raytracing::GlyphIntersectorVector::ArrowHeadRadius
vtkm::Float32 ArrowHeadRadius
Definition: GlyphIntersectorVector.h:68
vtkm::rendering::raytracing::GlyphIntersectorVector::IntersectionData
void IntersectionData(Ray< vtkm::Float32 > &rays, const vtkm::cont::Field field, const vtkm::Range &range) override
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
GlyphType.h
vtkm::rendering::raytracing::GlyphIntersectorVector::GetNumberOfShapes
vtkm::Id GetNumberOfShapes() const override
ShapeIntersector.h
vtkm::rendering::raytracing::GlyphIntersectorVector::~GlyphIntersectorVector
virtual ~GlyphIntersectorVector() override
vtkm::rendering::raytracing::GlyphIntersectorVector::SetArrowRadii
void SetArrowRadii(vtkm::Float32 bodyRadius, vtkm::Float32 headRadius)
vtkm::rendering::raytracing::GlyphIntersectorVector::GlyphType
vtkm::rendering::GlyphType GlyphType
Definition: GlyphIntersectorVector.h:65
vtkm::Vec< vtkm::Float32, 3 >
vtkm::rendering::raytracing::GlyphIntersectorVector::SetGlyphType
void SetGlyphType(vtkm::rendering::GlyphType glyphType)
vtkm::rendering::raytracing::GlyphIntersectorVector
Definition: GlyphIntersectorVector.h:23
vtkm::rendering::raytracing::GlyphIntersectorVector::GlyphIntersectorVector
GlyphIntersectorVector(vtkm::rendering::GlyphType glyphType)
vtkm::rendering::GlyphType
GlyphType
Definition: GlyphType.h:18
vtkm::Float32
float Float32
Definition: Types.h:154
vtkm::rendering::raytracing::ShapeIntersector
Definition: ShapeIntersector.h:24
vtkm::rendering::raytracing::GlyphIntersectorVector::PointIds
vtkm::cont::ArrayHandle< vtkm::Id > PointIds
Definition: GlyphIntersectorVector.h:62
vtkm::rendering::raytracing::GlyphIntersectorVector::IntersectRaysImp
void IntersectRaysImp(Ray< Precision > &rays, bool returnCellIndex)
vtkm::Range
Represent a continuous scalar range of values.
Definition: Range.h:31