CubbyFlow::CustomVectorField3 Class Referencefinal

3-D vector field with custom field function. More...

#include <Core/Field/CustomVectorField3.h>

Inheritance diagram for CubbyFlow::CustomVectorField3:
CubbyFlow::VectorField3 CubbyFlow::Field3

Classes

class  Builder
 Front-end to create CustomVectorField3 objects step by step. More...
 

Public Member Functions

 CustomVectorField3 (const std::function< Vector3D(const Vector3D &)> &customFunction, double derivativeResolution=1e-3)
 Constructs a field with given function. More...
 
 CustomVectorField3 (const std::function< Vector3D(const Vector3D &)> &customFunction, const std::function< double(const Vector3D &)> &customDivergenceFunction, double derivativeResolution=1e-3)
 Constructs a field with given field and gradient function. More...
 
 CustomVectorField3 (const std::function< Vector3D(const Vector3D &)> &customFunction, const std::function< double(const Vector3D &)> &customDivergenceFunction, const std::function< Vector3D(const Vector3D &)> &customCurlFunction)
 Constructs a field with given field, gradient, and Laplacian function. More...
 
Vector3D Sample (const Vector3D &x) const override
 Returns the sampled value at given position x. More...
 
double Divergence (const Vector3D &x) const override
 Returns the divergence at given position x. More...
 
Vector3D Curl (const Vector3D &x) const override
 Returns the curl at given position x. More...
 
std::function< Vector3D(const Vector3D &)> Sampler () const override
 Returns the sampler function. More...
 
- Public Member Functions inherited from CubbyFlow::VectorField3
 VectorField3 ()
 Default constructor. More...
 
virtual ~VectorField3 ()
 Default destructor. More...
 
- Public Member Functions inherited from CubbyFlow::Field3
 Field3 ()
 
virtual ~Field3 ()
 

Static Public Member Functions

static Builder GetBuilder ()
 Returns builder fox CustomVectorField2. More...
 

Detailed Description

3-D vector field with custom field function.

Constructor & Destructor Documentation

◆ CustomVectorField3() [1/3]

CubbyFlow::CustomVectorField3::CustomVectorField3 ( const std::function< Vector3D(const Vector3D &)> &  customFunction,
double  derivativeResolution = 1e-3 
)

Constructs a field with given function.

This constructor creates a field with user-provided function object. To compute derivatives, such as gradient and Laplacian, finite differencing is used. Thus, the differencing resolution also can be provided as the last parameter.

◆ CustomVectorField3() [2/3]

CubbyFlow::CustomVectorField3::CustomVectorField3 ( const std::function< Vector3D(const Vector3D &)> &  customFunction,
const std::function< double(const Vector3D &)> &  customDivergenceFunction,
double  derivativeResolution = 1e-3 
)

Constructs a field with given field and gradient function.

This constructor creates a field with user-provided field and gradient function objects. To compute Laplacian, finite differencing is used. Thus, the differencing resolution also can be provided as the last parameter.

◆ CustomVectorField3() [3/3]

CubbyFlow::CustomVectorField3::CustomVectorField3 ( const std::function< Vector3D(const Vector3D &)> &  customFunction,
const std::function< double(const Vector3D &)> &  customDivergenceFunction,
const std::function< Vector3D(const Vector3D &)> &  customCurlFunction 
)

Constructs a field with given field, gradient, and Laplacian function.

Member Function Documentation

◆ Curl()

Vector3D CubbyFlow::CustomVectorField3::Curl ( const Vector3D x) const
overridevirtual

Returns the curl at given position x.

Reimplemented from CubbyFlow::VectorField3.

◆ Divergence()

double CubbyFlow::CustomVectorField3::Divergence ( const Vector3D x) const
overridevirtual

Returns the divergence at given position x.

Reimplemented from CubbyFlow::VectorField3.

◆ GetBuilder()

static Builder CubbyFlow::CustomVectorField3::GetBuilder ( )
static

Returns builder fox CustomVectorField2.

◆ Sample()

Vector3D CubbyFlow::CustomVectorField3::Sample ( const Vector3D x) const
overridevirtual

Returns the sampled value at given position x.

Implements CubbyFlow::VectorField3.

◆ Sampler()

std::function<Vector3D(const Vector3D&)> CubbyFlow::CustomVectorField3::Sampler ( ) const
overridevirtual

Returns the sampler function.

Reimplemented from CubbyFlow::VectorField3.


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