VTK-m
2.2
|
Implicit function that can switch among known implicit function types. More...
#include <ImplicitFunction.h>
Private Types | |
using | Superclass = vtkm::ImplicitFunctionMultiplexer< vtkm::Box, vtkm::Cylinder, vtkm::Frustum, vtkm::Plane, vtkm::Sphere, vtkm::MultiPlane< 3 > > |
Additional Inherited Members | |
Public Types inherited from vtkm::ImplicitFunctionMultiplexer< vtkm::Box, vtkm::Cylinder, vtkm::Frustum, vtkm::Plane, vtkm::Sphere, vtkm::MultiPlane< 3 > > | |
using | Scalar = typename Superclass::Scalar |
using | Vector = typename Superclass::Vector |
Public Member Functions inherited from vtkm::ImplicitFunctionMultiplexer< vtkm::Box, vtkm::Cylinder, vtkm::Frustum, vtkm::Plane, vtkm::Sphere, vtkm::MultiPlane< 3 > > | |
ImplicitFunctionMultiplexer ()=default | |
ImplicitFunctionMultiplexer (const vtkm::internal::ImplicitFunctionBase< FunctionType > &function) | |
Scalar | Value (const Vector &point) const |
Evaluate the value of the implicit function. More... | |
Vector | Gradient (const Vector &point) const |
Evaluate the gradient of the implicit function. More... | |
Implicit function that can switch among known implicit function types.
ImplicitFunctionGeneral
can behave as any of the predefined implicit functions provided by VTK-m. This is helpful when the type of implicit function is not known at compile time. For example, say you want a filter that can operate on an implicit function. Rather than compile separate versions of the filter, one for each type of implicit function, you can compile the filter once for ImplicitFunctionGeneral
and then set the desired implicit function at runtime.
To use ImplicitFunctionGeneral
, simply create the actual implicit function that you want to use, and then set the ImplicitFunctionGeneral
to that concrete implicit function object.
ImplicitFunctionGeneral
currently supports vtkm::Box
, vtkm::Cylinder
, vtkm::Frustum
, vtkm::Plane
, and vtkm::Sphere
.
|
private |