Edge Class Reference

#include <edge.h>

Collaboration diagram for Edge:

Collaboration graph
[legend]
List of all members.

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
FacegetFace1 (void) const
FacegetFace2 (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

Constructor & Destructor Documentation

Edge::Edge ( Face const,
Vertex const,
Vertex const,
Vertex const 
)


Member Function Documentation

void Edge::print ( std::ostream &  target  )  const

Write edge description to specified stream.

Parameters:
[in] target Output stream;

void Edge::update ( Face * const  f,
Vertex * const  vc 
)

Add input Face pointer to this Edge.

Parameters:
[in] f Face pointer.
[in] vc Pointer to vertex of second adjacent face to this edge that is not part of this edge.

double Edge::getAngle ( void   )  const

Calculate and return edge angle.

Returns:
Edge angle in radians.

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.

Parameters:
[in] o Outer vertex of edge.
[in] vv1 One edge vertex.
[in] vv2 Other edge vertex.
[in] edge_length Edge Length.
Returns:
Perpendicular distance from outer vertex to edge.

double Edge::getAngleForceEnergy ( int const &  o2IsRequesting,
vector3 force,
bool  compute_force 
) const

Calculate and return angle force vector and energy.

Parameters:
[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.
Returns:
Angle energy.

void Edge::getAngleReForceEnergy ( vector3 force,
bool  compute_force 
) const

Calculate and return angle reaction force vector and energy.

Parameters:
[out] force Input force plus reaction force.
[in] compute_force If true then compute reaction force vector; otherwise compute energy only.
Returns:
Reaction energy.

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.

Parameters:
[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.

Returns:
First vertex of this edge.

Vertex* const Edge::getV2 ( void   )  [inline]

Get the second vertex of this edge.

Returns:
Second vertex of this edge.

Vertex* const Edge::getO1 ( void   )  [inline]

Get the non-edge vertex of first adjacent face.

Returns:
Non-edge vertex of first adjacent face.

Vertex* const Edge::getO2 ( void   )  [inline]

Get the non-edge vertex of second adjacent face.

Returns:
Non-edge vertex of second adjacent face.

double Edge::getOriginalLength ( void   )  const [inline]

Get edge original length.

Returns:
Edge original length.

double Edge::getSqLength ( void   )  const [inline]

Get current squared length of this edge.

Returns:
Current squared length of this edge.


The documentation for this class was generated from the following files:
Generated on Fri Feb 13 13:58:40 2009 for meshmorph by  doxygen 1.5.1