VTK-m  2.1
Public Types | Public Member Functions | Private Attributes | List of all members
vtkm::MultiPlane< MaxNumPlanes > Class Template Reference

Implicit function for a MultiPlane. More...

#include <ImplicitFunction.h>

Inheritance diagram for vtkm::MultiPlane< MaxNumPlanes >:
vtkm::cont::ExecutionAndControlObjectBase vtkm::cont::ExecutionObjectBase

Public Types

using Scalar = vtkm::FloatDefault
 
using Vector = vtkm::Vec< Scalar, 3 >
 

Public Member Functions

 MultiPlane ()=default
 
template<vtkm::IdComponent SrcMaxPlanes>
 MultiPlane (const MultiPlane< SrcMaxPlanes > &src)
 
template<vtkm::IdComponent SrcMaxPlanes>
MultiPlaneoperator= (const MultiPlane< SrcMaxPlanes > &src)
 
void AddPlane (const Vector &origin, const Vector &normal)
 
vtkm::Plane GetPlane (int idx)
 
vtkm::VecVariable< vtkm::Plane, MaxNumPlanes > GetPlanes () const
 
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...
 

Private Attributes

vtkm::VecVariable< vtkm::Plane, MaxNumPlanes > Planes
 

Detailed Description

template<vtkm::IdComponent MaxNumPlanes>
class vtkm::MultiPlane< MaxNumPlanes >

Implicit function for a MultiPlane.

A MultiPlane contains multiple planes. Each plane is defined by a point and a normal to the plane. MaxNumPlanes specifies the maximum number of planes it can hold. We can assign another MultiPlane with a smaller number of planes to the current MultiPlane.

Member Typedef Documentation

◆ Scalar

template<vtkm::IdComponent MaxNumPlanes>
using vtkm::MultiPlane< MaxNumPlanes >::Scalar = vtkm::FloatDefault

◆ Vector

template<vtkm::IdComponent MaxNumPlanes>
using vtkm::MultiPlane< MaxNumPlanes >::Vector = vtkm::Vec<Scalar, 3>

Constructor & Destructor Documentation

◆ MultiPlane() [1/2]

template<vtkm::IdComponent MaxNumPlanes>
vtkm::MultiPlane< MaxNumPlanes >::MultiPlane ( )
default

◆ MultiPlane() [2/2]

template<vtkm::IdComponent MaxNumPlanes>
template<vtkm::IdComponent SrcMaxPlanes>
vtkm::MultiPlane< MaxNumPlanes >::MultiPlane ( const MultiPlane< SrcMaxPlanes > &  src)
inline

Member Function Documentation

◆ AddPlane()

template<vtkm::IdComponent MaxNumPlanes>
void vtkm::MultiPlane< MaxNumPlanes >::AddPlane ( const Vector origin,
const Vector normal 
)
inline

◆ GetPlane()

template<vtkm::IdComponent MaxNumPlanes>
vtkm::Plane vtkm::MultiPlane< MaxNumPlanes >::GetPlane ( int  idx)
inline

◆ GetPlanes()

template<vtkm::IdComponent MaxNumPlanes>
vtkm::VecVariable<vtkm::Plane, MaxNumPlanes> vtkm::MultiPlane< MaxNumPlanes >::GetPlanes ( ) const
inline

◆ Gradient()

template<vtkm::IdComponent MaxNumPlanes>
Vector vtkm::MultiPlane< MaxNumPlanes >::Gradient ( const Vector point) const
inline

Evaluate the gradient of the implicit function.

The Gradient() method for an implicit function takes a vtkm::Vec3f and returns a vtkm::Vec3f representing the pointing direction from the implicit function's shape. Gradient calculations are more object shape specific. It is advised to look at the individual shape implementations for specific implicit functions.

◆ operator=()

template<vtkm::IdComponent MaxNumPlanes>
template<vtkm::IdComponent SrcMaxPlanes>
MultiPlane& vtkm::MultiPlane< MaxNumPlanes >::operator= ( const MultiPlane< SrcMaxPlanes > &  src)
inline

◆ Value()

template<vtkm::IdComponent MaxNumPlanes>
Scalar vtkm::MultiPlane< MaxNumPlanes >::Value ( const Vector point) const
inline

Evaluate the value of the implicit function.

The Value() method for an implicit function takes a vtkm::Vec3f and returns a vtkm::FloatDefault representing the orientation of the point with respect to the implicit function's shape. Negative scalar values represent vector points inside of the implicit function's shape. Positive scalar values represent vector points outside the implicit function's shape. Zero values represent vector points that lie on the surface of the implicit function.

Member Data Documentation

◆ Planes

template<vtkm::IdComponent MaxNumPlanes>
vtkm::VecVariable<vtkm::Plane, MaxNumPlanes> vtkm::MultiPlane< MaxNumPlanes >::Planes
private

The documentation for this class was generated from the following file: