Viskores  1.0
Public Types | Public Member Functions | Private Attributes | List of all members
viskores::MultiPlane< MaxNumPlanes > Class Template Reference

Implicit function for a MultiPlane. More...

#include <ImplicitFunction.h>

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

Public Types

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

Public Member Functions

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

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

Detailed Description

template<viskores::IdComponent MaxNumPlanes>
class viskores::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<viskores::IdComponent MaxNumPlanes>
using viskores::MultiPlane< MaxNumPlanes >::Scalar = viskores::FloatDefault

◆ Vector

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

Constructor & Destructor Documentation

◆ MultiPlane() [1/2]

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

◆ MultiPlane() [2/2]

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

Member Function Documentation

◆ AddPlane()

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

◆ GetPlane()

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

◆ GetPlanes()

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

◆ Gradient()

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

Evaluate the gradient of the implicit function.

The Gradient() method for an implicit function takes a viskores::Vec3f and returns a viskores::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<viskores::IdComponent MaxNumPlanes>
template<viskores::IdComponent SrcMaxPlanes>
MultiPlane& viskores::MultiPlane< MaxNumPlanes >::operator= ( const MultiPlane< SrcMaxPlanes > &  src)
inline

◆ Value()

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

Evaluate the value of the implicit function.

The Value() method for an implicit function takes a viskores::Vec3f and returns a viskores::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<viskores::IdComponent MaxNumPlanes>
viskores::VecVariable<viskores::Plane, MaxNumPlanes> viskores::MultiPlane< MaxNumPlanes >::Planes
private

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