|
Elements | elements () const |
| Accessor to FEM-like elements.
|
|
Elements | getElements () const |
|
Element | element (std::size_t i0, std::size_t i1, std::size_t i2) const |
|
Element | getElement (std::size_t i0, std::size_t i1, std::size_t i2) 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 .
|
|
Box3D | getElementBox (std::size_t index0, std::size_t index1, std::size_t index2) const |
| Get element as box.
|
|
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.
|
|
bool | isChangeSlower (std::size_t axis_index1, std::size_t axis_index2) const |
| Check if axis with index axis_index1 changes slower than one with index axis_index2 when the mesh is changed by 1.
|
|
void | setOptimalIterationOrder () |
| Set iteration order to the shortest axis changes fastest.
|
|
| RectilinearMesh3D (IterationOrder iterationOrder=ORDER_012) |
| Construct mesh which has all axes of type OrderedAxis and all are empty.
|
|
| RectilinearMesh3D (shared_ptr< MeshAxis > mesh0, shared_ptr< MeshAxis > mesh1, shared_ptr< MeshAxis > mesh2, IterationOrder iterationOrder=ORDER_012) |
| Construct mesh with is based on given 1D meshes.
|
|
void | reset (shared_ptr< MeshAxis > mesh0, shared_ptr< MeshAxis > mesh1, shared_ptr< MeshAxis > mesh2, IterationOrder iterationOrder=ORDER_012) |
| Change axes and iteration order of this mesh.
|
|
| RectilinearMesh3D (const RectilinearMesh3D &src, bool clone_axes=false) |
| Copy constructor.
|
|
void | reset (const RectilinearMesh3D &src, bool clone_axes=false) |
| Change axes and iteration order of this mesh to the ones from src .
|
|
RectilinearMesh3D & | operator= (const RectilinearMesh3D &src) |
|
RectilinearMesh3D & | operator= (RectilinearMesh3D &&src) |
|
| ~RectilinearMesh3D () |
|
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 > | getAxis2 () const |
|
void | setAxis2 (shared_ptr< MeshAxis > a2) |
|
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 > | mediumAxis () const |
|
std::size_t | mediumAxisIndex () const |
|
const shared_ptr< MeshAxis > | minorAxis () const |
|
std::size_t | minorAxisIndex () const |
|
bool | operator== (const RectilinearMesh3D &to_compare) const |
| Compare meshes.
|
|
bool | operator!= (const RectilinearMesh3D &to_compare) const |
|
std::size_t | size () const override |
| Get number of points in the mesh.
|
|
bool | empty () const override |
|
virtual Vec< 3, double > | at (std::size_t index0, std::size_t index1, std::size_t index2) const =0 |
| Get point with given mesh indices.
|
|
Vec< 3, double > | at (std::size_t index) const override |
| Get point with given mesh index.
|
|
Vec< 3, double > | operator[] (std::size_t index) const |
| Get point with given mesh index.
|
|
Vec< 3, double > | operator() (std::size_t index0, std::size_t index1, std::size_t index2) const |
| Get point with given x and y indexes.
|
|
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.
|
|
double | getElementMidpoint2 (std::size_t index2) const |
| Get second coordinate of point in center of Elements.
|
|
virtual Vec< 3, double > | getElementMidpoint (std::size_t index0, std::size_t index1, std::size_t index2) const =0 |
| Get point in center of Elements.
|
|
std::size_t | index (std::size_t c0_index, std::size_t c1_index, std::size_t c2_index) const |
| Calculate this mesh index using indexes of c0, c1 and c2.
|
|
std::size_t | index (const Vec< 3, std::size_t > &indexes) const |
| Calculate this mesh index using indexes of axis[0], axis[1] and axis[2].
|
|
std::size_t | index0 (std::size_t mesh_index) const |
| Calculate index of c0 using this mesh index.
|
|
std::size_t | index1 (std::size_t mesh_index) const |
| Calculate index of c1 using this mesh index.
|
|
std::size_t | index2 (std::size_t mesh_index) const |
| Calculate index of c2 using this mesh index.
|
|
template<std::size_t axis_nr> |
std::size_t | index_axis (std::size_t mesh_index) const |
| Calculate index of c<axis_nr> using this mesh index.
|
|
Vec< 3, 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 | middleIndex (std::size_t mesh_index) const |
| Calculate index of middle axis using given mesh index.
|
|
std::size_t | minorIndex (std::size_t mesh_index) const |
| Calculate index of minor axis using given mesh index.
|
|
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.
|
|
size_t | getElementsCount2 () const |
| Get number of elements (for FEM method) in the third direction.
|
|
size_t | getElementsCount () const |
| Get number of elements (for FEM method).
|
|
std::size_t | getElementMeshLowIndex (std::size_t element_index) const |
| Convert element index to mesh index of bottom, left, front element corner.
|
|
std::size_t | getElementIndexFromLowIndexes (std::size_t axis0_index, std::size_t axis1_index, std::size_t axis2_index) const |
| Convert mesh indexes of a bottom-left corner of an element to the index of this element.
|
|
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, front element corner to this element index.
|
|
std::size_t | getElementIndexFromLowIndex (std::size_t axis0_index, std::size_t axis1_index, std::size_t axis2_index) const |
| Convert indexes of mesh axes of lower (along all axes) element corner to index of this element.
|
|
Vec< 3, std::size_t > | getElementMeshLowIndexes (std::size_t element_index) const |
| Convert element index to mesh indexes of bottom left element corner.
|
|
template<typename RandomAccessContainer > |
auto | interpolateLinear (const RandomAccessContainer &data, const Vec< 3 > &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 describe by this mesh.
|
|
template<typename RandomAccessContainer > |
auto | interpolateNearestNeighbor (const RandomAccessContainer &data, Vec< 3 > 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 describe by this mesh.
|
|
BoundaryNodeSet | createIndex0BoundaryAtLine (std::size_t line_nr_axis0) const override |
| Create a node set which includes one plane in mesh, which has 0 coordinate equals to line_nr_axis0 .
|
|
BoundaryNodeSet | createBackBoundary () const override |
| Create a node set which includes a whole back plane (face) of mesh.
|
|
BoundaryNodeSet | createFrontBoundary () const override |
| Create a node set which includes a whole front plane (face) of mesh.
|
|
BoundaryNodeSet | createIndex1BoundaryAtLine (std::size_t line_nr_axis1) const override |
| Create a node set which includes one plane in mesh, which has 1 coordinate equals to line_nr_axis1 .
|
|
BoundaryNodeSet | createLeftBoundary () const override |
| Create a node set which includes a whole left plane (face) of mesh.
|
|
BoundaryNodeSet | createRightBoundary () const override |
| Create a node set which includes a whole right plane (face) of mesh.
|
|
BoundaryNodeSet | createIndex2BoundaryAtLine (std::size_t line_nr_axis2) const override |
| Create a node set which includes one plane in mesh, which has 2 coordinate equals to line_nr_axis2 .
|
|
BoundaryNodeSet | createBottomBoundary () const override |
| Create a node set which shows a whole bottom plane (face) of mesh.
|
|
BoundaryNodeSet | createTopBoundary () const override |
| Create a node set which shows a whole top plane (face) of mesh.
|
|
BoundaryNodeSet | createIndex0BoundaryAtLine (std::size_t line_nr_axis0, std::size_t index1Begin, std::size_t index1End, std::size_t index2Begin, std::size_t index2End) const override |
| Create a node set which includes a rectangle in plane of mesh, which has 0 coordinate equals to line_nr_axis0 .
|
|
BoundaryNodeSet | createBackOfBoundary (const Box3D &box) const override |
| Create a node set which has fixed index at axis 0 direction and lies on back of the box (at nearest plane inside the box).
|
|
BoundaryNodeSet | createFrontOfBoundary (const Box3D &box) const override |
| Create a node set which has fixed index at axis 0 direction and lies on front of the box (at nearest plane inside the box).
|
|
BoundaryNodeSet | createIndex1BoundaryAtLine (std::size_t line_nr_axis1, std::size_t index0Begin, std::size_t index0End, std::size_t index2Begin, std::size_t index2End) const override |
| Create a node set which includes a rectangle in plane of mesh, which has 0 coordinate equals to line_nr_axis1 .
|
|
BoundaryNodeSet | createLeftOfBoundary (const Box3D &box) const override |
| Create a node set which has fixed index at axis 1 direction and lies on left face of the box (at nearest plane inside the box).
|
|
BoundaryNodeSet | createRightOfBoundary (const Box3D &box) const override |
| Create a node set which has fixed index at axis 1 direction and lies on right face of the box (at nearest plane inside the box).
|
|
BoundaryNodeSet | createIndex2BoundaryAtLine (std::size_t line_nr_axis2, std::size_t index0Begin, std::size_t index0End, std::size_t index1Begin, std::size_t index1End) const override |
| Create a node set which includes a rectangle in plane of mesh, which has 2 coordinate equals to line_nr_axis2 .
|
|
BoundaryNodeSet | createBottomOfBoundary (const Box3D &box) const override |
| Create a node set which has fixed index at axis 2 direction and lies on bottom face of the box (at nearest plane inside the box).
|
|
BoundaryNodeSet | createTopOfBoundary (const Box3D &box) const override |
| Create a node set which has fixed index at axis 2 direction and lies on top face of the box (at nearest plane inside the box).
|
|
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 void | writeXML (XMLElement &object) const |
| Write mesh to XML.
|
|
virtual | ~Mesh () |
|
virtual | ~Printable () |
|
std::string | str () const |
| Get string representation of this using print method.
|
|
virtual | ~MeshBase () |
|
|
template<typename Predicate > |
static Boundary | getBoundary (Predicate predicate) |
|
static Boundary | getIndex0BoundaryAtLine (std::size_t line_nr_axis0) |
| Get boundary which shows one plane in mesh, which has 0 coordinate equals to line_nr_axis0 .
|
|
static Boundary | getIndex0BoundaryAtLine (std::size_t line_nr_axis0, std::size_t index1Begin, std::size_t index1End, std::size_t index2Begin, std::size_t index2End) |
| Get boundary which shows a rectangle in plane of mesh, which has 0 coordinate equals to line_nr_axis0 .
|
|
static Boundary | getIndex1BoundaryAtLine (std::size_t line_nr_axis1) |
| Get boundary which shows one plane in mesh, which has 1 coordinate equals to line_nr_axis1 .
|
|
static Boundary | getIndex1BoundaryAtLine (std::size_t line_nr_axis1, std::size_t index0Begin, std::size_t index0End, std::size_t index2Begin, std::size_t index2End) |
| Get boundary which shows a rectangle in plane of mesh, which has 1 coordinate equals to line_nr_axis1 .
|
|
static Boundary | getIndex2BoundaryAtLine (std::size_t line_nr_axis2) |
| Get boundary which shows one plane in mesh, which has 2 coordinate equals to line_nr_axis2 .
|
|
static Boundary | getIndex2BoundaryAtLine (std::size_t line_nr_axis2, std::size_t index0Begin, std::size_t index0End, std::size_t index1Begin, std::size_t index1End) |
| Get boundary which shows a rectangle in plane of mesh, which has 2 coordinate equals to line_nr_axis2 .
|
|
static Boundary | getBackBoundary () |
| Get boundary which show a whole back plane (face) of mesh.
|
|
static Boundary | getBackOfBoundary (const Box3D &box) |
| Get a boundary which has fixed index at axis 0 direction and lies on back of the box (at nearest plane inside the box).
|
|
static Boundary | getFrontBoundary () |
| Get boundary which show a whole front plane (face) of mesh.
|
|
static Boundary | getFrontOfBoundary (const Box3D &box) |
| Get a boundary which has fixed index at axis 0 direction and lies on front of the box (at nearest plane inside the box).
|
|
static Boundary | getLeftBoundary () |
| Get boundary which show a whole left plane (face) of mesh.
|
|
static Boundary | getLeftOfBoundary (const Box3D &box) |
| Get a boundary which has fixed index at axis 1 direction and lies on left face of the box (at nearest plane inside the box).
|
|
static Boundary | getRightBoundary () |
| Get boundary which show a whole right plane (face) of mesh.
|
|
static Boundary | getRightOfBoundary (const Box3D &box) |
| Get a boundary which has fixed index at axis 1 direction and lies on right face of the box (at nearest plane inside the box).
|
|
static Boundary | getTopBoundary () |
| Get boundary which show a whole top plane (face) of mesh.
|
|
static Boundary | getTopOfBoundary (const Box3D &box) |
| Get a boundary which has fixed index at axis 2 direction and lies on top face of the box (at nearest plane inside the box).
|
|
static Boundary | getBottomBoundary () |
| Get boundary which show a whole bottom plane (face) of mesh.
|
|
static Boundary | getBottomOfBoundary (const Box3D &box) |
| Get a boundary which has fixed index at axis 2 direction and lies on top bottom of the box (at nearest plane inside the box).
|
|
static Boundary | getLeftOfBoundary (shared_ptr< const GeometryObject > object, const PathHints &path) |
| Get boundary which lies on left faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getLeftOfBoundary (shared_ptr< const GeometryObject > object, const PathHints *path) |
| Get boundary which lies on left faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getLeftOfBoundary (shared_ptr< const GeometryObject > object) |
| Get boundary which lies on left faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getRightOfBoundary (shared_ptr< const GeometryObject > object, const PathHints &path) |
| Get boundary which lies on right faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getRightOfBoundary (shared_ptr< const GeometryObject > object, const PathHints *path) |
| Get boundary which lies on right faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getRightOfBoundary (shared_ptr< const GeometryObject > object) |
| Get boundary which lies on right faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getBottomOfBoundary (shared_ptr< const GeometryObject > object, const PathHints &path) |
| Get boundary which lies on bottom faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getBottomOfBoundary (shared_ptr< const GeometryObject > object, const PathHints *path) |
| Get boundary which lies on bottom faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getBottomOfBoundary (shared_ptr< const GeometryObject > object) |
| Get boundary which lies on bottom faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getTopOfBoundary (shared_ptr< const GeometryObject > object, const PathHints &path) |
| Get boundary which lies on top faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getTopOfBoundary (shared_ptr< const GeometryObject > object) |
| Get boundary which lies on top faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getTopOfBoundary (shared_ptr< const GeometryObject > object, const PathHints *path) |
| Get boundary which lies on top faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getBackOfBoundary (shared_ptr< const GeometryObject > object, const PathHints &path) |
| Get boundary which lies on back faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getBackOfBoundary (shared_ptr< const GeometryObject > object) |
| Get boundary which lies on back faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getBackOfBoundary (shared_ptr< const GeometryObject > object, const PathHints *path) |
| Get boundary which lies on back of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getFrontOfBoundary (shared_ptr< const GeometryObject > object, const PathHints &path) |
| Get boundary which lies on front faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getFrontOfBoundary (shared_ptr< const GeometryObject > object) |
| Get boundary which lies on front faces of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getFrontOfBoundary (shared_ptr< const GeometryObject > object, const PathHints *path) |
| Get boundary which lies on front of bounding-boxes of objects (in geometry coordinates).
|
|
static Boundary | getBoundary (const std::string &boundary_desc) |
|
static Boundary | getBoundary (XMLReader &boundary_desc, Manager &manager) |
|
Rectilinear mesh in 3D space.
Includes three 1d rectilinear meshes:
- axis0
- axis1
- axis2 Represent all points (c0, c1, c2) such that c0 is in axis0, c1 is in axis1, c2 is in axis2.
Definition at line 39 of file rectilinear3d.hpp.