|
OpenBEM
Open-source framework for electromagnetic simulation with the boundary element method.
|
Class defining a mesh with triangle elements. More...
#include <triangle_mesh.hpp>
Inheritance diagram for bem::TriangleMesh< dim >:Class defining a mesh with triangle elements.
| dim | - The dimension of the mesh (2 or 3). |
Definition at line 39 of file triangle_mesh.hpp.
|
inline |
Constructs an empty TriangleMesh.
Definition at line 51 of file triangle_mesh.hpp.
|
inline |
Constructs a TriangleMesh with given vertex and element data.
| [in] | verts | - Coordinates of the mesh vertices. |
| [in] | elems | - Element-wise triplets of vertex indices. |
| [in] | decoupled_edges | - If true, edges are unique to each element (optional). |
Definition at line 60 of file triangle_mesh.hpp.
|
inline |
Constructs a TriangleMesh with given vertex and element data, and element tags.
| [in] | verts | - Coordinates of the mesh vertices. |
| [in] | elems | - Element-wise triplets of vertex indices. |
| [in] | elem_tags | - Element-wise tags. |
| [in] | decoupled_edges | - If true, edges are unique to each element (optional). |
Elements that have the same tag are considered to be part of the same region, for the purpose of defining edges. I.e., an edge between two elements is formed only if they have the same tag.
Definition at line 83 of file triangle_mesh.hpp.
| void bem::TriangleMesh< dim >::set_data | ( | ConstEigRef< EigMatNX< Float, dim > > | verts, |
| ConstEigRef< EigMatNX< Index, 3 > > | elems, | ||
| ConstEigRef< EigRowVec< Index > > | elem_tags, | ||
| const bool | decoupled_edges = false |
||
| ) |
Sets the mesh data.
| [in] | verts | - Coordinates of the mesh vertices. |
| [in] | elems | - Element-wise triplets of vertex indices. |
| [in] | elem_tags | - Element-wise tags. |
| [in] | decoupled_edges | - If true, edges are unique to each element (optional). |
Elements that have the same tag are considered to be part of the same region, for the purpose of defining edges. I.e., an edge between two elements is formed only if they have the same tag.
Definition at line 36 of file triangle_mesh.cpp.
Returns index pairs of vertices of each edge in the mesh.
Definition at line 118 of file triangle_mesh.hpp.
|
inline |
Returns the vertex indices of a specific edge.
| [in] | idx | - Index of the edge. |
Definition at line 127 of file triangle_mesh.hpp.
|
inline |
Returns the index of a specific vertex of a specific edge.
| [in] | vert | - Vertex index (0 or 1). |
| [in] | edge | - Index of the edge. |
Definition at line 137 of file triangle_mesh.hpp.
|
inline |
Returns the edge indices of each element in the mesh.
Definition at line 145 of file triangle_mesh.hpp.
|
inline |
Returns the edge indices of a specific element.
| [in] | idx | - Index of the element. |
Definition at line 154 of file triangle_mesh.hpp.
|
inline |
Returns the index of a specific edge of a specific element.
| [in] | edge | - Edge index (0, 1, or 2). |
| [in] | elem | - Index of the element. |
Definition at line 164 of file triangle_mesh.hpp.
|
inline |
Returns the polarities of the edges of each element.
Definition at line 172 of file triangle_mesh.hpp.
|
inline |
Returns the polarities of the edges of a specific element.
| [in] | idx | - Index of the element. |
Definition at line 181 of file triangle_mesh.hpp.
|
inline |
Returns the polarity of a specific edge of a specific element.
| [in] | edge | - Edge index (0, 1, or 2). |
| [in] | elem | - Index of the element. |
Definition at line 191 of file triangle_mesh.hpp.
|
inline |
Returns the indices of boundary elements in the mesh.
Definition at line 199 of file triangle_mesh.hpp.
|
inline |
Returns the indices of junction elements in the mesh.
Definition at line 207 of file triangle_mesh.hpp.
|
inline |
Returns the indices of internal elements in the mesh.
Definition at line 215 of file triangle_mesh.hpp.
|
inline |
Returns the indices of boundary edges in the mesh.
Definition at line 223 of file triangle_mesh.hpp.
|
inline |
Returns the indices of junction edges in the mesh.
Definition at line 231 of file triangle_mesh.hpp.
|
inline |
Returns the indices of internal edges in the mesh.
Definition at line 239 of file triangle_mesh.hpp.
|
inline |
Returns the number of edges in the mesh.
Definition at line 247 of file triangle_mesh.hpp.
| void bem::TriangleMesh< dim >::partition_by_elems | ( | MeshBase< dim, 3 > & | partition, |
| ConstEigRef< EigRowVec< Index > > | elem_inds | ||
| ) | const |
Returns a sub-mesh that contains only specified elements of this mesh.
| [out] | partition | - Partitioned mesh object containing the specified elements. |
| [in] | elem_inds | - Indices of elements to keep in the sub-mesh. |
Definition at line 53 of file triangle_mesh.cpp.
| void bem::TriangleMesh< dim >::partition_by_bbox | ( | MeshBase< dim, 3 > & | partition, |
| ConstEigRef< EigMatMN< Float, dim, 2 > > | bbox, | ||
| const bool | strict = true |
||
| ) | const |
Returns a sub-mesh that contains only elements of this mesh that lie within a given bounding box.
| [out] | partition | - Partitioned mesh object containing elements within the given bounding box. |
| [in] | bbox | - Bounding box defined by two corners (min and max). |
| [in] | strict | - If true, only elements fully contained within the bounding box are included (optional). |
Definition at line 102 of file triangle_mesh.cpp.
|
inline |
Returns a Triangle primitive object representing a specific element of the mesh.
| [in] | elem | - Index of the element. |
Triangle object representing the specified element. Definition at line 280 of file triangle_mesh.hpp.
|
inlinevirtual |
Reverses the orientation of each element.
Reimplemented from bem::MeshBase< dim, 3 >.
Definition at line 292 of file triangle_mesh.hpp.
|
protected |
Generates edges for the mesh based on element vertices.
Edges are generated tag-wise. Tags represent distinct mesh regions, and edges cannot be associated with two elements that belong to different mesh regions. For example, if two mesh regions are in contact with one another, each region will have its own edges, rather than creating artificial junctions at the point of contact.
Definition at line 150 of file triangle_mesh.cpp.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Returns the tag associated with a specified element.
Elements that have the same tag are considered to be part of the same region, for the purpose of defining edges. I.e., an edge between two elements is formed only if they have the same tag.
|
inlineinherited |
|
inlineinherited |
|
pure virtualinherited |
Returns a sub-mesh that contains only specified elements of this mesh.
| [out] | partition | - Partitioned mesh object containing the specified elements. |
| [in] | elem_inds | - Indices of elements to keep in the sub-mesh. |
|
inlineinherited |
|
protected |
Definition at line 313 of file triangle_mesh.hpp.
|
protected |
Definition at line 315 of file triangle_mesh.hpp.
|
protected |
Definition at line 316 of file triangle_mesh.hpp.
|
protected |
Definition at line 317 of file triangle_mesh.hpp.
|
protected |
Definition at line 319 of file triangle_mesh.hpp.
|
protected |
Definition at line 320 of file triangle_mesh.hpp.
|
protected |
Definition at line 321 of file triangle_mesh.hpp.
|
protected |
Definition at line 323 of file triangle_mesh.hpp.
|
protected |
Definition at line 324 of file triangle_mesh.hpp.
|
protected |
Definition at line 325 of file triangle_mesh.hpp.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |