PLaSK library

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
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< MeshGenerator > | Event
| Mesh generator event.

## Public Member Functions
shared_ptr< OrderedAxis > | processAxis (shared_ptr< OrderedAxis > axis, const shared_ptr< GeometryObjectD< DIM > > &geometry, size_t dir) override
const char * | name () 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< OrderedAxis > | getAxis (shared_ptr< OrderedAxis > axis, const shared_ptr< GeometryObjectD< DIM > > &geometry, size_t dir)
void | fromXML (XMLReader &, Manager &)
std::pair< double, double > | getMinMax (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 Refinements & | getRefinements (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< 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.
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< MeshGenerator > | readRectangularSmoothGenerator (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, CacheRemoveOnEachChange > | cache

## 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 | ( |  | ) |
| inline override virtual

Implements plask::RectangularMeshRefinedGenerator< dim >.

Definition at line 536 of file generator_rectangular.hpp.

## ◆ processAxis()

template<int dim>

shared_ptr< OrderedAxis > plask::RectangularMeshSmoothGenerator< dim >::processAxis | ( | shared_ptr< OrderedAxis > | axis,
|  | const shared_ptr< GeometryObjectD< DIM > > & | geometry,
|  | size_t | dir
| ) |  |
| override virtual

Implements plask::RectangularMeshRefinedGenerator< dim >.

Definition at line 344 of file generator_rectangular.cpp.

## ◆ 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:

- plask/mesh/generator_rectangular.hpp
- plask/mesh/generator_rectangular.cpp