MFEM v4.9.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::VertexToKnotSpan Class Reference

For a NURBS mesh with nonconforming patch topology, this struct provides a map from hanging vertices in the patch topology to the knotvector of a neighboring patch. This facilitates ensuring mesh conformity. More...

#include <ncmesh.hpp>

Public Member Functions

void SetSize (int dimension, int numVertices)
 Set the spatial dimension and number of vertices.
 
void SetVertex2D (int index, int v, int ks, const std::array< int, 2 > &pv)
 Set the data for a vertex in 2D.
 
void SetVertex3D (int index, int v, const std::array< int, 2 > &ks, const std::array< int, 4 > &pv)
 Set the data for a vertex in 3D.
 
void SetKnotSpan2D (int index, int ks)
 Set the knot-span index for a vertex in 2D.
 
void SetKnotSpans3D (int index, const std::array< int, 2 > &ks)
 Set the knot-span indices for a vertex in 3D.
 
void GetVertex2D (int index, int &v, int &ks, std::array< int, 2 > &pv) const
 Get the data for a vertex in 2D.
 
void GetVertex3D (int index, int &v, std::array< int, 2 > &ks, std::array< int, 4 > &pv) const
 Get the data for a vertex in 3D.
 
void Print (std::ostream &os) const
 Print all the data.
 
int Size () const
 Return the number of vertices.
 
std::pair< int, int > GetVertexParentPair (int index) const
 Return the vertex pair representing the parent edge (2D) or face (3D).
 

Detailed Description

For a NURBS mesh with nonconforming patch topology, this struct provides a map from hanging vertices in the patch topology to the knotvector of a neighboring patch. This facilitates ensuring mesh conformity.

Definition at line 121 of file ncmesh.hpp.

Member Function Documentation

◆ GetVertex2D()

void mfem::VertexToKnotSpan::GetVertex2D ( int index,
int & v,
int & ks,
std::array< int, 2 > & pv ) const

Get the data for a vertex in 2D.

Definition at line 3284 of file ncnurbs.cpp.

◆ GetVertex3D()

void mfem::VertexToKnotSpan::GetVertex3D ( int index,
int & v,
std::array< int, 2 > & ks,
std::array< int, 4 > & pv ) const

Get the data for a vertex in 3D.

Definition at line 3293 of file ncnurbs.cpp.

◆ GetVertexParentPair()

std::pair< int, int > mfem::VertexToKnotSpan::GetVertexParentPair ( int index) const

Return the vertex pair representing the parent edge (2D) or face (3D).

Definition at line 3321 of file ncnurbs.cpp.

◆ Print()

void mfem::VertexToKnotSpan::Print ( std::ostream & os) const

Print all the data.

Definition at line 3305 of file ncnurbs.cpp.

◆ SetKnotSpan2D()

void mfem::VertexToKnotSpan::SetKnotSpan2D ( int index,
int ks )

Set the knot-span index for a vertex in 2D.

Definition at line 3273 of file ncnurbs.cpp.

◆ SetKnotSpans3D()

void mfem::VertexToKnotSpan::SetKnotSpans3D ( int index,
const std::array< int, 2 > & ks )

Set the knot-span indices for a vertex in 3D.

Definition at line 3278 of file ncnurbs.cpp.

◆ SetSize()

void mfem::VertexToKnotSpan::SetSize ( int dimension,
int numVertices )

Set the spatial dimension and number of vertices.

Definition at line 3244 of file ncnurbs.cpp.

◆ SetVertex2D()

void mfem::VertexToKnotSpan::SetVertex2D ( int index,
int v,
int ks,
const std::array< int, 2 > & pv )

Set the data for a vertex in 2D.

Definition at line 3251 of file ncnurbs.cpp.

◆ SetVertex3D()

void mfem::VertexToKnotSpan::SetVertex3D ( int index,
int v,
const std::array< int, 2 > & ks,
const std::array< int, 4 > & pv )

Set the data for a vertex in 3D.

Definition at line 3260 of file ncnurbs.cpp.

◆ Size()

int mfem::VertexToKnotSpan::Size ( ) const
inline

Return the number of vertices.

Definition at line 157 of file ncmesh.hpp.


The documentation for this class was generated from the following files: