#include <edge.h>
Collaboration diagram for Edge:
Public Member Functions | |
Edge (Face *const, Vertex *const, Vertex *const, Vertex *const) | |
void | print (std::ostream &) const |
void | update (Face *const, Vertex *const) |
double | getAngle (void) const |
double | getCurvatureLength (Vertex const *const o, Vertex const *const v1, Vertex const *const v2, double const &edge_length) const |
double | getAngleForceEnergy (int const &, vector3 &, bool) const |
void | getAngleReForceEnergy (vector3 &, bool) const |
double | getStretchForceEnergy (Vertex const *const, vector3 &, double const &, bool) const |
Face * | getFace1 (void) const |
Face * | getFace2 (void) const |
Vertex *const | getV1 (void) |
Vertex *const | getV2 (void) |
Vertex *const | getO1 (void) |
Vertex *const | getO2 (void) |
double | getOriginalLength (void) const |
double | getSqLength (void) const |
void Edge::print | ( | std::ostream & | target | ) | const |
Write edge description to specified stream.
[in] | target | Output stream; |
double Edge::getAngle | ( | void | ) | const |
Calculate and return edge angle.
double Edge::getCurvatureLength | ( | Vertex const *const | o, | |
Vertex const *const | vv1, | |||
Vertex const *const | vv2, | |||
double const & | edge_length | |||
) | const |
Get perpendicular length from outer vertex to edge.
[in] | o | Outer vertex of edge. |
[in] | vv1 | One edge vertex. |
[in] | vv2 | Other edge vertex. |
[in] | edge_length | Edge Length. |
double Edge::getAngleForceEnergy | ( | int const & | o2IsRequesting, | |
vector3 & | force, | |||
bool | compute_force | |||
) | const |
Calculate and return angle force vector and energy.
[in] | o2IsRequesting | If nonzero, calculate force and energy at o2 vertex; otherwise calculate for o1 vertex. |
[out] | force | Cumulative force. |
[in] | compute_force | If true then compute force vector; otherwise compute energy only. |
void Edge::getAngleReForceEnergy | ( | vector3 & | force, | |
bool | compute_force | |||
) | const |
Calculate and return angle reaction force vector and energy.
[out] | force | Input force plus reaction force. |
[in] | compute_force | If true then compute reaction force vector; otherwise compute energy only. |
double Edge::getStretchForceEnergy | ( | Vertex const * const | v, | |
vector3 & | force, | |||
double const & | mean, | |||
bool | compute_force | |||
) | const |
Compute and return the force vector and energy due to the stretch of the edge.
[in] | v | Vertex of interest. |
[out] | force | Cumulative force. |
[in] | compute_force | If true then compute force vector; otherwise compute energy only. |
Face* Edge::getFace1 | ( | void | ) | const |
Face* Edge::getFace2 | ( | void | ) | const |
Vertex* const Edge::getV1 | ( | void | ) | [inline] |
Get the first vertex of this edge.
Vertex* const Edge::getV2 | ( | void | ) | [inline] |
Get the second vertex of this edge.
Vertex* const Edge::getO1 | ( | void | ) | [inline] |
Get the non-edge vertex of first adjacent face.
Vertex* const Edge::getO2 | ( | void | ) | [inline] |
Get the non-edge vertex of second adjacent face.
double Edge::getOriginalLength | ( | void | ) | const [inline] |
Get edge original length.
double Edge::getSqLength | ( | void | ) | const [inline] |
Get current squared length of this edge.