|
| template<typename... Args> |
| | ElementMesh (const RectangularMesh2D *originalMesh, Args... args) |
| |
| 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.
|
| |
| 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.
|
| |
| 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.
|
| |
| 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 () |
| |
| virtual | ~Printable () |
| |
| std::string | str () const |
| | Get string representation of this using print method.
|
| |
| virtual | ~MeshBase () |
| |
|
| enum | IterationOrder { ORDER_10
, ORDER_01
} |
| | Iteration orders: More...
|
| |
| typedef plask::Boundary< RectangularMeshBase2D > | Boundary |
| | Boundary type.
|
| |
| 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 |
| |
| 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) |
| |
| const shared_ptr< MeshAxis > | axis [2] |
| | First and second coordinates of points in this mesh.
|
| |
| boost::signals2::signal< void(Event &)> | changed |
| | Changed signal, fired when mesh was changed.
|
| |