Namespace that wraps the Triangle mesh generator's API. More...
Enumerations | |
enum | IO_Type { INPUT = 0, OUTPUT = 1, BOTH = 2 } |
Functions | |
void | init (triangulateio &t) |
void | destroy (triangulateio &t, IO_Type) |
void | copy_tri_to_mesh (const triangulateio &triangle_data_input, UnstructuredMesh &mesh_output, const ElemType type) |
Namespace that wraps the Triangle mesh generator's API.
A special namespace for wrapping the standard Triangle API, as well as some helper functions for initializing/destroying the structs triangle uses to communicate.
void libMesh::TriangleWrapper::copy_tri_to_mesh | ( | const triangulateio & | triangle_data_input, |
UnstructuredMesh & | mesh_output, | ||
const ElemType | type | ||
) |
Copies triangulation data computed by triangle from a triangulateio object to a LibMesh mesh. This routine is used internally by the MeshTools::Generation::build_delaunay_square(...) and MeshTools::Generation::build_delaunay_square_with_hole(...) routines.
Definition at line 103 of file mesh_triangle_wrapper.C.
References libMesh::MeshBase::add_elem(), libMesh::MeshBase::add_point(), libMesh::MeshBase::clear(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshBase::node_ptr(), libMesh::MeshBase::set_mesh_dimension(), libMesh::Elem::set_node(), libMesh::TRI3, and libMesh::TRI6.
Referenced by libMesh::TriangleInterface::triangulate().
void libMesh::TriangleWrapper::destroy | ( | triangulateio & | t, |
IO_Type | |||
) |
Frees any memory which has been dynamically allocated by Triangle.
Referenced by libMesh::TriangleInterface::triangulate().
void libMesh::TriangleWrapper::init | ( | triangulateio & | t | ) |
Initializes the fields of t to nullptr/0 as necessary. This is helpful for preventing the access of uninitialized memory when working with C, which has no constructors or destructors.
Referenced by libMesh::LaspackLinearSolver< T >::adjoint_solve(), libMesh::PetscLinearSolver< T >::adjoint_solve(), libMesh::SlepcEigenSolver< T >::attach_deflation_space(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::EigenSparseVector< T >::init(), libMesh::LaspackVector< T >::init(), libMesh::DistributedVector< T >::init(), libMesh::PetscVector< T >::init(), libMesh::EpetraVector< T >::init(), libMesh::QComposite< QSubCell >::QComposite(), libMesh::SlepcEigenSolver< T >::set_initial_space(), libMesh::EigenSparseLinearSolver< T >::solve(), libMesh::LaspackLinearSolver< T >::solve(), libMesh::NoxNonlinearSolver< Number >::solve(), libMesh::TaoOptimizationSolver< T >::solve(), libMesh::AztecLinearSolver< T >::solve(), libMesh::NloptOptimizationSolver< T >::solve(), libMesh::PetscNonlinearSolver< Number >::solve(), libMesh::PetscLinearSolver< T >::solve(), libMesh::SlepcEigenSolver< T >::solve_generalized(), libMesh::SlepcEigenSolver< T >::solve_standard(), libMesh::TriangleInterface::triangulate(), libMesh::LaspackMatrix< T >::update_sparsity_pattern(), and libMesh::EpetraMatrix< T >::update_sparsity_pattern().