| 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.