|
FEAT 3
Finite Element Analysis Toolbox
|
Fixed-Sized Vertex Set class template. More...
#include <vertex_set.hpp>
Public Types | |
| typedef Coord_ | CoordType |
| vertex coordinate type More... | |
| typedef Tiny::Vector< CoordType, num_coords > | VertexType |
| vertex type More... | |
Public Member Functions | |
| VertexSet () | |
| standard constructor More... | |
| VertexSet (Index num_vertices) | |
| Constructor. More... | |
| VertexSet (VertexSet &&other) | |
| move constructor More... | |
| virtual | ~VertexSet () |
| virtual destructor More... | |
| VertexType * | begin () |
| Iterator to the first element. More... | |
| const VertexType * | begin () const |
| Iterator to the first element. More... | |
| std::size_t | bytes () const |
| VertexSet | clone () const |
| template<typename DT2_ > | |
| std::vector< Tiny::Vector< DT2_, num_coords > > | clone_internal_vector () const |
| VertexType * | end () |
| Iterator past the last element. More... | |
| const VertexType * | end () const |
| Iterator to the first element. More... | |
| int | get_num_coords () const |
| Returns the number of coordinates per vertex. More... | |
| Index | get_num_vertices () const |
| Returns the number of vertices in the vertex set. More... | |
| VertexSet & | operator= (VertexSet &&other) |
| move-assignment operator More... | |
| VertexType & | operator[] (Index i) |
| Returns a reference to a vertex. More... | |
| const VertexType & | operator[] (Index i) const |
| Returns a reference to a vertex. More... | |
| void | permute (const Adjacency::Permutation &perm, bool invert=false) |
| Applies a permutation onto this vertex set. More... | |
| void | transform (const VertexType &origin, const VertexType &angles, const VertexType &offset) |
| Applies a "proper rigid" transformation onto the vertex set. More... | |
Static Public Member Functions | |
| static String | name () |
| Returns the name of the class. More... | |
Static Public Attributes | |
| static constexpr int | num_coords = num_coords_ |
| number of coordinates per vertex More... | |
Protected Member Functions | |
| VertexSet (const std::vector< VertexType > &vtx) | |
| internal clone constructor More... | |
Protected Attributes | |
| std::vector< VertexType > | _vertices |
| vertex vector More... | |
Fixed-Sized Vertex Set class template.
This class implements a vertex set whose number of coordinates is specified at compile-time.
| num_coords_ | The number of coordinates per vertex. Must be > 0. |
| Coord_ | The data type for a vertex coordinate. |
Definition at line 36 of file vertex_set.hpp.
| typedef Coord_ FEAT::Geometry::VertexSet< num_coords_, Coord_ >::CoordType |
vertex coordinate type
Definition at line 45 of file vertex_set.hpp.
| typedef Tiny::Vector<CoordType, num_coords> FEAT::Geometry::VertexSet< num_coords_, Coord_ >::VertexType |
vertex type
Definition at line 48 of file vertex_set.hpp.
|
inlineexplicitprotected |
internal clone constructor
Definition at line 82 of file vertex_set.hpp.
|
inline |
standard constructor
Definition at line 89 of file vertex_set.hpp.
Referenced by FEAT::Geometry::VertexSet< num_coords_, Coord_ >::clone().
|
inlineexplicit |
Constructor.
| [in] | num_vertices | The number of vertices to be allocated in the vertex set. |
Definition at line 100 of file vertex_set.hpp.
|
inline |
move constructor
Definition at line 106 of file vertex_set.hpp.
|
inlinevirtual |
virtual destructor
Definition at line 122 of file vertex_set.hpp.
|
inline |
Iterator to the first element.
Definition at line 189 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::_vertices.
|
inline |
Iterator to the first element.
Definition at line 195 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::_vertices.
|
inline |
Definition at line 145 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::_vertices.
Referenced by FEAT::Geometry::ConformalMesh< Shape_, num_coords_, Coord_ >::bytes(), and FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::bytes().
|
inline |
Definition at line 127 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::VertexSet().
Referenced by FEAT::Geometry::ConformalMesh< Shape_, num_coords_, Coord_ >::clone().
|
inline |
Definition at line 133 of file vertex_set.hpp.
|
inline |
Iterator past the last element.
Definition at line 205 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::_vertices.
|
inline |
Iterator to the first element.
Definition at line 211 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::_vertices.
|
inline |
Returns the number of coordinates per vertex.
Definition at line 151 of file vertex_set.hpp.
|
inline |
Returns the number of vertices in the vertex set.
Definition at line 157 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::_vertices.
Referenced by FEAT::Geometry::MeshFileWriter::_write_vertex_set(), FEAT::Geometry::MeshExtruder< ConformalMesh< Shape::Hypercube< 2 >, 2, Coord_ > >::extrude_vertex_set(), and FEAT::Geometry::VertexSet< num_coords_, Coord_ >::operator[]().
|
inlinestatic |
Returns the name of the class.
Definition at line 274 of file vertex_set.hpp.
|
inline |
move-assignment operator
Definition at line 112 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::_vertices, and FEAT::Geometry::other.
|
inline |
Returns a reference to a vertex.
| [in] | i | The index of the vertex to be returned. |
Definition at line 171 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::_vertices, ASSERT, and FEAT::Geometry::VertexSet< num_coords_, Coord_ >::get_num_vertices().
|
inline |
Returns a reference to a vertex.
| [in] | i | The index of the vertex to be returned. |
Definition at line 178 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::_vertices, ASSERT, and FEAT::Geometry::VertexSet< num_coords_, Coord_ >::get_num_vertices().
|
inline |
Applies a permutation onto this vertex set.
| [in] | perm | The permutation that is to be applied. |
| [in] | invert | Specifies whether to apply the inverse permutation instead of the forward one. |
Definition at line 264 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::_vertices, FEAT::Adjacency::Permutation::apply(), FEAT::Adjacency::Permutation::empty(), FEAT::Adjacency::Permutation::size(), and XASSERT.
Referenced by FEAT::Geometry::ConformalMesh< Shape_, num_coords_, Coord_ >::create_permutation(), and FEAT::Geometry::ConformalMesh< Shape_, num_coords_, Coord_ >::set_permutation().
|
inline |
Applies a "proper rigid" transformation onto the vertex set.
Let v denote the origin world point, w the offset world point and R the rotation matrix corresponding to the angles, then this function applies the following transformation for any vertex x of the vertex set:
\[ x \mapsto w + R\cdot (x - v) \]
| [in] | origin | The origin of the transformation. This is subtracted from any vertex before applying the rotation. |
| [in] | angles | The angles of the rotation matrix.
|
| [in] | offset | The offset of the transformation. This is added to any vertex after applying the rotation. |
Definition at line 242 of file vertex_set.hpp.
References FEAT::Geometry::VertexSet< num_coords_, Coord_ >::_vertices.
Referenced by FEAT::Geometry::ConformalMesh< Shape_, num_coords_, Coord_ >::transform().
|
protected |
vertex vector
Definition at line 52 of file vertex_set.hpp.
Referenced by FEAT::Geometry::VertexSet< num_coords_, Coord_ >::begin(), FEAT::Geometry::VertexSet< num_coords_, Coord_ >::bytes(), FEAT::Geometry::VertexSet< num_coords_, Coord_ >::end(), FEAT::Geometry::VertexSet< num_coords_, Coord_ >::get_num_vertices(), FEAT::Geometry::VertexSet< num_coords_, Coord_ >::operator=(), FEAT::Geometry::VertexSet< num_coords_, Coord_ >::operator[](), FEAT::Geometry::VertexSet< num_coords_, Coord_ >::permute(), and FEAT::Geometry::VertexSet< num_coords_, Coord_ >::transform().
|
staticconstexpr |
number of coordinates per vertex
Definition at line 42 of file vertex_set.hpp.