PLaSK library
Loading...
Searching...
No Matches
plask::MultiLateralMesh3D< MeshT > Struct Template Reference

3D mesh with arbitrary lateral mesh and vertical axis. More...

#include <plask/mesh/lateral.hpp>

Inheritance diagram for plask::MultiLateralMesh3D< MeshT >:
[legend]
Collaboration diagram for plask::MultiLateralMesh3D< MeshT >:
[legend]

Public Member Functions

 MultiLateralMesh3D (const shared_ptr< MeshT > &lateralMesh, const shared_ptr< MeshAxis > &vert)
 
std::size_t size () const override
 
plask::Vec< 3 > at (std::size_t index) const override
 Get point with given mesh index.
 
template<typename T = MeshT>
shared_ptr< MultiLateralMesh3D< typename T::ElementMesh > > getElementMesh () const
 
- Public Member Functions inherited from plask::MeshD< 3 >
LocalCoords operator[] (std::size_t index) const
 Get point with given mesh index.
 
const_iterator begin () const
 
const_iterator end () const
 
 MeshD (const MeshD &PLASK_UNUSED(to_copy))
 Initialize this to be the same as to_copy but don't copy any changes observer.
 
 MeshD ()
 
MeshDoperator= (const MeshD &PLASK_UNUSED(to_copy))
 Set this to be the same as to_copy but doesn't changed changes observer.
 
bool operator== (const MeshD &to_compare) const
 Check if this mesh and to_compare represent the same sequence of points (have exactly the same points in the same order).
 
bool operator!= (const MeshD &to_compare) const
 Check if this mesh and to_compare represent different sequences of points.
 
void print (std::ostream &out) const override
 Print this to stream out.
 
- Public Member Functions inherited from plask::Mesh
template<typename ClassT , typename methodT >
boost::signals2::connection changedConnectMethod (ClassT *obj, methodT method, boost::signals2::connect_position at=boost::signals2::at_back)
 Connect a method to changed signal.
 
template<typename ClassT , typename methodT >
void changedDisconnectMethod (ClassT *obj, methodT method)
 
template<typename EventT = Event, typename ... Args>
void fireChanged (Args &&... event_constructor_params_without_source)
 Call changed with this as event source.
 
void fireResized ()
 This method is called when the mesh is resized.
 
virtual bool empty () const
 
virtual void writeXML (XMLElement &object) const
 Write mesh to XML.
 
virtual ~Mesh ()
 
- Public Member Functions inherited from plask::Printable
virtual ~Printable ()
 
std::string str () const
 Get string representation of this using print method.
 
- Public Member Functions inherited from plask::MeshBase
virtual ~MeshBase ()
 

Public Attributes

shared_ptr< MeshTlateralMesh
 
shared_ptr< MeshAxisvertAxis
 
- Public Attributes inherited from plask::Mesh
boost::signals2::signal< void(Event &)> changed
 Changed signal, fired when mesh was changed.
 

Additional Inherited Members

- Public Types inherited from plask::MeshD< 3 >
enum  
 Number of dimensions. More...
 
typedef Primitive< DIM >::DVec LocalCoords
 Type of vector representing coordinates in local space.
 
typedef IndexedIterator< const MeshD< dimension >, LocalCoordsconst_iterator
 Random access iterator type which allow iterate over all points in this mesh, in order appointed by operator[].
 
typedef const_iterator iterator
 
typedef const_iterator Iterator
 
- Protected Member Functions inherited from plask::MeshD< 3 >
virtual bool hasSameNodes (const MeshD< dimension > &to_compare) const
 Check if this mesh and to_compare represent the same sequence of points (have exactly the same points in the same order).
 
- Protected Member Functions inherited from plask::Mesh
virtual void onChange (const Event &evt)
 This method is called when the mesh is changed, just before changed signal.
 

Detailed Description

template<typename MeshT>
struct plask::MultiLateralMesh3D< MeshT >

3D mesh with arbitrary lateral mesh and vertical axis.

Definition at line 89 of file lateral.hpp.

Constructor & Destructor Documentation

◆ MultiLateralMesh3D()

template<typename MeshT >
plask::MultiLateralMesh3D< MeshT >::MultiLateralMesh3D ( const shared_ptr< MeshT > &  lateralMesh,
const shared_ptr< MeshAxis > &  vert 
)
inline

Definition at line 93 of file lateral.hpp.

Member Function Documentation

◆ at()

template<typename MeshT >
plask::Vec< 3 > plask::MultiLateralMesh3D< MeshT >::at ( std::size_t  index) const
inlineoverridevirtual

Get point with given mesh index.

Parameters
indexindex of point, from 0 to size()-1
Returns
point with given index

Implements plask::MeshD< 3 >.

Definition at line 98 of file lateral.hpp.

◆ getElementMesh()

template<typename MeshT >
template<typename T = MeshT>
shared_ptr< MultiLateralMesh3D< typename T::ElementMesh > > plask::MultiLateralMesh3D< MeshT >::getElementMesh ( ) const
inline

Definition at line 104 of file lateral.hpp.

◆ size()

template<typename MeshT >
std::size_t plask::MultiLateralMesh3D< MeshT >::size ( ) const
inlineoverridevirtual
Returns
number of points in mesh

Implements plask::Mesh.

Definition at line 96 of file lateral.hpp.

Member Data Documentation

◆ lateralMesh

template<typename MeshT >
shared_ptr<MeshT> plask::MultiLateralMesh3D< MeshT >::lateralMesh

Definition at line 90 of file lateral.hpp.

◆ vertAxis

template<typename MeshT >
shared_ptr<MeshAxis> plask::MultiLateralMesh3D< MeshT >::vertAxis

Definition at line 91 of file lateral.hpp.


The documentation for this struct was generated from the following file: