G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsPeriodicParametrization< T >::FlatMesh Class Reference

Detailed Description

template<class T>
class gismo::gsPeriodicParametrization< T >::FlatMesh

Nested class for plotting flat meshes restricted to [0, 1]^2.

Public Member Functions

gsMesh< T > createRestrictedFlatMesh () const
 Trims the mesh to [0, 1]^2.
 
 FlatMesh (const gsMesh< T > &unfolded)
 

Protected Member Functions

void addOneFlatTriangleNotIntersectingBoundary (gsMesh< T > &mesh, const VertexHandle &v0, const VertexHandle &v1, const VertexHandle &v2) const
 Adds a flat triangle and shifts it inside the domain if necessary.
 
void addThreeFlatTrianglesOneOut (gsMesh< T > &mesh, const VertexHandle &v0, const VertexHandle &v1, const VertexHandle &v2) const
 
void addThreeFlatTrianglesTwoOut (gsMesh< T > &mesh, const VertexHandle &v0, const VertexHandle &v1, const VertexHandle &v2) const
 
real_t correspondingV (const VertexHandle &v0, const VertexHandle &v1, real_t u) const
 

Protected Attributes

gsHalfEdgeMesh< T > m_unfolded
 flat mesh possibly intersecting the domain boundaries
 

Constructor & Destructor Documentation

FlatMesh ( const gsMesh< T > &  unfolded)
inline

Constructor. unfolded Flat mesh possibly intersecting the domain boundaries.

Member Function Documentation

void addThreeFlatTrianglesOneOut ( gsMesh< T > &  mesh,
const VertexHandle v0,
const VertexHandle v1,
const VertexHandle v2 
) const
protected

Adds three flat triangles in the situation where one of the vertices of the original triangle is outside the domain. v1 is outside the domain, v0 and v2 inside.

void addThreeFlatTrianglesTwoOut ( gsMesh< T > &  mesh,
const VertexHandle v0,
const VertexHandle v1,
const VertexHandle v2 
) const
protected

Adds three flat triangles in the situation where two of the vertices of the original triangle are outside the domain. v1 is inside the domain, v0 and v2 outside.

real_t correspondingV ( const VertexHandle v0,
const VertexHandle v1,
real_t  u 
) const
protected

Finds the v-coordinate of the point on the line segment (v0, v1) that has the u-coordinate u.