PLaSK library
Loading...
Searching...
No Matches
plask::RectangularMesh3DRegularGenerator Struct Reference

Generator of basic 3D geometry grid with approximately equal spacing. More...

#include <plask/mesh/generator_rectangular.hpp>

Inheritance diagram for plask::RectangularMesh3DRegularGenerator:
[legend]
Collaboration diagram for plask::RectangularMesh3DRegularGenerator:
[legend]

Public Member Functions

 RectangularMesh3DRegularGenerator (double spacing, bool split=false)
 Create generator.
 
 RectangularMesh3DRegularGenerator (double spacing0, double spacing1, double spacing2, bool split=false)
 Create generator.
 
shared_ptr< MeshD< 3 > > generate (const shared_ptr< GeometryObjectD< 3 > > &geometry) override
 
- Public Member Functions inherited from plask::RectangularMesh3DSimpleGenerator
 RectangularMesh3DSimpleGenerator (bool split=false)
 Create generator.
 
shared_ptr< MeshD< 3 > > generate (const shared_ptr< GeometryObjectD< 3 > > &geometry) override
 
- Public Member Functions inherited from plask::MeshGeneratorD< 3 >
virtual shared_ptr< MeshTypegenerate (const GeometryPtr &geometry)=0
 Generate new mesh.
 
void clearCache ()
 Clear the cache of generated meshes.
 
shared_ptr< MeshTypeoperator() (const GeometryPtr &geometry)
 Get generated mesh if it is cached or create a new one.
 
shared_ptr< RequiredType > get (const shared_ptr< GeometryObjectD< DIM > > &geometry)
 
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 ()
 

Public Attributes

double spacing0
 Requested spacing.
 
double spacing1
 
double spacing2
 
- Public Attributes inherited from plask::MeshGenerator
boost::signals2::signal< void(Event &)> changed
 Changed signal, fired when space was changed.
 

Additional Inherited Members

- Public Types inherited from plask::MeshGeneratorD< 3 >
enum  
 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< MeshGeneratorEvent
 Mesh generator event.
 
- Protected Member Functions inherited from plask::MeshGeneratorD< 3 >
void onChange (const Event &) override
 This method is called when the generator is changed, just before changed signal.
 
- Static Protected Member Functions inherited from plask::MeshGeneratorD< 3 >
static shared_ptr< RequiredType > cast (const shared_ptr< MeshType > &res)
 
- Protected Attributes inherited from plask::RectangularMesh3DSimpleGenerator
bool split
 
- Protected Attributes inherited from plask::MeshGeneratorD< 3 >
WeakCache< GeometryObject, MeshType, CacheRemoveOnEachChangecache
 

Detailed Description

Generator of basic 3D geometry grid with approximately equal spacing.

This generator respects existing object boundaries.

Definition at line 193 of file generator_rectangular.hpp.

Constructor & Destructor Documentation

◆ RectangularMesh3DRegularGenerator() [1/2]

plask::RectangularMesh3DRegularGenerator::RectangularMesh3DRegularGenerator ( double  spacing,
bool  split = false 
)
inline

Create generator.

Parameters
spacingapproximate distance between mesh lines

Definition at line 204 of file generator_rectangular.hpp.

◆ RectangularMesh3DRegularGenerator() [2/2]

plask::RectangularMesh3DRegularGenerator::RectangularMesh3DRegularGenerator ( double  spacing0,
double  spacing1,
double  spacing2,
bool  split = false 
)
inline

Create generator.

Parameters
spacing0approximate distance between mesh lines for longitudinal axis
spacing1approximate distance between mesh lines for transverse axis
spacing2approximate distance between mesh lines for vertical axis

Definition at line 213 of file generator_rectangular.hpp.

Member Function Documentation

◆ generate()

shared_ptr< MeshD< 3 > > plask::RectangularMesh3DRegularGenerator::generate ( const shared_ptr< GeometryObjectD< 3 > > &  geometry)
override

Definition at line 132 of file generator_rectangular.cpp.

Member Data Documentation

◆ spacing0

double plask::RectangularMesh3DRegularGenerator::spacing0

Requested spacing.

Definition at line 196 of file generator_rectangular.hpp.

◆ spacing1

double plask::RectangularMesh3DRegularGenerator::spacing1

Definition at line 196 of file generator_rectangular.hpp.

◆ spacing2

double plask::RectangularMesh3DRegularGenerator::spacing2

Definition at line 196 of file generator_rectangular.hpp.


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