PLaSK library
|
Base class for specific mesh generator. More...
#include <plask/mesh/mesh.hpp>
Public Types | |
enum | { DIM = (MESH_DIM < 2) ? 2 : MESH_DIM } |
Number of geometry dimensions. More... | |
typedef MeshD< MESH_DIM > | MeshType |
Type of the generated mesh. | |
typedef shared_ptr< GeometryObjectD< DIM > > | GeometryPtr |
Public Types inherited from plask::MeshGenerator | |
typedef EventWithSourceAndFlags< MeshGenerator > | Event |
Mesh generator event. | |
Public Member Functions | |
virtual shared_ptr< MeshType > | generate (const GeometryPtr &geometry)=0 |
Generate new mesh. | |
void | clearCache () |
Clear the cache of generated meshes. | |
shared_ptr< MeshType > | operator() (const GeometryPtr &geometry) |
Get generated mesh if it is cached or create a new one. | |
template<typename RequiredType > | |
shared_ptr< RequiredType > | get (const shared_ptr< GeometryObjectD< DIM > > &geometry) |
template<typename RequiredType > | |
shared_ptr< RequiredType > | generate_t (const shared_ptr< GeometryObjectD< DIM > > &geometry) |
Public Member Functions inherited from plask::MeshGenerator | |
template<typename ClassT , typename methodT > | |
void | 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. | |
virtual | ~MeshGenerator () |
Public Member Functions inherited from plask::MeshBase | |
virtual | ~MeshBase () |
Protected Member Functions | |
void | onChange (const Event &) override |
This method is called when the generator is changed, just before changed signal. | |
Static Protected Member Functions | |
template<typename RequiredType > | |
static shared_ptr< RequiredType > | cast (const shared_ptr< MeshType > &res) |
Protected Attributes | |
WeakCache< GeometryObject, MeshType, CacheRemoveOnEachChange > | cache |
Additional Inherited Members | |
Public Attributes inherited from plask::MeshGenerator | |
boost::signals2::signal< void(Event &)> | changed |
Changed signal, fired when space was changed. | |
Base class for specific mesh generator.
typedef shared_ptr<GeometryObjectD<DIM> > plask::MeshGeneratorD< MESH_DIM >::GeometryPtr |
|
inlinestaticprotected |
|
inline |
|
pure virtual |
Generate new mesh.
geometry | on which the mesh should be generated |
|
inline |
|
inline |
|
inlineoverrideprotectedvirtual |
This method is called when the generator is changed, just before changed signal.
evt | triggering event |
Reimplemented from plask::MeshGenerator.
shared_ptr< typename MeshGeneratorD< MESH_DIM >::MeshType > plask::MeshGeneratorD< MESH_DIM >::operator() | ( | const GeometryPtr & | geometry | ) |
|
protected |