PLaSK library
|
#include <plask/mesh/equilateral3d.hpp>
Classes | |
struct | Transformed |
Adapter for the destination mesh in interpolations, moving the src point to mesh coordinates. More... | |
Public Types | |
typedef RectilinearMesh3D::ElementMesh< EquilateralMesh3D > | 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 | |
EquilateralMesh3D (IterationOrder iterationOrder=ORDER_012, Vec< 3 > vec0=vec(1., 0., 0.), Vec< 3 > vec1=vec(0., 1., 0.), Vec< 3 > vec2=vec(0., 0., 1.)) | |
Construct mesh which has all axes of type OrderedAxis and all are empty. | |
EquilateralMesh3D (shared_ptr< MeshAxis > mesh0, shared_ptr< MeshAxis > mesh1, shared_ptr< MeshAxis > mesh2, IterationOrder iterationOrder=ORDER_012, Vec< 3 > vec0=vec(1., 0., 0.), Vec< 3 > vec1=vec(0., 1., 0.), Vec< 3 > vec2=vec(0., 0., 1.)) | |
Construct mesh with is based on given 1D meshes. | |
Vec< 3, double > | getVec0 () const |
Return the first mesh vector. | |
Vec< 3, double > | getVec1 () const |
Return the second mesh vector. | |
Vec< 3, double > | getVec2 () const |
Return the third mesh vector. | |
Vec< 3, double > | getInvVec0 () const |
Return the first inverse vector. | |
Vec< 3, double > | getInvVec1 () const |
Return the second inverse vector. | |
Vec< 3, double > | getInvVec2 () const |
Return the third inverse vector. | |
void | setVec0 (Vec< 3, double > vec0) |
Set the first mesh vector. | |
void | setVec1 (Vec< 3, double > vec1) |
Set the second mesh vector. | |
void | setVec2 (Vec< 3, double > vec2) |
Set the third mesh vector. | |
Vec< 3, double > | toMeshCoords (Vec< 3, double > point) const |
Transform point in the real coordinates to mesh coordinates. | |
Vec< 3, double > | toMeshCoords (double c0, double c1, double c2) const |
Transform point in the real coordinates to mesh coordinates. | |
Vec< 3, double > | fromMeshCoords (Vec< 3, double > coords) const |
Transform point in mesh coordinates to the real coordinates. | |
Vec< 3, double > | fromMeshCoords (double c0, double c1, double c2) const |
Transform point in mesh coordinates to the real coordinates. | |
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< EquilateralMesh3D::ElementMesh > | getElementMesh () const |
Return a mesh that enables iterating over middle points of the elements. | |
Vec< 3, double > | getElementMidpoint (std::size_t index0, std::size_t index1, std::size_t index2) const override |
Get point in center of Elements. | |
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 void | writeXML (XMLElement &object) const |
Write mesh to XML. | |
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 () |
Protected Attributes | |
double | trans [9] |
Transformation matrix. | |
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. | |
Definition at line 25 of file equilateral3d.hpp.
Definition at line 65 of file equilateral3d.hpp.
|
explicit |
Construct mesh which has all axes of type OrderedAxis and all are empty.
iterationOrder | iteration order |
vec0 | first axis vector |
vec1 | second axis vector |
vec2 | third axis vector |
Definition at line 19 of file equilateral3d.cpp.
plask::EquilateralMesh3D::EquilateralMesh3D | ( | shared_ptr< MeshAxis > | mesh0, |
shared_ptr< MeshAxis > | mesh1, | ||
shared_ptr< MeshAxis > | mesh2, | ||
IterationOrder | iterationOrder = ORDER_012 , |
||
Vec< 3 > | vec0 = vec(1., 0., 0.) , |
||
Vec< 3 > | vec1 = vec(0., 1., 0.) , |
||
Vec< 3 > | vec2 = vec(0., 0., 1.) |
||
) |
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 |
vec0 | first axis vector |
vec1 | second axis vector |
vec2 | third axis vector |
Definition at line 24 of file equilateral3d.cpp.
|
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 199 of file equilateral3d.hpp.
|
inline |
Transform point in mesh coordinates to the real coordinates.
c0,c1,c2 | coordinates to transform |
Definition at line 186 of file equilateral3d.hpp.
Transform point in mesh coordinates to the real coordinates.
coords | coordinates to transform |
Definition at line 175 of file equilateral3d.hpp.
shared_ptr< EquilateralMesh3D::ElementMesh > plask::EquilateralMesh3D::getElementMesh | ( | ) | const |
Return a mesh that enables iterating over middle points of the elements.
Definition at line 31 of file equilateral3d.cpp.
|
inlineoverridevirtual |
Get point in center of Elements.
index0,index1,index2 | index of Elements |
Implements plask::RectilinearMesh3D.
Definition at line 214 of file equilateral3d.hpp.
Return the first inverse vector.
Definition at line 107 of file equilateral3d.hpp.
Return the second inverse vector.
Definition at line 112 of file equilateral3d.hpp.
Return the third inverse vector.
Definition at line 117 of file equilateral3d.hpp.
Return the first mesh vector.
Definition at line 92 of file equilateral3d.hpp.
Return the second mesh vector.
Definition at line 97 of file equilateral3d.hpp.
Return the third mesh vector.
Definition at line 102 of file equilateral3d.hpp.
Set the first mesh vector.
Definition at line 122 of file equilateral3d.hpp.
Set the second mesh vector.
Definition at line 131 of file equilateral3d.hpp.
Set the third mesh vector.
Definition at line 140 of file equilateral3d.hpp.
|
inline |
Transform point in the real coordinates to mesh coordinates.
c0,c1,c2 | point to transform |
Definition at line 164 of file equilateral3d.hpp.
Transform point in the real coordinates to mesh coordinates.
point | point to transform |
Definition at line 153 of file equilateral3d.hpp.
|
protected |
Transformation matrix.
Definition at line 28 of file equilateral3d.hpp.