|
flippy
a c++20 package for dynamically triangulated membrane simulations.
|
A helper struct. Used by the triangulation class to pass data around in one convenient package. More...
#include <Triangulation.hpp>

Public Member Functions | |
| Geometry () | |
| Default constructor, that zero initiates all the data members. | |
| Geometry (Node const &node) | |
| Construct from a node. | |
| Geometry (Real area_inp, Real volume_inp) | |
| Direct Constructor. | |
| void | operator+= (Node const &node) |
| Overloaded addition and assignment operator. | |
Public Attributes | |
| Real | area |
| Area of the patch. Sum over the associated areas of individual nodes that comprise the patch. (Compare to Node::area). | |
| Real | volume |
Friends | |
| Geometry | operator+ (Geometry const &lhs, Geometry const &rhs) |
| Overloaded addition operator. | |
| Geometry | operator- (Geometry const &lhs, Geometry const &rhs) |
| Overloaded subtraction operator. | |
| void | operator+= (Geometry &lhs, Geometry const &rhs) |
| Overloaded addition and assignment operator. | |
| void | operator-= (Geometry &lhs, Geometry const &rhs) |
| Overloaded subtraction and assignment operator. | |
A helper struct. Used by the triangulation class to pass data around in one convenient package.
Geometry is a struct that contains the usually needed geometric data in a triangulation. This struct can hold such data for a single node, a collection of nodes, or the entire triangulation. In the abstract, the fp::Geometry struct contains geometric data associated with some surface patch. This is useful since we often need to aggregate information for a node and its neighboring nodes.
The Data members of this struct are public, and thus, it does not guarantee the correctness or consistency of the data it holds, since it can be changed externally. The geometry struct also provides overloaded arithmetic operators, that are usually useful when aggregating geometric data from single nodes over a larger patch of the surface.
| Real | type that will be used for all floating point numbers inside this class/struct. Any data type that satisfies the floating_point_number concept is allowed, for example, float. |
| Index | type that will be used for all integer numbers inside this class/struct. Any data type that satisfies the indexing_number concept is allowed, for example, unsigned int. |
|
inlineexplicit |
Construct from a node.
| node | Initiates data members of the struct with the geometric values of this single node. |
|
inline |
Direct Constructor.
Initiates data members from directly provided numeric values.
| area_inp | Input area. |
| volume_inp | Input volume. |
| unit_bending_energy_inp | Input unit bending energy. |
|
inline |
Overloaded addition operator.
Implements addition between two Geometries. Each data member of lhs and rhs Geometries is added pairwise and stored in the corresponding data member of the returned struct.
| lhs | |
| rhs |
Overloaded subtraction operator.
Implements subtraction between two Geometries. Each data member of lhs and rhs Geometries is subtracted pairwise and stored in the corresponding data member of the returned struct.
| lhs | |
| rhs |
Overloaded addition and assignment operator.
Works through the use of an already overloaded addition operator and simply performs lhs = lhs + rhs;.
| lhs | |
| rhs |
Overloaded subtraction and assignment operator.
Works through the use of an already overloaded subtraction operator and simply performs lhs = lhs - rhs;.
| lhs | |
| rhs |
| Real fp::Geometry::volume |
Volume of the patch. Sum over the associated volumes of individual nodes that comprise the patch. (Compare to Node::volume).