PLaSK library
Loading...
Searching...
No Matches
plask::RectangularMeshSmoothGenerator< dim > Struct Template Reference

Dense-edge generator that has very dense sampling near edges and gradually gets wider towards the center. More...

#include <plask/mesh/generator_rectangular.hpp>

Inheritance diagram for plask::RectangularMeshSmoothGenerator< dim >:
[legend]
Collaboration diagram for plask::RectangularMeshSmoothGenerator< dim >:
[legend]

Public Types

typedef Rectangular_t< dim >::Rectilinear GeneratedMeshType
 
- Public Types inherited from plask::RectangularMeshRefinedGenerator< dim >
typedef Rectangular_t< dim >::Rectilinear GeneratedMeshType
 
typedef std::map< std::pair< weak_ptr< const GeometryObjectD< DIM > >, PathHints >, std::set< double > > Refinements
 
- Public Types inherited from plask::MeshGeneratorD< dim >
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.
 

Public Member Functions

shared_ptr< OrderedAxisprocessAxis (shared_ptr< OrderedAxis > axis, const shared_ptr< GeometryObjectD< DIM > > &geometry, size_t dir) override
 
const charname () override
 
 RectangularMeshSmoothGenerator ()
 Create new generator.
 
double getFineStep (typename Primitive< DIM >::Direction direction) const
 Get small step next to the boundary.
 
void setFineStep (typename Primitive< DIM >::Direction direction, double value)
 Set small step next to the boundary.
 
double getMaxStep (typename Primitive< DIM >::Direction direction) const
 Get small step next to the boundary.
 
void setMaxStep (typename Primitive< DIM >::Direction direction, double value)
 Set small step next to the boundary.
 
double getFactor (typename Primitive< DIM >::Direction direction) const
 Get maximum element increase factor.
 
void setFactor (typename Primitive< DIM >::Direction direction, double value)
 Set maximum element increase factor.
 
 RectangularMeshSmoothGenerator ()
 
 RectangularMeshSmoothGenerator ()
 
 RectangularMeshSmoothGenerator ()
 
 RectangularMeshSmoothGenerator ()
 
 RectangularMeshSmoothGenerator ()
 
 RectangularMeshSmoothGenerator ()
 
- Public Member Functions inherited from plask::RectangularMeshRefinedGenerator< dim >
shared_ptr< OrderedAxisgetAxis (shared_ptr< OrderedAxis > axis, const shared_ptr< GeometryObjectD< DIM > > &geometry, size_t dir)
 
void fromXML (XMLReader &, Manager &)
 
std::pair< double, doublegetMinMax (const shared_ptr< OrderedAxis > &axis)
 
void divideLargestSegment (shared_ptr< OrderedAxis > axis)
 
 RectangularMeshRefinedGenerator ()
 Create new generator.
 
shared_ptr< MeshD< dim > > generate (const shared_ptr< GeometryObjectD< DIM > > &geometry) override
 
double getAspect () const
 
void setAspect (double value)
 
const RefinementsgetRefinements (typename Primitive< DIM >::Direction direction) const
 
void addRefinement (typename Primitive< DIM >::Direction direction, const weak_ptr< const GeometryObjectD< DIM > > &object, const PathHints &path, double position)
 Add refinement to the mesh.
 
void addRefinement (typename Primitive< DIM >::Direction direction, const weak_ptr< const GeometryObjectD< DIM > > &object, double position)
 Add refinement to the mesh.
 
void addRefinement (typename Primitive< DIM >::Direction direction, const Path &path, double position)
 Add refinement to the mesh.
 
void addRefinement (typename Primitive< DIM >::Direction direction, const GeometryObject::Subtree &subtree, double position)
 Add refinement to the mesh.
 
void removeRefinement (typename Primitive< DIM >::Direction direction, const weak_ptr< const GeometryObjectD< DIM > > &object, const PathHints &path, double position)
 Remove refinement to the mesh.
 
void removeRefinement (typename Primitive< DIM >::Direction direction, const weak_ptr< const GeometryObjectD< DIM > > &object, double position)
 Remove refinement to the mesh.
 
void removeRefinement (typename Primitive< DIM >::Direction direction, const Path &path, double position)
 Remove refinement from the mesh.
 
void removeRefinement (typename Primitive< DIM >::Direction direction, const GeometryObject::Subtree &subtree, double position)
 Remove refinement from the mesh.
 
void removeRefinements (const weak_ptr< const GeometryObjectD< DIM > > &object, const PathHints &path=PathHints())
 Remove all refinements from the object.
 
void clearRefinements ()
 Remove all refinements from all objects.
 
void removeRefinements (const Path &path)
 Remove all refinements from the object.
 
void removeRefinements (const GeometryObject::Subtree &subtree)
 Remove all refinements from the object.
 
shared_ptr< MeshD< 1 > > generate (const boost::shared_ptr< plask::GeometryObjectD< 2 > > &geometry)
 
shared_ptr< MeshD< 2 > > generate (const boost::shared_ptr< plask::GeometryObjectD< 2 > > &geometry)
 
shared_ptr< MeshD< 3 > > generate (const boost::shared_ptr< plask::GeometryObjectD< 3 > > &geometry)
 
shared_ptr< MeshD< 1 > > generate (const boost::shared_ptr< plask::GeometryObjectD< 2 > > &geometry)
 
shared_ptr< MeshD< 2 > > generate (const boost::shared_ptr< plask::GeometryObjectD< 2 > > &geometry)
 
shared_ptr< MeshD< 3 > > generate (const boost::shared_ptr< plask::GeometryObjectD< 3 > > &geometry)
 
- Public Member Functions inherited from plask::MeshGeneratorD< dim >
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 finestep [dim]
 Small step next to the boundary.
 
double maxstep [dim]
 Maximum step in the mesh.
 
double factor [dim]
 Maximum element increase factor.
 
- Public Attributes inherited from plask::RectangularMeshRefinedGenerator< dim >
double aspect
 
Refinements refinements [dim]
 
- Public Attributes inherited from plask::MeshGenerator
boost::signals2::signal< void(Event &)> changed
 Changed signal, fired when space was changed.
 

Friends

template<int fd>
shared_ptr< MeshGeneratorreadRectangularSmoothGenerator (XMLReader &, Manager &)
 

Additional Inherited Members

- Protected Member Functions inherited from plask::MeshGeneratorD< dim >
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< dim >
static shared_ptr< RequiredType > cast (const shared_ptr< MeshType > &res)
 
- Protected Attributes inherited from plask::MeshGeneratorD< dim >
WeakCache< GeometryObject, MeshType, CacheRemoveOnEachChangecache
 

Detailed Description

template<int dim>
struct plask::RectangularMeshSmoothGenerator< dim >

Dense-edge generator that has very dense sampling near edges and gradually gets wider towards the center.

Definition at line 524 of file generator_rectangular.hpp.

Member Typedef Documentation

◆ GeneratedMeshType

template<int dim>
typedef Rectangular_t<dim>::Rectilinear plask::RectangularMeshSmoothGenerator< dim >::GeneratedMeshType

Definition at line 525 of file generator_rectangular.hpp.

Constructor & Destructor Documentation

◆ RectangularMeshSmoothGenerator() [1/7]

template<int dim>
plask::RectangularMeshSmoothGenerator< dim >::RectangularMeshSmoothGenerator ( )

Create new generator.

◆ RectangularMeshSmoothGenerator() [2/7]

plask::RectangularMeshSmoothGenerator< 1 >::RectangularMeshSmoothGenerator ( )

Definition at line 333 of file generator_rectangular.cpp.

◆ RectangularMeshSmoothGenerator() [3/7]

plask::RectangularMeshSmoothGenerator< 2 >::RectangularMeshSmoothGenerator ( )

Definition at line 336 of file generator_rectangular.cpp.

◆ RectangularMeshSmoothGenerator() [4/7]

plask::RectangularMeshSmoothGenerator< 3 >::RectangularMeshSmoothGenerator ( )

Definition at line 340 of file generator_rectangular.cpp.

◆ RectangularMeshSmoothGenerator() [5/7]

plask::RectangularMeshSmoothGenerator< 1 >::RectangularMeshSmoothGenerator ( )

◆ RectangularMeshSmoothGenerator() [6/7]

plask::RectangularMeshSmoothGenerator< 2 >::RectangularMeshSmoothGenerator ( )

◆ RectangularMeshSmoothGenerator() [7/7]

plask::RectangularMeshSmoothGenerator< 3 >::RectangularMeshSmoothGenerator ( )

Member Function Documentation

◆ getFactor()

template<int dim>
double plask::RectangularMeshSmoothGenerator< dim >::getFactor ( typename Primitive< DIM >::Direction  direction) const
inline

Get maximum element increase factor.

Definition at line 570 of file generator_rectangular.hpp.

◆ getFineStep()

template<int dim>
double plask::RectangularMeshSmoothGenerator< dim >::getFineStep ( typename Primitive< DIM >::Direction  direction) const
inline

Get small step next to the boundary.

Definition at line 544 of file generator_rectangular.hpp.

◆ getMaxStep()

template<int dim>
double plask::RectangularMeshSmoothGenerator< dim >::getMaxStep ( typename Primitive< DIM >::Direction  direction) const
inline

Get small step next to the boundary.

Definition at line 557 of file generator_rectangular.hpp.

◆ name()

template<int dim>
const char * plask::RectangularMeshSmoothGenerator< dim >::name ( )
inlineoverridevirtual

◆ processAxis()

template<int dim>
shared_ptr< OrderedAxis > plask::RectangularMeshSmoothGenerator< dim >::processAxis ( shared_ptr< OrderedAxis axis,
const shared_ptr< GeometryObjectD< DIM > > &  geometry,
size_t  dir 
)
overridevirtual

◆ setFactor()

template<int dim>
void plask::RectangularMeshSmoothGenerator< dim >::setFactor ( typename Primitive< DIM >::Direction  direction,
double  value 
)
inline

Set maximum element increase factor.

Definition at line 576 of file generator_rectangular.hpp.

◆ setFineStep()

template<int dim>
void plask::RectangularMeshSmoothGenerator< dim >::setFineStep ( typename Primitive< DIM >::Direction  direction,
double  value 
)
inline

Set small step next to the boundary.

Definition at line 550 of file generator_rectangular.hpp.

◆ setMaxStep()

template<int dim>
void plask::RectangularMeshSmoothGenerator< dim >::setMaxStep ( typename Primitive< DIM >::Direction  direction,
double  value 
)
inline

Set small step next to the boundary.

Definition at line 563 of file generator_rectangular.hpp.

Friends And Related Symbol Documentation

◆ readRectangularSmoothGenerator

template<int dim>
template<int fd>
shared_ptr< MeshGenerator > readRectangularSmoothGenerator ( XMLReader reader,
Manager manager 
)
friend

Definition at line 615 of file generator_rectangular.cpp.

Member Data Documentation

◆ factor

template<int dim>
double plask::RectangularMeshSmoothGenerator< dim >::factor[dim]

Maximum element increase factor.

Definition at line 530 of file generator_rectangular.hpp.

◆ finestep

template<int dim>
double plask::RectangularMeshSmoothGenerator< dim >::finestep[dim]

Small step next to the boundary.

Definition at line 528 of file generator_rectangular.hpp.

◆ maxstep

template<int dim>
double plask::RectangularMeshSmoothGenerator< dim >::maxstep[dim]

Maximum step in the mesh.

Definition at line 529 of file generator_rectangular.hpp.


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