Patch constructor for extraordinary patches. See PatchConstructor.
More...
#include <ExtraordinaryPatchConstructor.hpp>
|
| bool | isSamePatchType (const VertexHandle &a_VertexHandle, MeshType &a_Mesh, bool check_marked=false) override |
| | Given a vertex, checks wither the vertex and the neighborhood arund the vertex of this patch type.
|
| PatchBuilder | getPatchBuilder (const VertexHandle &a_VertexHandle, MeshType &a_Mesh, bool mark_gathered=false) override |
| | Constructs a PatchBuilder for the patch type at the given vertex.
|
| std::string | getGroupName () const |
| | Returns the name of the patch group this constructor handles.
|
| virtual bool | isSamePatchType (const FaceHandle &, MeshType &a_Mesh, bool check_marked=false) |
| | Given a face, checks wither the face and the neighborhood arund the face of this patch type.
|
| virtual PatchBuilder | getPatchBuilder (const FaceHandle &, MeshType &a_Mesh, bool mark_gathered=false) |
| | Constructs a PatchBuilder for the patch type at the given face.
|
|
| Mat48x7d | getMaskSct3 () |
| | Retrieves the mask for the extraordinary patch with valence = 3.
|
| Mat80x11d | getMaskSct5 () |
| | Retrieves the mask for the extraordinary patch with valence = 5.
|
| Mat384x13d | getMaskSct6 () |
| | Retrieves the mask for the extraordinary patch with valence = 6.
|
| Mat448x15d | getMaskSct7 () |
| | Retrieves the mask for the extraordinary patch with valence = 7.
|
| Mat512x17d | getMaskSct8 () |
| | Retrieves the mask for the extraordinary patch with valence = 8.
|
| std::vector< VertexHandle > | initNeighborVerts (const VertexHandle &a_VertexHandle, MeshType &a_Mesh) |
| | Gather the list of neighboring vertices around a given vertex in the expected order to be compatable with mask. ex for valence = 3:
|
|
|
const Mat48x7d | m_MaskSct3 |
| | The mask for the extraordinary patch with valence = 3.
|
|
const Mat80x11d | m_MaskSct5 |
| | The mask for the extraordinary patch with valence = 5.
|
|
const Mat384x13d | m_MaskSct6 |
| | The mask for the extraordinary patch with valence = 6.
|
|
const Mat448x15d | m_MaskSct7 |
| | The mask for the extraordinary patch with valence = 7.
|
|
const Mat512x17d | m_MaskSct8 |
| | The mask for the extraordinary patch with valence = 8.
|
Patch constructor for extraordinary patches. See PatchConstructor.
◆ getGroupName()
| std::string ExtraordinaryPatchConstructor::getGroupName |
( |
| ) |
const |
|
virtual |
Returns the name of the patch group this constructor handles.
This method must be implemented in derived classes to return the specific patch group name.
- Returns
- The name of the patch group.
Implements PatchConstructor.
◆ getMaskSct3()
| Mat48x7d ExtraordinaryPatchConstructor::getMaskSct3 |
( |
| ) |
|
|
private |
Retrieves the mask for the extraordinary patch with valence = 3.
- Returns
- The mask as a Mat48x7d object.
◆ getMaskSct5()
| Mat80x11d ExtraordinaryPatchConstructor::getMaskSct5 |
( |
| ) |
|
|
private |
Retrieves the mask for the extraordinary patch with valence = 5.
- Returns
- The mask as a Mat80x11d object.
◆ getMaskSct6()
| Mat384x13d ExtraordinaryPatchConstructor::getMaskSct6 |
( |
| ) |
|
|
private |
Retrieves the mask for the extraordinary patch with valence = 6.
- Returns
- The mask as a Mat384x13d object.
◆ getMaskSct7()
| Mat448x15d ExtraordinaryPatchConstructor::getMaskSct7 |
( |
| ) |
|
|
private |
Retrieves the mask for the extraordinary patch with valence = 7.
- Returns
- The mask as a Mat448x15d object.
◆ getMaskSct8()
| Mat512x17d ExtraordinaryPatchConstructor::getMaskSct8 |
( |
| ) |
|
|
private |
Retrieves the mask for the extraordinary patch with valence = 8.
- Returns
- The mask as a Mat512x17d object.
◆ getPatchBuilder()
| PatchBuilder ExtraordinaryPatchConstructor::getPatchBuilder |
( |
const VertexHandle & | , |
|
|
MeshType & | a_Mesh, |
|
|
bool | mark_gathered = false ) |
|
overridevirtual |
Constructs a PatchBuilder for the patch type at the given vertex.
- Parameters
-
| a_Mesh | The mesh to which the vertex belongs. |
| mark_gathered | If true, all vertices gathered for the patch will be marked. See Helper::mark_vert. |
- Returns
- A PatchBuilder configured for the patch type at the given vertex.
- Exceptions
-
| std::runtime_error | if not implemented in derived class. |
Reimplemented from PatchConstructor.
◆ initNeighborVerts()
| std::vector< VertexHandle > ExtraordinaryPatchConstructor::initNeighborVerts |
( |
const VertexHandle & | a_VertexHandle, |
|
|
MeshType & | a_Mesh ) |
|
private |
Gather the list of neighboring vertices around a given vertex in the expected order to be compatable with mask. ex for valence = 3:
0
/ | \
/ | \
1 6 5
\ / \ /
2 4
\ /
3
- Parameters
-
| a_VertexHandle | The vertex handle around for which to initialize neighbors. |
| a_Mesh | The mesh to which the vertex belongs. |
- Returns
- A vector of neighboring vertex handles.
◆ isSamePatchType()
| bool ExtraordinaryPatchConstructor::isSamePatchType |
( |
const VertexHandle & | , |
|
|
MeshType & | a_Mesh, |
|
|
bool | check_marked = false ) |
|
overridevirtual |
Given a vertex, checks wither the vertex and the neighborhood arund the vertex of this patch type.
- Parameters
-
| a_Mesh | The mesh to which the vertex belongs. |
| check_marked | If true, the function will return false if the vertex is marked. See Helper::is_marked. |
- Returns
- true if the vertex and its neighborhood match this patch type.
Reimplemented from PatchConstructor.
The documentation for this class was generated from the following files: