ESyS-Particle
4.0.1
|
class for edge in 2D "mesh" More...
#include <Edge2D.h>
Public Types | |
typedef Vec3(Edge2D::* | VectorFieldFunction )() const |
typedef double(Edge2D::* | ScalarFieldFunction )() const |
Public Member Functions | |
Edge2D (int, int, const Vec3 &, const Vec3 &, int, int) | |
void | moveNode (int, const Vec3 &) |
int | getID () |
void | applyForce (const Vec3 &f) |
void | zeroForce () |
Vec3 | getNormal () const |
Vec3 | toGlobal (const Vec3 &) |
Vec3 | toLocal (const Vec3 &) |
pair< int, Vec3 > | getP0 () const |
pair< int, Vec3 > | getP1 () const |
Vec3 | getForce () const |
Vec3 | getForceDensity () const |
double | getPressure () const |
void | print () |
![]() | |
AEdge (const Vec3 &, const Vec3 &) | |
double | sep (const Vec3 &) const |
pair< bool, double > | dist (const Vec3 &) const |
Vec3 | getBoundingBoxMin () const |
Vec3 | getBoundingBoxMax () const |
Static Public Member Functions | |
static VectorFieldFunction | getVectorFieldFunction (const string &) |
static ScalarFieldFunction | getScalarFieldFunction (const string &) |
Friends | |
ostream & | operator<< (ostream &, const Edge2D &) |
output for debugging purposes |
Additional Inherited Members | |
![]() | |
Vec3 | m_p0 |
Vec3 | m_p1 |
class for edge in 2D "mesh"
construct Edge from corner coordinates. Make sure Z=0 for all corners
id0 | id of the first corner |
id1 | id of the 2nd corner |
v0 | first corner |
v1 | second corner |
ed_id | edge id |
tag | edge tag |
double Edge2D::getPressure | ( | ) | const |
Get pressure on the edge from interaction forces
Referenced by getScalarFieldFunction().
|
static |
Get the Edge2D member function which returns a scalar field of a given name. Returns NULL if a field with that name doesn't exist.
name | the name of the field |
References getPressure().
|
static |
Get the Edge2D member function which returns a vector field of a given name. Returns NULL if a field with that name doesn't exist.
name | the name of the field |
Referenced by TSubLattice< T >::addVectorTriangleField().
void Edge2D::moveNode | ( | int | id, |
const Vec3 & | d | ||
) |
Move one of the corners. The identifier for the corner is the global node id. If the node with the id is not in the edge do nothing.
id | the global id of the node to be moved |
d | the amount of movement |
void Edge2D::print | ( | ) |
output Edge2D to cout
convert point in local coords to global coords
p | the point in local coords |
Referenced by BEdge2DInteraction::calcForces().
convert point in global coords into local (x,y,0) coords
p | the point in global coords |
Referenced by BEdge2DInteraction::BEdge2DInteraction().
|
friend |
output for debugging purposes
output Edge2D to ostream