33    std::map<edge, std::vector<triInd> > 
edges;
 
   38    std::map<vertInd, std::vector<triInd> > 
vertTri;
 
   57    std::vector<Vec> 
resolvePoints(std::vector<vertInd> vertInds);
 
  122    template <
typename T>
 
  125        for (
int i = 0; i < 
triangles.size(); i++) {
 
  126            res += std::abs(interp(func, 
triangles[i]));
 
 
  180    const std::map<std::pair<int, int>, std::vector<int> > &
getEdges() 
const;
 
 
Shallow class allowing Mesh to be imported in classes which Mesh owns.
Definition IMesh.hpp:14
 
int vertInd
Type representing an index of a vertex.
Definition IMesh.hpp:23
 
int triInd
Type representing an index of a triangle.
Definition IMesh.hpp:27
 
Parent class of all objects, contains full triangulation and its constituent parts.
Definition Mesh.hpp:21
 
void updateVertTri(triInd triInd, std::vector< vertInd > vertInds)
Implementation of IMesh::updateVertTri Add Triangle represented by triInd to vertTri.
Definition Mesh.cpp:274
 
bool isDelaunay()
Checks whether mesh is Delauney.
Definition Mesh.cpp:193
 
const std::map< int, Vertex > & getVertices() const
Accessor to private member vertices.
Definition Mesh.cpp:16
 
double integrate(T func, double(*interp)(T, const Triangle &))
Estimate the integral of the function func over the mesh.
Definition Mesh.hpp:123
 
std::map< vertInd, std::vector< triInd > > vertTri
Map of a vertex index to a vector of triangles using them.
Definition Mesh.hpp:38
 
bool operator!=(const Mesh &rhs) const
Not-equality operator.
Definition Mesh.cpp:300
 
std::map< vertInd, Vertex > vertices
Map of vertex indices to vertices they refer to.
Definition Mesh.hpp:27
 
void setVertexAttributes(int verAttr)
Mutator for private member vertexAttributes.
Definition Mesh.cpp:36
 
Mesh()
Default contructor.
Definition Mesh.hpp:44
 
void removeVertTri(triInd triInd, std::vector< vertInd > rVertInds)
Implementation of IMesh::removeVertTri Remove triangle index from vertTri.
Definition Mesh.cpp:282
 
int containingTriangle(double x, double y)
Find the triangle which contains the point .
Definition Mesh.cpp:183
 
friend std::ofstream & operator<<(std::ofstream &ofs, Mesh &mesh)
Output filestream operator.
Definition Mesh.cpp:149
 
std::vector< int > adjacentTriangles(triInd triInd)
Find all triangles that share an edge with triangle represented by triInd.
Definition Mesh.cpp:241
 
int getTriangleAttributes() const
Accessor for private member triangleAttributes.
Definition Mesh.cpp:40
 
std::vector< Vec > resolvePoints(std::vector< vertInd > vertInds)
Implementation of IMesh::resolvePoints Resolves vector of vertex indices to vector of vertex pointers...
Definition Mesh.cpp:167
 
std::vector< edge > newEdges(triInd triInd, const std::vector< vertInd > &vert)
Implementation of IMesh::newEdges Adds triangle's new edges to map.
Definition Mesh.cpp:215
 
int getDimensions() const
Accessor for private member dimensions.
Definition Mesh.cpp:48
 
std::map< triInd, Triangle > triangles
Map of triangle indices to triangles they refer to.
Definition Mesh.hpp:26
 
~Mesh()
Default destructor.
Definition Mesh.hpp:48
 
bool operator==(const Mesh &rhs) const
Equality operator.
Definition Mesh.cpp:290
 
void setTriangleAttributes(int triAttr)
Mutator for private member triangleAttributes.
Definition Mesh.cpp:44
 
std::map< edge, std::vector< triInd > > edges
Map of pairs of vertex indices (representing an edge) to a vector of triangles using them.
Definition Mesh.hpp:33
 
int getVertexAttributes() const
Accessor for private member vertexAttributes.
Definition Mesh.cpp:32
 
void setTriangles(const std::map< int, Triangle > &triangles)
Mutator for private member triangles.
Definition Mesh.cpp:28
 
const std::map< int, Triangle > & getTriangles() const
Accessor to private member vertices.
Definition Mesh.cpp:24
 
const std::map< std::pair< int, int >, std::vector< int > > & getEdges() const
Accessor for private member edges.
Definition Mesh.cpp:237
 
int vertexAttributes
Number of attributes in a vertex object.
Definition Mesh.hpp:23
 
int triangleAttributes
Number of attributes in a triangle object.
Definition Mesh.hpp:24
 
void removeEdges(triInd triInd, const std::vector< edge > &rEdge)
Implementation of IMesh::removeEdges Remove triangle's old edges from map.
Definition Mesh.cpp:258
 
void setVertices(const std::map< int, Vertex > &vertices)
Mutator for private member vertices.
Definition Mesh.cpp:20
 
void recalcCircum(vertInd vertInd)
Implementation of IMesh::recalcCircum Recalculate the Triangle::circumcircle of all Triangles using v...
Definition Mesh.cpp:266
 
friend std::ifstream & operator>>(std::ifstream &ifs, Mesh &mesh)
Input filestream operator.
Definition Mesh.cpp:52
 
int dimensions
Number of dimensions of the mesh.
Definition Mesh.hpp:25
 
Class representing a polygon with 3 points and its member functions.
Definition Triangle.hpp:17