#include <vertex.h>
Collaboration diagram for Vertex:
Public Member Functions | |
Vertex (int const &, double const &x, double const &y, double const &z, Object *const) | |
Vertex (Vertex const &) | |
Vertex & | operator= (Vertex const &) |
void | print (std::ostream &) const |
void | printCP (std::ostream &) const |
void | setNewPos (vector3 const *const) |
void | setNormal (void) |
void | getBoundingBox (vector3 &, vector3 &) const |
void | updateAdjFaceBoundingBoxes (void) |
void | defineLocalRegion (vector3 &, vector3 &) |
void | getAdjVertices (vec_vp &) const |
void | getAdjacentEdges (vec_ep &) const |
double | getSqSepDist (void) const |
double | getSqVirtualDisp (double) |
vector3 | getNewPos (double) |
void | recordAdjFaceBoundingBoxes (hxa7241_graphics::Vector3r *const adjacent_face_lower, hxa7241_graphics::Vector3r *const adjacent_face_upper) |
void | getTotalForceEnergy (vector3 &) const |
void | getAdjFaceIntForce (vector3 &) const |
double | getEcwForceEnergy (vector3 &, bool) const |
double | getEdgeStretchForceEnergy (vector3 &, bool) const |
double | getFaceAspectRatioForceEnergy (vector3 &, bool) const |
double | getEdgeAngleForceEnergy (vector3 &, bool) const |
Face * | getFaceNotAdjToVertex (Vertex const *const) const |
void | updateAdjacentFaceNormals (void) |
int | getLastRefractoryIter (void) |
void | setLastRefractoryIter (int i) |
void | sortAdjacentFaces (void) |
vector3 | getNormal (void) const |
int | getIndex (void) const |
int | getNumAdjFaces (void) const |
bool | faceIsAdjacent (Face *face) const |
bool | isMatch (int const &i, std::string const &name) const |
void | addAdjacentFace (Face *face) |
double const * | getCoord (int const &axis) const |
Face * | getClosestFace (void) |
void | setFace (Face *const face) |
vector3 const * | getPos (void) const |
void | setPos (double const &x, double const &y, double const &z) |
Object const * | getObject (void) const |
fp_cit | begin (void) const |
fp_cit | end (void) const |
Vertex::Vertex | ( | int const & | in, | |
double const & | x, | |||
double const & | y, | |||
double const & | z, | |||
Object * const | q | |||
) |
Vertex::Vertex | ( | Vertex const & | ) |
void Vertex::print | ( | std::ostream & | target | ) | const |
Print identifying vertex information to output stream.
[in] | target | Pre-initialized output stream. |
void Vertex::printCP | ( | std::ostream & | target | ) | const |
Print to output stream the vertex position in DREaMM custom points format.
[in] | target | Pre-initialized output stream. |
void Vertex::setNewPos | ( | vector3 const * const | new_position | ) |
Set new location for this vertex.
[in] | new_position | New candidate position for this vertex. |
void Vertex::setNormal | ( | void | ) |
Calculate and store vertex normal vector computed as a weighted sum of adjacent face normals.
Calculate and return vertex bounding box as bounding box of collection of adjacent faces.
[out] | lower | Lower corner of bounding box of collection of vertex adjacent faces. |
[out] | upper | Upper corner of bounding box of collection of vertex adjacent faces. |
void Vertex::updateAdjFaceBoundingBoxes | ( | void | ) |
Calculate region around this vertex that is influenced by moving this vertex.
[out] | lower | Lower corner of local region. |
[out] | upper | Upper corner of local region. |
void Vertex::getAdjVertices | ( | vec_vp & | adjacent_vertices | ) | const |
Collect and return vertices adjacent to this vertex.
[out] | adjacent_vertices | Adjacent vertices of this vertex. |
void Vertex::getAdjacentEdges | ( | vec_ep & | adjacent_edges | ) | const |
Collect and return edges adjacent to this vertex.
[out] | adjacent_edges | Adjacent edges of this vertex. |
double Vertex::getSqSepDist | ( | void | ) | const |
Calculare and return squared extracellular width of this vertex.
double Vertex::getSqVirtualDisp | ( | double | gain | ) |
Calculate and return the squared virtual displacement of this vertex.
[in] | gain | Proportionality constant between force and displacement. |
vector3 Vertex::getNewPos | ( | double | gain | ) |
Calculate new vertex position.
[in] | gain | Proportionality between force and displacement. |
void Vertex::recordAdjFaceBoundingBoxes | ( | hxa7241_graphics::Vector3r *const | adjacent_face_lower, | |
hxa7241_graphics::Vector3r *const | adjacent_face_upper | |||
) |
Record bounding box of each adjacent face of this vertex.
void Vertex::getTotalForceEnergy | ( | vector3 & | force | ) | const |
Calculate and return total force at this vertex, but energy is not computed.
[out] | force | Input force plus calculated force from all contributions. |
void Vertex::getAdjFaceIntForce | ( | vector3 & | force | ) | const |
Calculate and return force and/or energy at this vertex due to adjacent face intersections.
[out] | force | Input force plus calculated adjacent face intersection contribution. |
double Vertex::getEcwForceEnergy | ( | vector3 & | force, | |
bool | compute_force | |||
) | const |
Calculate and return the vertex force vector and energy due to the vertex extracellular width.
[out] | force | The force vector due to the extracellular width is added to the input force. |
[in] | compute_force | If true, then compute force and energy; otherwise, compute only the energy. |
double Vertex::getEdgeStretchForceEnergy | ( | vector3 & | force, | |
bool | compute_force | |||
) | const |
Calculate and return force and/or energy at this vertex due to stretch of adjacent edges.
[out] | force | Input force plus calculated edge stretch contribution. |
[in] | compute_force | If true then compute force and energy; otherwise compute energy only. |
double Vertex::getFaceAspectRatioForceEnergy | ( | vector3 & | force, | |
bool | compute_force | |||
) | const |
Calculate and return force and/or energy at this vertex due to aspect ratio of adjacent faces.
[out] | force | Input force plus calculated adjacent face contribution. |
[in] | compute_force | If true then compute force and energy; otherwise compute energy only. |
double Vertex::getEdgeAngleForceEnergy | ( | vector3 & | force, | |
bool | compute_force | |||
) | const |
Calculate and return force and/or energy at this vertex due to distribution of edge angles in adjacent faces of this vertex.
[out] | force | Input force plus calculated edge stretch contribution. |
[in] | compute_force | If true then compute force and energy; otherwise compute energy only. |
Find and return an adjacent face to this vertex that does not contain the input vertex.
[in] | avoided_vertex | Vertex that adjacent face must not reference. |
void Vertex::updateAdjacentFaceNormals | ( | void | ) |
Recalculate normal vectors of faces adjacent to this vertex.
int Vertex::getLastRefractoryIter | ( | void | ) | [inline] |
void Vertex::setLastRefractoryIter | ( | int | i | ) | [inline] |
void Vertex::sortAdjacentFaces | ( | void | ) | [inline] |
Sort stored adjacent faces to this vertex by face pointer.
vector3 Vertex::getNormal | ( | void | ) | const [inline] |
Get stored vertex normal vector.
int Vertex::getIndex | ( | void | ) | const [inline] |
int Vertex::getNumAdjFaces | ( | void | ) | const [inline] |
Calculate and return the number of stored adjacent faces to this vertex.
bool Vertex::faceIsAdjacent | ( | Face * | face | ) | const [inline] |
Determine if input face is adjacent to this vertex.
[in] | face | Face of interest. |
bool Vertex::isMatch | ( | int const & | i, | |
std::string const & | name | |||
) | const [inline] |
Compare input vertex index and object name to this vertex's index and object name.
[in] | i | Input vertex index. |
[in] | name | Input vertex parent object name. |
void Vertex::addAdjacentFace | ( | Face * | face | ) | [inline] |
Record input face as adjacent to this vertex.
[in] | face | New adjacent face to this vertex. |
double const* Vertex::getCoord | ( | int const & | axis | ) | const [inline] |
Retrieve one coordinate of position of this vertex.
[in] | axis | Axis of interest (0,1,2==x,y,z axis respectively). |
Face* Vertex::getClosestFace | ( | void | ) | [inline] |
Retrieve the stored face on which the closest point to this vertex should lie.
void Vertex::setFace | ( | Face *const | face | ) | [inline] |
Record the stored face on which the closest point to this vertex should lie.
[in] | face | Pointer to closet face to this vertex.. |
vector3 const* Vertex::getPos | ( | void | ) | const [inline] |
Retrieve the current position of this vertex.
void Vertex::setPos | ( | double const & | x, | |
double const & | y, | |||
double const & | z | |||
) | [inline] |
Set the position of this vertex.
[in] | x | X coordinate. |
[in] | y | Y coordinate. |
[in] | z | Z coordinate. |
Object const* Vertex::getObject | ( | void | ) | const [inline] |
Retrieve a pointer to the parent Object of this vertex.
fp_cit Vertex::begin | ( | void | ) | const [inline] |
Get an iterator pointing to the first in the collection of adjacent faces to this vertex.
fp_cit Vertex::end | ( | void | ) | const [inline] |
Get an iterator pointing to one past the last in the collection of adjacent faces to this vertex.