ug4
|
#include <fractured_media_refiner.h>
Public Member Functions | |
FracturedMediaRefiner (SPRefinementProjector projector=SPNULL) | |
FracturedMediaRefiner (TGrid &g, SPRefinementProjector projector=SPNULL) | |
virtual bool | mark (Face *f, RefinementMark refMark=RM_REFINE) |
Marks a face for refinement. More... | |
void | set_aspect_ratio_threshold (number threshold) |
if the aspect ratio is smaller then the given threshold, the element is considered a fracture element. More... | |
void | set_position_attachment (TAPosition &aPos) |
virtual | ~FracturedMediaRefiner () |
Protected Member Functions | |
number | aspect_ratio (Face *f) |
virtual void | collect_objects_for_refine () |
Private Types | |
typedef THangingNodeRefiner< TGrid > | BaseClass |
Private Attributes | |
Grid::VertexAttachmentAccessor< TAPosition > | m_aaPos |
number | m_aspectRatioThreshold |
std::queue< Face * > | m_queDegeneratedFaces |
This class takes special care for degenerated fractures during refinement. Degenerated faces are refined using anisotropic refinement, so that their degenerated sides are not refined.
Currently this only works in 2d.
Add support for degenerated volumes
Use a IsDegenerated callback instead of thresholds
|
private |
ug::FracturedMediaRefiner< TGrid, TAPosition >::FracturedMediaRefiner | ( | SPRefinementProjector | projector = SPNULL | ) |
ug::FracturedMediaRefiner< TGrid, TAPosition >::FracturedMediaRefiner | ( | TGrid & | g, |
SPRefinementProjector | projector = SPNULL |
||
) |
|
virtual |
|
protected |
References ug::Face::edge_desc(), ug::EdgeLength(), ug::Face::num_edges(), and UG_THROW.
|
protectedvirtual |
References ug::CollectAssociated(), ug::EdgeLength(), ug::RM_ANISOTROPIC, ug::RM_NONE, ug::RM_REFINE, ug::SMALL, and UG_THROW.
|
virtual |
Marks a face for refinement.
Uses the degenerated-edge-threshold to determine, whether the face is a fracture-face or not. Make sure to specify a position attachment before marking any elements.
References UG_ASSERT.
void ug::FracturedMediaRefiner< TGrid, TAPosition >::set_aspect_ratio_threshold | ( | number | threshold | ) |
if the aspect ratio is smaller then the given threshold, the element is considered a fracture element.
void ug::FracturedMediaRefiner< TGrid, TAPosition >::set_position_attachment | ( | TAPosition & | aPos | ) |
|
private |
|
private |
|
private |