OpenLB 1.7
|
indicator function for a 3d-cuboid, parallel to the planes x=0, y=0, z=0. More...
#include <indicatorF3D.h>
Public Member Functions | |
IndicatorCuboid3D (Vector< S, 3 > extend, Vector< S, 3 > origin) | |
constructs an cuboid with x axis from origin[0] to origin[0]+extend[0], ... | |
IndicatorCuboid3D (S xlength, S ylength, S zlength, Vector< S, 3 > center) | |
constructs an cuboid with x axis dimension center[0]-xlength/2 to center[0]+xlength/2 | |
Vector< S, 3 > const & | getCenter () const |
S const | getxLength () const |
S const | getyLength () const |
S const | getzLength () const |
bool | operator() (bool output[], const S input[]) override |
returns true if input is inside, otherwise false | |
S | signedDistance (const Vector< S, 3 > &input) override |
Returns signed distance to the nearest point on the indicator surface. | |
Vector< S, 3 > | getSample (const std::function< S()> &randomness) const override |
Public Member Functions inherited from olb::IndicatorF3D< S > | |
virtual Vector< S, 3 > & | getMin () |
virtual Vector< S, 3 > & | getMax () |
virtual bool | distance (S &distance, const Vector< S, 3 > &origin, S precision, const Vector< S, 3 > &direction) |
virtual bool | distance (S &distance, const Vector< S, 3 > &origin, const Vector< S, 3 > &direction, S precision, S pitch) |
virtual bool | distance (S &distance, const Vector< S, 3 > &origin, const Vector< S, 3 > &direction, int iC=-1) |
virtual bool | distance (S &distance, const Vector< S, 3 > &origin) |
virtual bool | distance (S &distance, const S input[]) |
virtual bool | normal (Vector< S, 3 > &normal, const Vector< S, 3 > &origin, const Vector< S, 3 > &direction, int iC=-1) |
returns true and the normal if there was one found for an given origin and direction | |
virtual bool | rotOnAxis (Vector< S, 3 > &vec_rot, const Vector< S, 3 > &vec, const Vector< S, 3 > &axis, S &theta) |
Rotate vector around axis by angle theta. | |
virtual bool | operator() (bool output[1], const S input[3]) |
Returns true if input is inside the indicator. | |
virtual Vector< S, 3 > | surfaceNormal (const Vector< S, 3 > &pos, const S meshSize) |
Return surface normal. | |
Vector< S, 3 > | surfaceNormal (const Vector< S, 3 > &pos, const S meshSize, std::function< Vector< S, 3 >(const Vector< S, 3 > &)> transformPos) |
Return surface normal after possible translation and rotation. | |
bool | isInsideBox (Vector< S, 3 > point) |
Returns true if point is inside a cube with corners _myMin and _myMax | |
Public Member Functions inherited from olb::GenericF< bool, S > | |
virtual | ~GenericF ()=default |
int | getSourceDim () const |
read only access to member variable _m | |
int | getTargetDim () const |
read only access to member variable _n | |
std::string & | getName () |
read and write access to name | |
std::string const & | getName () const |
read only access to name | |
bool | operator() (bool output[]) |
wrapper that call the pure virtual operator() (T output[], const S input[]) from above | |
bool | operator() (bool output[], S input0) |
bool | operator() (bool output[], S input0, S input1) |
bool | operator() (bool output[], S input0, S input1, S input2) |
bool | operator() (bool output[], S input0, S input1, S input2, S input3) |
Additional Inherited Members | |
Public Types inherited from olb::GenericF< bool, S > | |
using | targetType |
using | sourceType |
Public Attributes inherited from olb::GenericF< bool, S > | |
std::shared_ptr< GenericF< bool, S > > | _ptrCalcC |
memory management, frees resouces (calcClass) | |
Protected Member Functions inherited from olb::IndicatorF3D< S > | |
IndicatorF3D () | |
Protected Member Functions inherited from olb::GenericF< bool, S > | |
GenericF (int targetDim, int sourceDim) | |
Protected Attributes inherited from olb::IndicatorF3D< S > | |
Vector< S, 3 > | _myMin |
Vector< S, 3 > | _myMax |
indicator function for a 3d-cuboid, parallel to the planes x=0, y=0, z=0.
extend | must have only positive elements |
xLength | must be positive |
Definition at line 238 of file indicatorF3D.h.
olb::IndicatorCuboid3D< S >::IndicatorCuboid3D | ( | Vector< S, 3 > | extend, |
Vector< S, 3 > | origin ) |
constructs an cuboid with x axis from origin[0] to origin[0]+extend[0], ...
Definition at line 640 of file indicatorF3D.hh.
References olb::IndicatorF3D< S >::_myMax, and olb::IndicatorF3D< S >::_myMin.
olb::IndicatorCuboid3D< S >::IndicatorCuboid3D | ( | S | xlength, |
S | ylength, | ||
S | zlength, | ||
Vector< S, 3 > | center ) |
constructs an cuboid with x axis dimension center[0]-xlength/2 to center[0]+xlength/2
Definition at line 650 of file indicatorF3D.hh.
References olb::IndicatorF3D< S >::_myMax, and olb::IndicatorF3D< S >::_myMin.
Vector< S, 3 > const & olb::IndicatorCuboid3D< S >::getCenter | ( | ) | const |
Definition at line 660 of file indicatorF3D.hh.
|
overridevirtual |
randomness | Callable returning uniformly sampled values in [0,1] |
Reimplemented from olb::IndicatorF3D< S >.
Definition at line 709 of file indicatorF3D.hh.
References olb::Vector< T, D >::begin(), olb::Vector< T, D >::end(), olb::Hyperplane3D< T >::normalTo(), and olb::Hyperplane3D< T >::originAt().
S const olb::IndicatorCuboid3D< S >::getxLength | ( | ) | const |
Definition at line 666 of file indicatorF3D.hh.
S const olb::IndicatorCuboid3D< S >::getyLength | ( | ) | const |
Definition at line 672 of file indicatorF3D.hh.
S const olb::IndicatorCuboid3D< S >::getzLength | ( | ) | const |
Definition at line 678 of file indicatorF3D.hh.
|
overridevirtual |
returns true if input is inside, otherwise false
Implements olb::GenericF< bool, S >.
Reimplemented in olb::IndicatorCuboidRotate3D< S >.
Definition at line 684 of file indicatorF3D.hh.
|
overridevirtual |
Returns signed distance to the nearest point on the indicator surface.
Reimplemented from olb::IndicatorF3D< S >.
Reimplemented in olb::IndicatorCuboidRotate3D< S >.
Definition at line 703 of file indicatorF3D.hh.
References olb::sdf::box().