18 : idxs{ other[0], other[1], other[2] } {}
39 return idxs == other.idxs;
43 return idxs != other.idxs;
uint32_t Size
Integral type used to index arrays (by default).
double Float
Precision used withing the code. Use Float instead of float or double where precision is important.
void refineMesh(Mesh &mesh)
Improves mesh quality using edge flips (valence equalization) and tangential relaxation.
bool isMeshClosed(const Mesh &mesh)
Checks if the mesh represents a single closed surface.
void subdivideMesh(Mesh &mesh)
Subdivides all triangles of the mesh using 1-4 scheme.
Mesh getMeshFromTriangles(ArrayView< const Triangle > triangles, const Float eps)
Converts array of triangles into a mesh.
Array< Triangle > getTrianglesFromMesh(const Mesh &mesh)
Expands the mesh into an array of triangles.
#define NAMESPACE_SPH_END
Object providing safe access to continuous memory of data.
Generic dynamically allocated resizable storage.
Size & operator[](const int i)
bool operator==(const Face &other) const
bool operator!=(const Face &other) const
Face & operator=(const Face &other)
Size operator[](const int i) const
Face(const Size a, const Size b, const Size c)