PLaSK library

Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
plask::RectangularMesh2D Class Reference

Rectilinear mesh in 2D space. More...

`#include <plask/mesh/rectangular2d.hpp>`

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

## Classes
class | Element
| Represent FEM-like element in RectangularMesh. More...
class | ElementMesh
class | Elements
| Wrapper to TriangularMesh2D which allows for accessing FEM-like elements. More...

## Public Types
enum | IterationOrder { ORDER_10 , ORDER_01 }
| Iteration orders: More...
Public Types inherited from plask::RectangularMeshBase2D
typedef plask::Boundary< RectangularMeshBase2D > | Boundary
| Boundary type.
Public Types inherited from plask::MeshD< 2 >
enum |
| Number of dimensions. More...
typedef Primitive< DIM >::DVec | LocalCoords
| Type of vector representing coordinates in local space.
typedef IndexedIterator< const MeshD< dimension >, LocalCoords > | const_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

## Public Member Functions
Elements | elements () const
| Accessor to FEM-like elements.
Elements | getElements () const
Element | element (std::size_t i0, std::size_t i1) const
Element | getElement (std::size_t i0, std::size_t i1) const
Element | element (std::size_t i) const
| Get an element with a given index `i`.
Element | getElement (std::size_t i) const
| Get an element with a given index `i`.
void | setIterationOrder (IterationOrder order)
| Choose iteration order.
IterationOrder | getIterationOrder () const
| Get iteration order.
const char * | getIterationOrderAsArray () const
| Get iteration order as an array, e.g.
const char * | getAxisToIterationOrder () const
| Similar to getIterationOrderAsArray but the resulted array has exchanged indexes with values.
void | setOptimalIterationOrder ()
| Set iteration order to the shortest axis changes fastest.
| RectangularMesh2D (IterationOrder iterationOrder=ORDER_01)
| Construct mesh which has all axes of type OrderedAxis and all are empty.
| RectangularMesh2D (shared_ptr< MeshAxis > axis0, shared_ptr< MeshAxis > axis1, IterationOrder iterationOrder=ORDER_01)
| Construct mesh with is based on given 1D meshes.
void | reset (shared_ptr< MeshAxis > axis0, shared_ptr< MeshAxis > axis1, IterationOrder iterationOrder=ORDER_01)
| Change axes and iteration order of this mesh.
| RectangularMesh2D (const RectangularMesh2D &src, bool clone_axes=false)
| Copy constructor.
void | reset (const RectangularMesh2D &src, bool clone_axes=false)
| Change axes and iteration order of this mesh to the ones from `src`.
RectangularMesh2D & | operator= (const RectangularMesh2D &src)
RectangularMesh2D & | operator= (RectangularMesh2D &&src)
| ~RectangularMesh2D ()
void | setAxis (std::size_t axis_nr, shared_ptr< MeshAxis > new_val, bool fireResized=true)
| Change axis.
const shared_ptr< MeshAxis > | getAxis0 () const
void | setAxis0 (shared_ptr< MeshAxis > a0)
const shared_ptr< MeshAxis > | getAxis1 () const
void | setAxis1 (shared_ptr< MeshAxis > a1)
const shared_ptr< MeshAxis > & | tran () const
| Get first coordinate of points in this mesh.
void | setTran (shared_ptr< MeshAxis > a0)
const shared_ptr< MeshAxis > & | vert () const
| Get second coordinate of points in this mesh.
void | setVert (shared_ptr< MeshAxis > a1)
const shared_ptr< MeshAxis > & | ee_x () const
| Get first coordinate of points in this mesh.
const shared_ptr< MeshAxis > & | ee_y () const
| Get second coordinate of points in this mesh.
const shared_ptr< MeshAxis > & | rad_r () const
| Get first coordinate of points in this mesh.
const shared_ptr< MeshAxis > & | rad_z () const
| Get second coordinate of points in this mesh.
const shared_ptr< MeshAxis > & | getAxis (size_t n) const
| Get numbered axis.
const shared_ptr< MeshAxis > | majorAxis () const
std::size_t | majorAxisIndex () const
const shared_ptr< MeshAxis > | minorAxis () const
std::size_t | minorAxisIndex () const
bool | operator== (const RectangularMesh2D &to_compare) const
| Compare meshes.
bool | operator!= (const RectangularMesh2D &to_compare) const
std::size_t | size () const override
| Get number of points in mesh.
std::size_t | getMaxSize () const
| Get maximum of sizes axis0 and axis1.
std::size_t | getMinSize () const
| Get minimum of sizes axis0 and axis1.
void | writeXML (XMLElement &object) const override
| Write mesh to XML.
bool | empty () const override
std::size_t | index (std::size_t axis0_index, std::size_t axis1_index) const
| Calculate this mesh index using indexes of axis[0] and axis[1].
std::size_t | index (const Vec< 2, std::size_t > &indexes) const
| Calculate this mesh index using indexes of axis[0] and axis[1].
std::size_t | index0 (std::size_t mesh_index) const
| Calculate index of axis0 using this mesh index.
std::size_t | index1 (std::size_t mesh_index) const
| Calculate index of y using given mesh index.
Vec< 2, std::size_t > | indexes (std::size_t mesh_index) const
| Calculate indexes of axes.
std::size_t | majorIndex (std::size_t mesh_index) const
| Calculate index of major axis using given mesh index.
std::size_t | minorIndex (std::size_t mesh_index) const
| Calculate index of minor axis using given mesh index.
Vec< 2, double > | at (std::size_t index0, std::size_t index1) const
| Get point with given mesh indices.
Vec< 2, double > | at (std::size_t index) const override
| Get point with given mesh index.
Vec< 2, double > | operator[] (std::size_t index) const
| Get point with given mesh index.
Vec< 2, double > | operator() (std::size_t axis0_index, std::size_t axis1_index) const
| Get point with given x and y indexes.
shared_ptr< RectangularMesh2D::ElementMesh > | getElementMesh () const
| Remove all points from mesh.
template<typename RandomAccessContainer >
auto | interpolateLinear (const RandomAccessContainer &data, const Vec< 2 > &point, const InterpolationFlags &flags) const -> typename std::remove_reference< decltype(data[0])>::type
| Calculate (using linear interpolation) value of data in point using data in points described by this mesh.
template<typename RandomAccessContainer >
auto | interpolateNearestNeighbor (const RandomAccessContainer &data, const Vec< 2 > &point, const InterpolationFlags &flags) const -> typename std::remove_reference< decltype(data[0])>::type
| Calculate (using nearest neighbor interpolation) value of data in point using data in points described by this mesh.
std::size_t | getElementsCount0 () const
| Get number of elements (for FEM method) in the first direction.
std::size_t | getElementsCount1 () const
| Get number of elements (for FEM method) in the second direction.
std::size_t | getElementsCount () const
| Get number of elements (for FEM method).
bool | isLowIndexOfElement (std::size_t meshIndex) const
| Check if mesh index is at the bottom, left, front corner of an element.
std::size_t | getElementIndexFromLowIndex (std::size_t mesh_index_of_el_bottom_left) const
| Convert mesh index of bottom left element corner to index of this element.
std::size_t | getElementIndexFromLowIndexes (std::size_t axis0_index, std::size_t axis1_index) const
| Convert mesh indexes of a bottom-left corner of an element to the index of this element.
std::size_t | getElementMeshLowIndex (std::size_t element_index) const
| Convert element index to mesh index of bottom-left element corner.
Vec< 2, std::size_t > | getElementMeshLowIndexes (std::size_t element_index) const
| Convert an element index to mesh indexes of bottom-left corner of the element.
double | getElementArea (std::size_t index0, std::size_t index1) const
| Get an area of a given element.
double | getElementArea (std::size_t element_index) const
| Get an area of a given element.
double | getElementMidpoint0 (std::size_t index0) const
| Get first coordinate of point in center of Elements.
double | getElementMidpoint1 (std::size_t index1) const
| Get second coordinate of point in center of Elements.
Vec< 2, double > | getElementMidpoint (std::size_t index0, std::size_t index1) const
| Get point in center of Elements.
Vec< 2, double > | getElementMidpoint (std::size_t element_index) const
| Get point in the center of an element.
Box2D | getElementBox (std::size_t index0, std::size_t index1) const
| Get element as rectangle.
Box2D | getElementBox (std::size_t element_index) const
| Get an element as a rectangle.
BoundaryNodeSet | createVerticalBoundaryAtLine (std::size_t line_nr_axis0) const override
| Create a node set which includes one vertical (from bottom to top) line in mesh.
BoundaryNodeSet | createVerticalBoundaryAtLine (std::size_t line_nr_axis0, std::size_t indexBegin, std::size_t indexEnd) const override
| Create a node set which includes a range in vertical (from bottom to top) line in mesh.
BoundaryNodeSet | createVerticalBoundaryNear (double axis0_coord) const override
| Create a node set which includes one vertical (from bottom to top) line in mesh which lies nearest given coordinate.
BoundaryNodeSet | createVerticalBoundaryNear (double axis0_coord, double from, double to) const override
| Create a node set which includes one vertical (from bottom to top) segment in mesh which lies nearest given coordinate and has ends in given range.
BoundaryNodeSet | createLeftBoundary () const override
| Create a node set which includes one vertical, left (from bottom to top) line in mesh.
BoundaryNodeSet | createRightBoundary () const override
| Create a node set which includes one vertical, right (from bottom to top) line in mesh.
BoundaryNodeSet | createLeftOfBoundary (const Box2D &box) const override
| Create a node set which lies on left edge of the `box` (at mesh line nearest left edge and inside the box).
BoundaryNodeSet | createRightOfBoundary (const Box2D &box) const override
| Create a node set which lies on right edge of the `box` (at mesh line nearest right edge and inside the box).
BoundaryNodeSet | createBottomOfBoundary (const Box2D &box) const override
| Create a node set which lies on bottom edge of the `box` (at mesh line nearest bottom edge and inside the box).
BoundaryNodeSet | createTopOfBoundary (const Box2D &box) const override
| Create a node set which lies on top edge of the `box` (at mesh line nearest top edge and inside the box).
BoundaryNodeSet | createHorizontalBoundaryAtLine (std::size_t line_nr_axis1) const override
| Create a node set which includes one horizontal (from left to right) line in mesh.
BoundaryNodeSet | createHorizontalBoundaryAtLine (std::size_t line_nr_axis1, std::size_t indexBegin, std::size_t indexEnd) const override
| Create a node set which includes range in horizontal (from left to right) line in mesh.
BoundaryNodeSet | createHorizontalBoundaryNear (double axis1_coord) const override
| Create a node set which includes one horizontal (from left to right) line in mesh which lies nearest given coordinate.
BoundaryNodeSet | createHorizontalBoundaryNear (double axis1_coord, double from, double to) const override
| Create a node set which includes one horizontal (from left to right) segment in mesh which lies nearest given coordinate and has ends in given range.
BoundaryNodeSet | createTopBoundary () const override
| Create node set which includes one horizontal, top (from left to right) line in mesh.
BoundaryNodeSet | createBottomBoundary () const override
| Create node set which includes one horizontal, bottom (from left to right) line in mesh.
Public Member Functions inherited from plask::MeshD< 2 >
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 ()
MeshD & | operator= (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 | ~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
const shared_ptr< MeshAxis > | axis [2]
| First and second coordinates of points in this mesh.
Public Attributes inherited from plask::Mesh
boost::signals2::signal< void(Event &)> | changed
| Changed signal, fired when mesh was changed.

## Protected Member Functions
bool | hasSameNodes (const MeshD< 2 > &to_compare) const override
Protected Member Functions inherited from plask::MeshD< 2 >
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.

## Additional Inherited Members
Static Public Member Functions inherited from plask::RectangularMeshBase2D
template<typename Predicate >
static Boundary | getBoundary (Predicate predicate)
static Boundary | getVerticalBoundaryAtLine (std::size_t line_nr_axis0)
| Get boundary which show one vertical (from bottom to top) line in mesh.
static Boundary | getVerticalBoundaryAtLine (std::size_t line_nr_axis0, std::size_t indexBegin, std::size_t indexEnd)
| Get boundary which show range in vertical (from bottom to top) line in mesh.
static Boundary | getVerticalBoundaryNear (double axis0_coord)
| Get boundary which show one vertical (from bottom to top) line in mesh which lies nearest given coordinate.
static Boundary | getVerticalBoundaryNear (double axis0_coord, double from, double to)
| Get boundary which show one vertical (from bottom to top) segment in mesh which lies nearest given coordinate and has ends in given range.
static Boundary | getLeftBoundary ()
| Get boundary which show one vertical, left (from bottom to top) line in mesh.
static Boundary | getRightBoundary ()
| Get boundary which show one vertical, right (from bottom to top) line in mesh.
static Boundary | getLeftOfBoundary (const Box2D &box)
| Get boundary which lies on left edge of the `box` (at mesh line nearest left edge and inside the box).
static Boundary | getRightOfBoundary (const Box2D &box)
| Get boundary which lies on right edge of the `box` (at mesh line nearest right edge and inside the box).
static Boundary | getBottomOfBoundary (const Box2D &box)
| Get boundary which lies on bottom edge of the `box` (at mesh line nearest bottom edge and inside the box).
static Boundary | getTopOfBoundary (const Box2D &box)
| Get boundary which lies on top edge of the `box` (at mesh line nearest top edge and inside the box).
static Boundary | getLeftOfBoundary (shared_ptr< const GeometryObject > object, const PathHints &path)
| Get boundary which lies on left edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getLeftOfBoundary (shared_ptr< const GeometryObject > object)
| Get boundary which lies on left edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getLeftOfBoundary (shared_ptr< const GeometryObject > object, const PathHints *path)
| Get boundary which lies on left edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getRightOfBoundary (shared_ptr< const GeometryObject > object, const PathHints &path)
| Get boundary which lies on right edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getRightOfBoundary (shared_ptr< const GeometryObject > object)
| Get boundary which lies on right edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getRightOfBoundary (shared_ptr< const GeometryObject > object, const PathHints *path)
| Get boundary which lies on right edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getBottomOfBoundary (shared_ptr< const GeometryObject > object, const PathHints &path)
| Get boundary which lies on bottom edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getBottomOfBoundary (shared_ptr< const GeometryObject > object)
| Get boundary which lies on bottom edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getBottomOfBoundary (shared_ptr< const GeometryObject > object, const PathHints *path)
| Get boundary which lies on bottom edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getTopOfBoundary (shared_ptr< const GeometryObject > object, const PathHints &path)
| Get boundary which lies on top edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getTopOfBoundary (shared_ptr< const GeometryObject > object)
| Get boundary which lies on top edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getTopOfBoundary (shared_ptr< const GeometryObject > object, const PathHints *path)
| Get boundary which lies on top edge of bounding-boxes of `object` (in `geometry` coordinates).
static Boundary | getHorizontalBoundaryAtLine (std::size_t line_nr_axis1)
| Get boundary which shows one horizontal (from left to right) line in mesh.
static Boundary | getHorizontalBoundaryAtLine (std::size_t line_nr_axis1, std::size_t indexBegin, std::size_t indexEnd)
| Get boundary which shows range in horizontal (from left to right) line in mesh.
static Boundary | getHorizontalBoundaryNear (double axis1_coord)
| Get boundary which shows one horizontal (from left to right) line in mesh which lies nearest given coordinate.
static Boundary | getHorizontalBoundaryNear (double axis1_coord, double from, double to)
| Get boundary which show one horizontal (from left to right) segment in mesh which lies nearest given coordinate and has ends in given range.
static Boundary | getTopBoundary ()
| Get boundary which shows one horizontal, top (from left to right) line in mesh.
static Boundary | getBottomBoundary ()
| Get boundary which shows one horizontal, bottom (from left to right) line in mesh.
static Boundary | getBoundary (const std::string &boundary_desc)
static Boundary | getBoundary (XMLReader &boundary_desc, Manager &manager)

## Detailed Description

Rectilinear mesh in 2D space.

Includes two 1D rectilinear meshes:

- axis0 (alternative names: tran(), ee_x(), rad_r())
- axis1 (alternative names: up(), ee_y(), rad_z()) Represent all points (x, y) such that x is in axis0 and y is in axis1.

Definition at line 39 of file rectangular2d.hpp.

## Member Enumeration Documentation

## ◆ IterationOrder

enum plask::RectangularMesh2D::IterationOrder

Iteration orders:

- 10 iteration order is: (axis0[0], axis1[0]), (axis0[1], axis1[0]), ..., (axis0[axis0->size-1], axis1[0]), (axis0[0], axis1[1]), ..., (axis0[axis0->size()-1], axis1[axis[1]->size()-1])
- 01 iteration order is: (axis0[0], axis1[0]), (axis0[0], axis1[1]), ..., (axis0[0], y[axis[1]->size-1]), (axis0[1], axis1[0]), ..., (axis0[axis0->size()-1], axis1[axis[1]->size()-1])
  See also
    setIterationOrder, getIterationOrder, setOptimalIterationOrder

Enumerator
ORDER_10 |
ORDER_01 |

Definition at line 256 of file rectangular2d.hpp.

## Constructor & Destructor Documentation

## ◆ RectangularMesh2D() [1/3]

plask::RectangularMesh2D::RectangularMesh2D | ( | IterationOrder | iterationOrder = `ORDER_01` | ) |
| explicit

Construct mesh which has all axes of type OrderedAxis and all are empty.

Parameters

  iterationOrder | iteration order

Definition at line 67 of file rectangular2d.cpp.

## ◆ RectangularMesh2D() [2/3]

plask::RectangularMesh2D::RectangularMesh2D | ( | shared_ptr< MeshAxis > | axis0,
|  | shared_ptr< MeshAxis > | axis1,
|  | IterationOrder | iterationOrder = `ORDER_01`
| ) |  |

Construct mesh with is based on given 1D meshes.

Parameters

  mesh0 | mesh for the first coordinate
  mesh1 | mesh for the second coordinate
  iterationOrder | iteration order

Definition at line 74 of file rectangular2d.cpp.

## ◆ RectangularMesh2D() [3/3]

plask::RectangularMesh2D::RectangularMesh2D | ( | const RectangularMesh2D & | src,
|  | bool | clone_axes = `false`
| ) |  |

Copy constructor.

Parameters

  src | mesh to copy
  clone_axes | whether axes of the `src` should be cloned (if true) or shared (if false; default)

Definition at line 87 of file rectangular2d.cpp.

## ◆ ~RectangularMesh2D()

plask::RectangularMesh2D::~RectangularMesh2D | ( |  | ) |

Definition at line 104 of file rectangular2d.cpp.

## Member Function Documentation

## ◆ at() [1/2]

Vec< 2, double > plask::RectangularMesh2D::at | ( | std::size_t | index | ) | const
| inline override virtual

Get point with given mesh index.

Parameters

  index | index of point, from 0 to size()-1

Returns
  point with given `index`

Implements plask::MeshD< 2 >.

Definition at line 567 of file rectangular2d.hpp.

## ◆ at() [2/2]

Vec< 2, double > plask::RectangularMesh2D::at | ( | std::size_t | index0,
|  | std::size_t | index1
| ) |  | const
| inline

Get point with given mesh indices.

Parameters

  index0 | index of point in axis0
  index1 | index of point in axis1

Returns
  point with given `index`

Definition at line 558 of file rectangular2d.hpp.

## ◆ createBottomBoundary()

BoundaryNodeSet plask::RectangularMesh2D::createBottomBoundary | ( |  | ) | const
| override virtual

Create node set which includes one horizontal, bottom (from left to right) line in mesh.

Returns
  node set which includes bottom line in mesh

Implements plask::RectangularMeshBase2D.

Definition at line 214 of file rectangular2d.cpp.

## ◆ createBottomOfBoundary()

BoundaryNodeSet plask::RectangularMesh2D::createBottomOfBoundary | ( | const Box2D & | box | ) | const
| override virtual

Create a node set which lies on bottom edge of the `box` (at mesh line nearest bottom edge and inside the box).

Parameters

  box | box in which boundary should lie

Returns
  node set which lies on bottom edge of the `box` or empty boundary if there are no mesh indexes which lies inside the `box`

Implements plask::RectangularMeshBase2D.

Definition at line 173 of file rectangular2d.cpp.

## ◆ createHorizontalBoundaryAtLine() [1/2]

BoundaryNodeSet plask::RectangularMesh2D::createHorizontalBoundaryAtLine | ( | std::size_t | line_nr_axis1 | ) | const
| override virtual

Create a node set which includes one horizontal (from left to right) line in mesh.

Parameters

  line_nr_axis1 | number of horizontal line, index of axis1 mesh

Returns
  node set which includes one horizontal (from left to right) line in mesh

Implements plask::RectangularMeshBase2D.

Definition at line 191 of file rectangular2d.cpp.

## ◆ createHorizontalBoundaryAtLine() [2/2]

BoundaryNodeSet plask::RectangularMesh2D::createHorizontalBoundaryAtLine | ( | std::size_t | line_nr_axis1,
|  | std::size_t | indexBegin,
|  | std::size_t | indexEnd
| ) |  | const
| override virtual

Create a node set which includes range in horizontal (from left to right) line in mesh.

Parameters

  line_nr_axis1 | number of horizontal line, index of axis1 mesh
  indexBegin,indexEnd | ends of [indexBegin, indexEnd) range in line

Returns
  node set which includes range in horizontal (from left to right) line in mesh.

Implements plask::RectangularMeshBase2D.

Definition at line 195 of file rectangular2d.cpp.

## ◆ createHorizontalBoundaryNear() [1/2]

BoundaryNodeSet plask::RectangularMesh2D::createHorizontalBoundaryNear | ( | double | axis1_coord | ) | const
| override virtual

Create a node set which includes one horizontal (from left to right) line in mesh which lies nearest given coordinate.

Parameters

  axis1_coord | axis 1 coordinate

Returns
  boundary which includes one horizontal (from left to right) line in mesh

Implements plask::RectangularMeshBase2D.

Definition at line 199 of file rectangular2d.cpp.

## ◆ createHorizontalBoundaryNear() [2/2]

BoundaryNodeSet plask::RectangularMesh2D::createHorizontalBoundaryNear | ( | double | axis1_coord,
|  | double | from,
|  | double | to
| ) |  | const
| override virtual

Create a node set which includes one horizontal (from left to right) segment in mesh which lies nearest given coordinate and has ends in given range.

Parameters

  axis1_coord | axis 1 coordinate
  from,to | ends of line segment, [from, to] range of axis 0 coordinates

Returns
  node set which includes one horizontal (from left to right) line in mesh

Implements plask::RectangularMeshBase2D.

Definition at line 203 of file rectangular2d.cpp.

## ◆ createLeftBoundary()

BoundaryNodeSet plask::RectangularMesh2D::createLeftBoundary | ( |  | ) | const
| override virtual

Create a node set which includes one vertical, left (from bottom to top) line in mesh.

Returns
  node set which includes left line in mesh

Implements plask::RectangularMeshBase2D.

Definition at line 147 of file rectangular2d.cpp.

## ◆ createLeftOfBoundary()

BoundaryNodeSet plask::RectangularMesh2D::createLeftOfBoundary | ( | const Box2D & | box | ) | const
| override virtual

Create a node set which lies on left edge of the `box` (at mesh line nearest left edge and inside the box).

Parameters

  box | box in which boundary should lie

Returns
  node set which lies on left edge of the `box` or empty boundary if there are no mesh indexes which lies inside the `box`

Implements plask::RectangularMeshBase2D.

Definition at line 155 of file rectangular2d.cpp.

## ◆ createRightBoundary()

BoundaryNodeSet plask::RectangularMesh2D::createRightBoundary | ( |  | ) | const
| override virtual

Create a node set which includes one vertical, right (from bottom to top) line in mesh.

Returns
  node set which includes right line in mesh

Implements plask::RectangularMeshBase2D.

Definition at line 151 of file rectangular2d.cpp.

## ◆ createRightOfBoundary()

BoundaryNodeSet plask::RectangularMesh2D::createRightOfBoundary | ( | const Box2D & | box | ) | const
| override virtual

Create a node set which lies on right edge of the `box` (at mesh line nearest right edge and inside the box).

Parameters

  box | box in which boundary should lie

Returns
  node set which lies on right edge of the `box` or empty boundary if there are no mesh indexes which lies inside the `box`

Implements plask::RectangularMeshBase2D.

Definition at line 164 of file rectangular2d.cpp.

## ◆ createTopBoundary()

BoundaryNodeSet plask::RectangularMesh2D::createTopBoundary | ( |  | ) | const
| override virtual

Create node set which includes one horizontal, top (from left to right) line in mesh.

Returns
  node set which includes top line in mesh

Implements plask::RectangularMeshBase2D.

Definition at line 210 of file rectangular2d.cpp.

## ◆ createTopOfBoundary()

BoundaryNodeSet plask::RectangularMesh2D::createTopOfBoundary | ( | const Box2D & | box | ) | const
| override virtual

Create a node set which lies on top edge of the `box` (at mesh line nearest top edge and inside the box).

Parameters

  box | box in which boundary should lie

Returns
  node set which lies on top edge of the `box` or empty boundary if there are no mesh indexes which lies inside the `box`

Implements plask::RectangularMeshBase2D.

Definition at line 182 of file rectangular2d.cpp.

## ◆ createVerticalBoundaryAtLine() [1/2]

BoundaryNodeSet plask::RectangularMesh2D::createVerticalBoundaryAtLine | ( | std::size_t | line_nr_axis0 | ) | const
| override virtual

Create a node set which includes one vertical (from bottom to top) line in mesh.

Parameters

  line_nr_axis0 | number of vertical line, axis 0 index of mesh

Returns
  node set which includes one vertical (from bottom to top) line in mesh

Implements plask::RectangularMeshBase2D.

Definition at line 128 of file rectangular2d.cpp.

## ◆ createVerticalBoundaryAtLine() [2/2]

BoundaryNodeSet plask::RectangularMesh2D::createVerticalBoundaryAtLine | ( | std::size_t | line_nr_axis0,
|  | std::size_t | indexBegin,
|  | std::size_t | indexEnd
| ) |  | const
| override virtual

Create a node set which includes a range in vertical (from bottom to top) line in mesh.

Parameters

  line_nr_axis0 | number of vertical line, axis 0 index of mesh
  indexBegin,indexEnd | ends of [indexBegin, indexEnd) range in line

Returns
  node set which includes range in vertical (from bottom to top) line in mesh.

Implements plask::RectangularMeshBase2D.

Definition at line 132 of file rectangular2d.cpp.

## ◆ createVerticalBoundaryNear() [1/2]

BoundaryNodeSet plask::RectangularMesh2D::createVerticalBoundaryNear | ( | double | axis0_coord | ) | const
| override virtual

Create a node set which includes one vertical (from bottom to top) line in mesh which lies nearest given coordinate.

Parameters

  axis0_coord | axis 0 coordinate

Returns
  node set which includes one vertical (from bottom to top) line in mesh

Implements plask::RectangularMeshBase2D.

Definition at line 136 of file rectangular2d.cpp.

## ◆ createVerticalBoundaryNear() [2/2]

BoundaryNodeSet plask::RectangularMesh2D::createVerticalBoundaryNear | ( | double | axis0_coord,
|  | double | from,
|  | double | to
| ) |  | const
| override virtual

Create a node set which includes one vertical (from bottom to top) segment in mesh which lies nearest given coordinate and has ends in given range.

Parameters

  axis0_coord | axis 0 coordinate
  from,to | ends of line segment, [from, to] range of axis 1 coordinates

Returns
  node set which includes one vertical (from bottom to top) segment in mesh

Implements plask::RectangularMeshBase2D.

Definition at line 140 of file rectangular2d.cpp.

## ◆ ee_x()

const shared_ptr< MeshAxis > & plask::RectangularMesh2D::ee_x | ( |  | ) | const
| inline

Get first coordinate of points in this mesh.

Returns
  axis0

Definition at line 394 of file rectangular2d.hpp.

## ◆ ee_y()

const shared_ptr< MeshAxis > & plask::RectangularMesh2D::ee_y | ( |  | ) | const
| inline

Get second coordinate of points in this mesh.

Returns
  axis1

Definition at line 400 of file rectangular2d.hpp.

## ◆ element() [1/2]

Element plask::RectangularMesh2D::element | ( | std::size_t | i | ) | const
| inline

Get an element with a given index `i`.

Parameters

  i | index of the element

Returns
  the element

Definition at line 239 of file rectangular2d.hpp.

## ◆ element() [2/2]

Element plask::RectangularMesh2D::element | ( | std::size_t | i0,
|  | std::size_t | i1
| ) |  | const
| inline

Definition at line 231 of file rectangular2d.hpp.

## ◆ elements()

Elements plask::RectangularMesh2D::elements | ( |  | ) | const
| inline

Accessor to FEM-like elements.

Definition at line 228 of file rectangular2d.hpp.

## ◆ empty()

bool plask::RectangularMesh2D::empty | ( |  | ) | const
| inline override virtual

Returns
  true only if there are no points in mesh

Reimplemented from plask::Mesh.

Definition at line 486 of file rectangular2d.hpp.

## ◆ getAxis()

const shared_ptr< MeshAxis > & plask::RectangularMesh2D::getAxis | ( | size_t | n | ) | const
| inline

Get numbered axis.

Parameters

  n | number of axis

Returns
  n-th axis (cn)

Definition at line 419 of file rectangular2d.hpp.

## ◆ getAxis0()

const shared_ptr< MeshAxis > plask::RectangularMesh2D::getAxis0 | ( |  | ) | const
| inline

Definition at line 351 of file rectangular2d.hpp.

## ◆ getAxis1()

const shared_ptr< MeshAxis > plask::RectangularMesh2D::getAxis1 | ( |  | ) | const
| inline

Definition at line 355 of file rectangular2d.hpp.

## ◆ getAxisToIterationOrder()

const char * plask::RectangularMesh2D::getAxisToIterationOrder | ( |  | ) | const
| inline

Similar to getIterationOrderAsArray but the resulted array has exchanged indexes with values.

Resulted array is indexed by axis number (0, 1) and the bigger value means that the index of the axis changes faster when index of the mesh is changed by 1.

Returns
  the array which maps axis number to position in iteration order

Definition at line 288 of file rectangular2d.hpp.

## ◆ getElement() [1/2]

Element plask::RectangularMesh2D::getElement | ( | std::size_t | i | ) | const
| inline

Get an element with a given index `i`.

Parameters

  i | index of the element

Returns
  the element

Definition at line 246 of file rectangular2d.hpp.

## ◆ getElement() [2/2]

Element plask::RectangularMesh2D::getElement | ( | std::size_t | i0,
|  | std::size_t | i1
| ) |  | const
| inline

Definition at line 232 of file rectangular2d.hpp.

## ◆ getElementArea() [1/2]

double plask::RectangularMesh2D::getElementArea | ( | std::size_t | element_index | ) | const
| inline

Get an area of a given element.

Parameters

  element_index | index of the element

Returns
  the area of the element with given index

Definition at line 744 of file rectangular2d.hpp.

## ◆ getElementArea() [2/2]

double plask::RectangularMesh2D::getElementArea | ( | std::size_t | index0,
|  | std::size_t | index1
| ) |  | const
| inline

Get an area of a given element.

Parameters

  index0,index1 | axis 0 and axis 1 indexes of the element

Returns
  the area of the element with given indexes

Definition at line 735 of file rectangular2d.hpp.

## ◆ getElementBox() [1/2]

Box2D plask::RectangularMesh2D::getElementBox | ( | std::size_t | element_index | ) | const
| inline

Get an element as a rectangle.

Parameters

  element_index | index of the element

Returns
  the element as a rectangle (box)

Definition at line 796 of file rectangular2d.hpp.

## ◆ getElementBox() [2/2]

Box2D plask::RectangularMesh2D::getElementBox | ( | std::size_t | index0,
|  | std::size_t | index1
| ) |  | const
| inline

Get element as rectangle.

Parameters

  index0,index1 | index of Elements

Returns
  box of elements with given index

Definition at line 787 of file rectangular2d.hpp.

## ◆ getElementIndexFromLowIndex()

std::size_t plask::RectangularMesh2D::getElementIndexFromLowIndex | ( | std::size_t | mesh_index_of_el_bottom_left | ) | const
| inline

Convert mesh index of bottom left element corner to index of this element.

Parameters

  mesh_index_of_el_bottom_left | mesh index

Returns
  index of the element, from 0 to getElementsCount()-1

Definition at line 696 of file rectangular2d.hpp.

## ◆ getElementIndexFromLowIndexes()

std::size_t plask::RectangularMesh2D::getElementIndexFromLowIndexes | ( | std::size_t | axis0_index,
|  | std::size_t | axis1_index
| ) |  | const
| inline

Convert mesh indexes of a bottom-left corner of an element to the index of this element.

Parameters

  axis0_index | index of the corner along the axis0 (left), from 0 to axis[0]->size()-1
  axis1_index | index of the corner along the axis1 (bottom), from 0 to axis[1]->size()-1

Returns
  index of the element, from 0 to getElementsCount()-1

Definition at line 706 of file rectangular2d.hpp.

## ◆ getElementMesh()

shared_ptr< RectangularMesh2D::ElementMesh > plask::RectangularMesh2D::getElementMesh | ( |  | ) | const

Remove all points from mesh.

Return a mesh that enables iterating over middle points of the rectangles

Returns
  new rectilinear mesh with points in the middles of original rectangles

Definition at line 118 of file rectangular2d.cpp.

## ◆ getElementMeshLowIndex()

std::size_t plask::RectangularMesh2D::getElementMeshLowIndex | ( | std::size_t | element_index | ) | const
| inline

Convert element index to mesh index of bottom-left element corner.

Parameters

  element_index | index of element, from 0 to getElementsCount()-1

Returns
  mesh index

Definition at line 715 of file rectangular2d.hpp.

## ◆ getElementMeshLowIndexes()

Vec< 2, std::size_t > plask::RectangularMesh2D::getElementMeshLowIndexes | ( | std::size_t | element_index | ) | const
| inline

Convert an element index to mesh indexes of bottom-left corner of the element.

Parameters

  element_index | index of the element, from 0 to getElementsCount()-1

Returns
  axis 0 and axis 1 indexes of mesh, you can easy calculate rest indexes of element corner by adding 1 to returned coordinates

Definition at line 725 of file rectangular2d.hpp.

## ◆ getElementMidpoint() [1/2]

Vec< 2, double > plask::RectangularMesh2D::getElementMidpoint | ( | std::size_t | element_index | ) | const
| inline

Get point in the center of an element.

Parameters

  element_index | index of the element

Returns
  point in the center of the element

Definition at line 777 of file rectangular2d.hpp.

## ◆ getElementMidpoint() [2/2]

Vec< 2, double > plask::RectangularMesh2D::getElementMidpoint | ( | std::size_t | index0,
|  | std::size_t | index1
| ) |  | const
| inline

Get point in center of Elements.

Parameters

  index0,index1 | index of Elements

Returns
  point in center of element with given index

Definition at line 768 of file rectangular2d.hpp.

## ◆ getElementMidpoint0()

double plask::RectangularMesh2D::getElementMidpoint0 | ( | std::size_t | index0 | ) | const
| inline

Get first coordinate of point in center of Elements.

Parameters

  index0 | index of Elements (axis0 index)

Returns
  first coordinate of point point in center of Elements with given index

Definition at line 754 of file rectangular2d.hpp.

## ◆ getElementMidpoint1()

double plask::RectangularMesh2D::getElementMidpoint1 | ( | std::size_t | index1 | ) | const
| inline

Get second coordinate of point in center of Elements.

Parameters

  index1 | index of Elements (axis1 index)

Returns
  second coordinate of point point in center of Elements with given index

Definition at line 761 of file rectangular2d.hpp.

## ◆ getElements()

Elements plask::RectangularMesh2D::getElements | ( |  | ) | const
| inline

Definition at line 229 of file rectangular2d.hpp.

## ◆ getElementsCount()

std::size_t plask::RectangularMesh2D::getElementsCount | ( |  | ) | const
| inline

Get number of elements (for FEM method).

Returns
  number of elements in this mesh

Definition at line 677 of file rectangular2d.hpp.

## ◆ getElementsCount0()

std::size_t plask::RectangularMesh2D::getElementsCount0 | ( |  | ) | const
| inline

Get number of elements (for FEM method) in the first direction.

Returns
  number of elements in this mesh in the first direction (axis0 direction).

Definition at line 659 of file rectangular2d.hpp.

## ◆ getElementsCount1()

std::size_t plask::RectangularMesh2D::getElementsCount1 | ( |  | ) | const
| inline

Get number of elements (for FEM method) in the second direction.

Returns
  number of elements in this mesh in the second direction (axis1 direction).

Definition at line 668 of file rectangular2d.hpp.

## ◆ getIterationOrder()

RectangularMesh2D::IterationOrder plask::RectangularMesh2D::getIterationOrder | ( |  | ) | const

Get iteration order.

Returns
  iteration order used by this mesh

See also
  IterationOrder

Definition at line 58 of file rectangular2d.cpp.

## ◆ getIterationOrderAsArray()

const char * plask::RectangularMesh2D::getIterationOrderAsArray | ( |  | ) | const
| inline

Get iteration order as an array, e.g.

[1, 0] is returned for ORDER_10.

Returns
  the array of length 3, pointer to static memory

Definition at line 276 of file rectangular2d.hpp.

## ◆ getMaxSize()

std::size_t plask::RectangularMesh2D::getMaxSize | ( |  | ) | const
| inline

Get maximum of sizes axis0 and axis1.

Returns
  maximum of sizes axis0 and axis1

Definition at line 471 of file rectangular2d.hpp.

## ◆ getMinSize()

std::size_t plask::RectangularMesh2D::getMinSize | ( |  | ) | const
| inline

Get minimum of sizes axis0 and axis1.

Returns
  minimum of sizes axis0 and axis1

Definition at line 477 of file rectangular2d.hpp.

## ◆ hasSameNodes()

bool plask::RectangularMesh2D::hasSameNodes | ( | const MeshD< 2 > & | to_compare | ) | const
| override protected

Definition at line 122 of file rectangular2d.cpp.

## ◆ index() [1/2]

std::size_t plask::RectangularMesh2D::index | ( | const Vec< 2, std::size_t > & | indexes | ) | const
| inline

Calculate this mesh index using indexes of axis[0] and axis[1].

Parameters

  indexes | index of axis[0] and axis[1]

Returns
  this mesh index, from 0 to size()-1

Definition at line 503 of file rectangular2d.hpp.

## ◆ index() [2/2]

std::size_t plask::RectangularMesh2D::index | ( | std::size_t | axis0_index,
|  | std::size_t | axis1_index
| ) |  | const
| inline

Calculate this mesh index using indexes of axis[0] and axis[1].

Parameters

  axis0_index | index of axis[0], from 0 to axis[0]->size()-1
  axis1_index | index of axis[1], from 0 to axis[1]->size()-1

Returns
  this mesh index, from 0 to size()-1

Definition at line 494 of file rectangular2d.hpp.

## ◆ index0()

std::size_t plask::RectangularMesh2D::index0 | ( | std::size_t | mesh_index | ) | const
| inline

Calculate index of axis0 using this mesh index.

Parameters

  mesh_index | this mesh index, from 0 to size()-1

Returns
  index of axis0, from 0 to axis[0]->size()-1

Definition at line 512 of file rectangular2d.hpp.

## ◆ index1()

std::size_t plask::RectangularMesh2D::index1 | ( | std::size_t | mesh_index | ) | const
| inline

Calculate index of y using given mesh index.

Parameters

  mesh_index | this mesh index, from 0 to size()-1

Returns
  index of axis1, from 0 to axis[1]->size()-1

Definition at line 521 of file rectangular2d.hpp.

## ◆ indexes()

Vec< 2, std::size_t > plask::RectangularMesh2D::indexes | ( | std::size_t | mesh_index | ) | const
| inline

Calculate indexes of axes.

Parameters

  mesh_index | this mesh index, from 0 to size()-1

Returns
  index of axis[0], axis[1], and axis[2]

Definition at line 530 of file rectangular2d.hpp.

## ◆ interpolateLinear()

template<typename RandomAccessContainer >

auto plask::RectangularMesh2D::interpolateLinear | ( | const RandomAccessContainer & | data,
|  | const Vec< 2 > & | point,
|  | const InterpolationFlags & | flags
| ) |  | const -> typename std::remove_reference<decltype(data[0])>::type
| inline

Calculate (using linear interpolation) value of data in point using data in points described by this mesh.

Parameters

  data | values of data in points describe by this mesh
  point | point in which value should be calculate

Returns
  interpolated value in point `point`

Definition at line 612 of file rectangular2d.hpp.

## ◆ interpolateNearestNeighbor()

template<typename RandomAccessContainer >

auto plask::RectangularMesh2D::interpolateNearestNeighbor | ( | const RandomAccessContainer & | data,
|  | const Vec< 2 > & | point,
|  | const InterpolationFlags & | flags
| ) |  | const -> typename std::remove_reference<decltype(data[0])>::type
| inline

Calculate (using nearest neighbor interpolation) value of data in point using data in points described by this mesh.

Parameters

  data | values of data in points describe by this mesh
  point | point in which value should be calculate

Returns
  interpolated value in point `point`

Definition at line 647 of file rectangular2d.hpp.

## ◆ isLowIndexOfElement()

bool plask::RectangularMesh2D::isLowIndexOfElement | ( | std::size_t | meshIndex | ) | const
| inline

Check if mesh index is at the bottom, left, front corner of an element.

Parameters

  meshIndex | mesh index

Returns
  true only if `meshIndex` is at the bottom, left, front corner of an element

Definition at line 687 of file rectangular2d.hpp.

## ◆ majorAxis()

const shared_ptr< MeshAxis > plask::RectangularMesh2D::majorAxis | ( |  | ) | const
| inline

Returns
  major (changing slowest) axis

Definition at line 425 of file rectangular2d.hpp.

## ◆ majorAxisIndex()

std::size_t plask::RectangularMesh2D::majorAxisIndex | ( |  | ) | const
| inline

Returns
  index of major axis

Definition at line 430 of file rectangular2d.hpp.

## ◆ majorIndex()

std::size_t plask::RectangularMesh2D::majorIndex | ( | std::size_t | mesh_index | ) | const
| inline

Calculate index of major axis using given mesh index.

Parameters

  mesh_index | this mesh index, from 0 to size()-1

Returns
  index of major axis, from 0 to majorAxis.size()-1

Definition at line 539 of file rectangular2d.hpp.

## ◆ minorAxis()

const shared_ptr< MeshAxis > plask::RectangularMesh2D::minorAxis | ( |  | ) | const
| inline

Returns
  minor (changing fastest) axis

Definition at line 435 of file rectangular2d.hpp.

## ◆ minorAxisIndex()

std::size_t plask::RectangularMesh2D::minorAxisIndex | ( |  | ) | const
| inline

Returns
  index of minor axis

Definition at line 440 of file rectangular2d.hpp.

## ◆ minorIndex()

std::size_t plask::RectangularMesh2D::minorIndex | ( | std::size_t | mesh_index | ) | const
| inline

Calculate index of minor axis using given mesh index.

Parameters

  mesh_index | this mesh index, from 0 to size()-1

Returns
  index of minor axis, from 0 to minorAxis.size()-1

Definition at line 548 of file rectangular2d.hpp.

## ◆ operator!=()

bool plask::RectangularMesh2D::operator!= | ( | const RectangularMesh2D & | to_compare | ) | const
| inline

Definition at line 457 of file rectangular2d.hpp.

## ◆ operator()()

Vec< 2, double > plask::RectangularMesh2D::operator() | ( | std::size_t | axis0_index,
|  | std::size_t | axis1_index
| ) |  | const
| inline

Get point with given x and y indexes.

Parameters

  axis0_index | index of axis0, from 0 to axis0->size()-1
  axis1_index | index of axis1, from 0 to axis[1]->size()-1

Returns
  point with given axis0 and axis1 indexes

Definition at line 587 of file rectangular2d.hpp.

## ◆ operator=() [1/2]

RectangularMesh2D & plask::RectangularMesh2D::operator= | ( | const RectangularMesh2D & | src | ) |
| inline

Definition at line 337 of file rectangular2d.hpp.

## ◆ operator=() [2/2]

RectangularMesh2D & plask::RectangularMesh2D::operator= | ( | RectangularMesh2D && | src | ) |
| inline

Definition at line 339 of file rectangular2d.hpp.

## ◆ operator==()

bool plask::RectangularMesh2D::operator== | ( | const RectangularMesh2D & | to_compare | ) | const
| inline

Compare meshes.

Parameters

  to_compare | mesh to compare

Returns
  `true` only if this mesh and `to_compare` represents the same sequence of points

Definition at line 449 of file rectangular2d.hpp.

## ◆ operator[]()

Vec< 2, double > plask::RectangularMesh2D::operator[] | ( | std::size_t | index | ) | const
| inline

Get point with given mesh index.

Parameters

  index | index of point, from 0 to size()-1

Returns
  point with given `index`

See also
  IterationOrder

Definition at line 577 of file rectangular2d.hpp.

## ◆ rad_r()

const shared_ptr< MeshAxis > & plask::RectangularMesh2D::rad_r | ( |  | ) | const
| inline

Get first coordinate of points in this mesh.

Returns
  axis0

Definition at line 406 of file rectangular2d.hpp.

## ◆ rad_z()

const shared_ptr< MeshAxis > & plask::RectangularMesh2D::rad_z | ( |  | ) | const
| inline

Get second coordinate of points in this mesh.

Returns
  axis1

Definition at line 412 of file rectangular2d.hpp.

## ◆ reset() [1/2]

void plask::RectangularMesh2D::reset | ( | const RectangularMesh2D & | src,
|  | bool | clone_axes = `false`
| ) |  |

Change axes and iteration order of this mesh to the ones from `src`.

Parameters

  src | mesh to copy
  iterationOrder | iteration order

Definition at line 97 of file rectangular2d.cpp.

## ◆ reset() [2/2]

void plask::RectangularMesh2D::reset | ( | shared_ptr< MeshAxis > | axis0,
|  | shared_ptr< MeshAxis > | axis1,
|  | RectangularMesh2D::IterationOrder | iterationOrder = `ORDER_01`
| ) |  |

Change axes and iteration order of this mesh.

Parameters

  mesh0 | mesh for the first coordinate
  mesh1 | mesh for the second coordinate
  iterationOrder | iteration order

Definition at line 81 of file rectangular2d.cpp.

## ◆ setAxis()

void plask::RectangularMesh2D::setAxis | ( | std::size_t | axis_nr,
|  | shared_ptr< MeshAxis > | new_val,
|  | bool | fireResized = `true`
| ) |  |

Change axis.

Parameters

  axis_nr | number of axis to change
  new_val | new value for axis
  fireResized | whether to call fireResized()

Definition at line 109 of file rectangular2d.cpp.

## ◆ setAxis0()

void plask::RectangularMesh2D::setAxis0 | ( | shared_ptr< MeshAxis > | a0 | ) |
| inline

Definition at line 353 of file rectangular2d.hpp.

## ◆ setAxis1()

void plask::RectangularMesh2D::setAxis1 | ( | shared_ptr< MeshAxis > | a1 | ) |
| inline

Definition at line 357 of file rectangular2d.hpp.

## ◆ setIterationOrder()

void plask::RectangularMesh2D::setIterationOrder | ( | IterationOrder | order | ) |

Choose iteration order.

Parameters

  order | iteration order to use

See also
  IterationOrder

Definition at line 41 of file rectangular2d.cpp.

## ◆ setOptimalIterationOrder()

void plask::RectangularMesh2D::setOptimalIterationOrder | ( |  | ) |
| inline

Set iteration order to the shortest axis changes fastest.

Definition at line 296 of file rectangular2d.hpp.

## ◆ setTran()

void plask::RectangularMesh2D::setTran | ( | shared_ptr< MeshAxis > | a0 | ) |
| inline

Definition at line 380 of file rectangular2d.hpp.

## ◆ setVert()

void plask::RectangularMesh2D::setVert | ( | shared_ptr< MeshAxis > | a1 | ) |
| inline

Definition at line 388 of file rectangular2d.hpp.

## ◆ size()

std::size_t plask::RectangularMesh2D::size | ( |  | ) | const
| inline override virtual

Get number of points in mesh.

Returns
  number of points in mesh

Implements plask::Mesh.

Definition at line 465 of file rectangular2d.hpp.

## ◆ tran()

const shared_ptr< MeshAxis > & plask::RectangularMesh2D::tran | ( |  | ) | const
| inline

Get first coordinate of points in this mesh.

Returns
  axis0

Definition at line 378 of file rectangular2d.hpp.

## ◆ vert()

const shared_ptr< MeshAxis > & plask::RectangularMesh2D::vert | ( |  | ) | const
| inline

Get second coordinate of points in this mesh.

Returns
  axis1

Definition at line 386 of file rectangular2d.hpp.

## ◆ writeXML()

void plask::RectangularMesh2D::writeXML | ( | XMLElement & | object | ) | const
| override virtual

Write mesh to XML.

Parameters

  object | XML object to write to

Reimplemented from plask::Mesh.

Definition at line 218 of file rectangular2d.cpp.

## Member Data Documentation

## ◆ axis

const shared_ptr<MeshAxis> plask::RectangularMesh2D::axis[2]

First and second coordinates of points in this mesh.

Definition at line 225 of file rectangular2d.hpp.

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

- plask/mesh/rectangular2d.hpp
- plask/mesh/rectangular2d.cpp