Class to handle Radial Basis Function with a large set of 3D points as nodes. More...


Public Member Functions | |
RBF (const RBF &other) | |
RBF (RBFBasisFunction=RBFBasisFunction::WENDLANDC2) | |
~RBF () | |
int | addNode (const std::array< double, 3 > &) |
std::vector< int > | addNode (const std::vector< std::array< double, 3 > > &) |
int | getTotalNodesCount () |
RBF & | operator= (RBF other) |
void | removeAllNodes () |
bool | removeNode (int) |
bool | removeNode (std::vector< int > &) |
![]() | |
RBFKernel () | |
RBFKernel (const RBFKernel &other) | |
void | activateAllNodes () |
bool | activateNode (const std::vector< int > &) |
bool | activateNode (int) |
int | addData () |
int | addData (const std::vector< double > &) |
void | deactivateAllNodes () |
bool | deactivateNode (const std::vector< int > &) |
bool | deactivateNode (int) |
void | enablePolynomial (bool enable=true) |
double | evalBasis (double) |
double | evalBasisPair (int i, int j) |
std::vector< double > | evalRBF (const std::array< double, 3 > &) |
std::vector< double > | evalRBF (int jnode) |
void | fitDataToNodes () |
void | fitDataToNodes (int) |
int | getActiveCount () |
std::vector< int > | getActiveSet () |
int | getDataCount () |
RBFBasisFunction | getFunctionType () |
RBFMode | getMode () |
int | getPolynomialDimension () |
int | getPolynomialWeightsCount () |
double | getSupportRadius () |
double | getSupportRadius (int) |
const std::vector< std::vector< double > > & | getWeights () const |
int | greedy (double) |
bool | isActive (int) |
void | removeAllData () |
bool | removeData (int) |
bool | removeData (std::vector< int > &) |
void | setDataToAllNodes (int, const std::vector< double > &) |
void | setDataToNode (int, const std::vector< double > &) |
void | setFunction (double(&funct)(double)) |
void | setFunction (RBFBasisFunction) |
void | setMode (RBFMode mode) |
void | setSupportRadius (const std::vector< double > &) |
void | setSupportRadius (double) |
int | solve () |
Protected Member Functions | |
void | swap (RBF &x) noexcept |
![]() | |
int | addGreedyPoint () |
double | evalError () |
int | solveLSQ () |
void | swap (RBFKernel &x) noexcept |
Protected Attributes | |
std::vector< std::array< double, 3 > > | m_node |
![]() | |
std::vector< bool > | m_activeNodes |
int | m_maxFields |
int | m_nodes |
std::vector< int > | m_polyActiveBasis |
bool | m_polyEnabled |
LinearPolynomial | m_polynomial |
std::vector< std::vector< double > > | m_value |
std::vector< std::vector< double > > | m_weight |
Detailed Description
Class to handle Radial Basis Function with a large set of 3D points as nodes.
The class specializes RBFKernel and employs a 3D point cloud as set of RBF nodes.
- Examples
- RBF_example_00001.cpp.
Constructor & Destructor Documentation
◆ ~RBF()
◆ RBF() [1/2]
bitpit::RBF::RBF | ( | RBFBasisFunction | bfunc = RBFBasisFunction::WENDLANDC2 | ) |
Default constructor. RBFBasisFunction::WENDLANDC2 is default. RBFMode is INTERP, by default. Use setMode for changing it.
Default constructor. Requires optionally statements of type of RBFBasisFunction which must be used. RBFMode is INTERP, by default. Use setMode for changing it.
◆ RBF() [2/2]
Member Function Documentation
◆ addNode() [1/2]
int bitpit::RBF::addNode | ( | const std::array< double, 3 > & | node | ) |
Adds a RBF node and sets it to active. Does not manage duplicated nodes. Supported in both modes.
- Parameters
-
[in] node coordinates of node to be added
- Returns
- id of node within class
- Examples
- RBF_example_00001.cpp.
◆ addNode() [2/2]
std::vector< int > bitpit::RBF::addNode | ( | const std::vector< std::array< double, 3 > > & | node | ) |
◆ getTotalNodesCount()
int bitpit::RBF::getTotalNodesCount | ( | ) |
◆ operator=()
◆ removeAllNodes()
void bitpit::RBF::removeAllNodes | ( | ) |
◆ removeNode() [1/2]
bool bitpit::RBF::removeNode | ( | int | id | ) |
◆ removeNode() [2/2]
bool bitpit::RBF::removeNode | ( | std::vector< int > & | list | ) |
Remove pre-existent set of nodes. RBF nodal list is resized and renumbered after extraction. Supported in both modes.
- Parameters
-
[in] list id list of candidates to extraction
- Returns
- boolean, true if all nodes are successfully extracted, false if any of them or none are extracted
◆ swap()
|
protectednoexcept |
Member Data Documentation
◆ m_node
|
protected |
The documentation for this class was generated from the following files:
