#include <ogdf/energybased/fast_multipole_embedder/LinearQuadtreeExpansion.h>
Public Member Functions | |
LinearQuadtreeExpansion (uint32_t precision, const LinearQuadtree &tree) | |
constructor More... | |
~LinearQuadtreeExpansion (void) | |
destructor More... | |
void | L2L (uint32_t source, uint32_t receiver) |
shifts the source local coefficient to the center of the receiver and adds them More... | |
void | L2P (uint32_t source, uint32_t point, float &fx, float &fy) |
evaluates the derivate of the local expansion at the point and adds the forces to fx fy More... | |
double * | localExp () const |
returns the array with local coefficients More... | |
void | M2L (uint32_t source, uint32_t receiver) |
converts the source multipole coefficient in to a local coefficients at the center of the receiver and adds them More... | |
void | M2M (uint32_t source, uint32_t receiver) |
shifts the source multipole coefficient to the center of the receiver and adds them More... | |
double * | multiExp () const |
returns the array with multipole coefficients More... | |
uint32_t | numCoeff () const |
number of coefficients per expansions More... | |
void | P2M (uint32_t point, uint32_t receiver) |
adds a point with the given charge to the receiver expansion More... | |
uint32_t | sizeInBytes () const |
returns the size in bytes More... | |
const LinearQuadtree & | tree () |
the quadtree More... | |
Public Attributes | |
BinCoeff< double > | binCoef |
double * | m_localExp |
the big local expansion coeff array More... | |
double * | m_multiExp |
the big multipole expansione coeff array More... | |
uint32_t | m_numCoeff |
the number of coeff per expansions More... | |
uint32_t | m_numExp |
the number of multipole (locale) expansions More... | |
Private Member Functions | |
void | allocate () |
allocates the space for the coeffs More... | |
void | deallocate () |
releases the memory for the coeffs More... | |
Private Attributes | |
const LinearQuadtree & | m_tree |
the Quadtree reference More... | |
Definition at line 45 of file LinearQuadtreeExpansion.h.
ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::LinearQuadtreeExpansion | ( | uint32_t | precision, |
const LinearQuadtree & | tree | ||
) |
constructor
ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::~LinearQuadtreeExpansion | ( | void | ) |
destructor
|
private |
allocates the space for the coeffs
|
private |
releases the memory for the coeffs
void ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::L2L | ( | uint32_t | source, |
uint32_t | receiver | ||
) |
shifts the source local coefficient to the center of the receiver and adds them
void ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::L2P | ( | uint32_t | source, |
uint32_t | point, | ||
float & | fx, | ||
float & | fy | ||
) |
evaluates the derivate of the local expansion at the point and adds the forces to fx fy
|
inline |
returns the array with local coefficients
Definition at line 75 of file LinearQuadtreeExpansion.h.
void ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::M2L | ( | uint32_t | source, |
uint32_t | receiver | ||
) |
converts the source multipole coefficient in to a local coefficients at the center of the receiver and adds them
void ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::M2M | ( | uint32_t | source, |
uint32_t | receiver | ||
) |
shifts the source multipole coefficient to the center of the receiver and adds them
|
inline |
returns the array with multipole coefficients
Definition at line 72 of file LinearQuadtreeExpansion.h.
|
inline |
number of coefficients per expansions
Definition at line 78 of file LinearQuadtreeExpansion.h.
void ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::P2M | ( | uint32_t | point, |
uint32_t | receiver | ||
) |
adds a point with the given charge to the receiver expansion
|
inline |
returns the size in bytes
Definition at line 69 of file LinearQuadtreeExpansion.h.
|
inline |
the quadtree
Definition at line 81 of file LinearQuadtreeExpansion.h.
BinCoeff<double> ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::binCoef |
Definition at line 107 of file LinearQuadtreeExpansion.h.
double* ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::m_localExp |
the big local expansion coeff array
Definition at line 98 of file LinearQuadtreeExpansion.h.
double* ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::m_multiExp |
the big multipole expansione coeff array
Definition at line 95 of file LinearQuadtreeExpansion.h.
uint32_t ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::m_numCoeff |
the number of coeff per expansions
Definition at line 105 of file LinearQuadtreeExpansion.h.
uint32_t ogdf::fast_multipole_embedder::LinearQuadtreeExpansion::m_numExp |
the number of multipole (locale) expansions
Definition at line 102 of file LinearQuadtreeExpansion.h.
|
private |
the Quadtree reference
Definition at line 91 of file LinearQuadtreeExpansion.h.