PLaSK library
|
Rectangular mesh in 3D space. More...
#include <plask/mesh/rectangular3d.hpp>
Public Types | |
typedef RectilinearMesh3D::ElementMesh< RectangularMesh3D > | ElementMesh |
Public Types inherited from plask::RectilinearMesh3D | |
enum | IterationOrder { ORDER_012 , ORDER_021 , ORDER_102 , ORDER_120 , ORDER_201 , ORDER_210 } |
Iteration orders: Every other order is proper permutation of indices. More... | |
Public Types inherited from plask::RectangularMeshBase3D | |
typedef plask::Boundary< RectangularMeshBase3D > | Boundary |
Boundary type. | |
Public Types inherited from plask::MeshD< 3 > | |
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 | |
RectangularMesh3D (IterationOrder iterationOrder=ORDER_012) | |
Construct mesh which has all axes of type OrderedAxis and all are empty. | |
RectangularMesh3D (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. | |
RectangularMesh3D (const RectangularMesh3D &src, bool clone_axes=false) | |
Copy constructor. | |
const shared_ptr< MeshAxis > & | lon () const |
Get first coordinate of points in this mesh. | |
const shared_ptr< MeshAxis > & | tran () const |
Get second coordinate of points in this mesh. | |
const shared_ptr< MeshAxis > & | vert () const |
Get third coordinate of points in this mesh. | |
const shared_ptr< MeshAxis > & | ee_z () const |
Get first coordinate of points in this mesh. | |
const shared_ptr< MeshAxis > & | ee_x () const |
Get second coordinate of points in this mesh. | |
const shared_ptr< MeshAxis > & | ee_y () const |
Get third 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_phi () const |
Get second coordinate of points in this mesh. | |
const shared_ptr< MeshAxis > & | rad_z () const |
Get third coordinate of points in this mesh. | |
void | writeXML (XMLElement &object) const override |
Write mesh to XML. | |
Vec< 3, double > | at (std::size_t index0, std::size_t index1, std::size_t index2) const override |
Get point with given mesh indices. | |
shared_ptr< RectangularMesh3D::ElementMesh > | getElementMesh () const |
Return a mesh that enables iterating over middle points of the cuboids. | |
double | getElementArea (std::size_t index0, std::size_t index1, std::size_t index2) const |
Get area of given element. | |
double | getElementArea (std::size_t element_index) const |
Get area of given element. | |
Vec< 3, double > | getElementMidpoint (std::size_t index0, std::size_t index1, std::size_t index2) const override |
Get point in center of Elements. | |
Vec< 3, double > | getElementMidpoint (std::size_t element_index) const |
Get point in center of Elements. | |
Box3D | getElementBox (std::size_t index0, std::size_t index1, std::size_t index2) const |
Get element as cuboid. | |
Box3D | getElementBox (std::size_t element_index) const |
Get element as cuboid. | |
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. | |
Public Member Functions inherited from plask::RectilinearMesh3D | |
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 |
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. | |
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). | |
Public Member Functions inherited from plask::MeshD< 3 > | |
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 () |
Additional Inherited Members | |
Static Public Member Functions inherited from plask::RectangularMeshBase3D | |
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) |
Public Attributes inherited from plask::RectilinearMesh3D | |
const shared_ptr< MeshAxis > | axis [3] |
First, second and third 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 inherited from plask::RectilinearMesh3D | |
bool | hasSameNodes (const MeshD< 3 > &to_compare) const override |
Protected Member Functions inherited from plask::MeshD< 3 > | |
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. | |
Rectangular mesh in 3D space.
Includes three 1d rectilinear meshes:
Definition at line 36 of file rectangular3d.hpp.
Definition at line 40 of file rectangular3d.hpp.
|
explicit |
Construct mesh which has all axes of type OrderedAxis and all are empty.
iterationOrder | iteration order |
Definition at line 26 of file rectangular3d.cpp.
plask::RectangularMesh3D::RectangularMesh3D | ( | 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.
mesh0 | mesh for the first coordinate |
mesh1 | mesh for the second coordinate |
mesh2 | mesh for the third coordinate |
iterationOrder | iteration order |
Definition at line 28 of file rectangular3d.cpp.
plask::RectangularMesh3D::RectangularMesh3D | ( | const RectangularMesh3D & | src, |
bool | clone_axes = false |
||
) |
Copy constructor.
src | mesh to copy |
clone_axes | whether axes of the src should be cloned (if true) or shared (if false; default) |
Definition at line 31 of file rectangular3d.cpp.
Get point with given mesh index.
index | index of point, from 0 to size()-1 |
index
Implements plask::MeshD< 3 >.
Definition at line 550 of file rectilinear3d.hpp.
|
inlineoverridevirtual |
Get point with given mesh indices.
index0 | index of point in axis0 |
index1 | index of point in axis1 |
index2 | index of point in axis2 |
index
Implements plask::RectilinearMesh3D.
Definition at line 134 of file rectangular3d.hpp.
|
virtual |
Get point with given mesh indices.
index0 | index of point in axis0 |
index1 | index of point in axis1 |
index2 | index of point in axis2 |
index
Implements plask::RectilinearMesh3D.
Get second coordinate of points in this mesh.
Definition at line 93 of file rectangular3d.hpp.
Get third coordinate of points in this mesh.
Definition at line 99 of file rectangular3d.hpp.
Get first coordinate of points in this mesh.
Definition at line 87 of file rectangular3d.hpp.
|
inline |
Get area of given element.
element_index | index of element |
Definition at line 158 of file rectangular3d.hpp.
|
inline |
Get area of given element.
index0,index1,index2 | axis 0, 1 and 2 indexes of element |
Definition at line 149 of file rectangular3d.hpp.
|
inline |
Get element as cuboid.
element_index | index of element |
Definition at line 196 of file rectangular3d.hpp.
|
inline |
Get element as cuboid.
index0,index1,index2 | index of Elements |
Definition at line 187 of file rectangular3d.hpp.
shared_ptr< RectangularMesh3D::ElementMesh > plask::RectangularMesh3D::getElementMesh | ( | ) | const |
Return a mesh that enables iterating over middle points of the cuboids.
Definition at line 22 of file rectangular3d.cpp.
|
inline |
Get point in center of Elements.
element_index | index of Elements |
Definition at line 177 of file rectangular3d.hpp.
|
inlineoverridevirtual |
Get point in center of Elements.
index0,index1,index2 | index of Elements |
Implements plask::RectilinearMesh3D.
Definition at line 168 of file rectangular3d.hpp.
Get first coordinate of points in this mesh.
Definition at line 69 of file rectangular3d.hpp.
Get second coordinate of points in this mesh.
Definition at line 111 of file rectangular3d.hpp.
Get first coordinate of points in this mesh.
Definition at line 105 of file rectangular3d.hpp.
Get third coordinate of points in this mesh.
Definition at line 117 of file rectangular3d.hpp.
Get second coordinate of points in this mesh.
Definition at line 75 of file rectangular3d.hpp.
Get third coordinate of points in this mesh.
Definition at line 81 of file rectangular3d.hpp.
|
overridevirtual |
Write mesh to XML.
object | XML object to write to |
Reimplemented from plask::Mesh.
Definition at line 33 of file rectangular3d.cpp.