|
PLaSK library
|
Abstract class to derive all mesh axes from. More...
#include <plask/mesh/axis1d.hpp>
Public Member Functions | |
| virtual shared_ptr< MeshAxis > | clone () const |
Create new mesh which has copy of data included in this. | |
| virtual std::size_t | findIndex (double to_find) const |
Find index where to_find point could be inserted. | |
| virtual std::size_t | findUpIndex (double to_find) const |
Find the lowest index for which coordinate is larger than to_find. | |
| virtual std::size_t | findNearestIndex (double to_find) const |
Find index nearest to to_find. | |
| virtual shared_ptr< MeshAxis > | getMidpointAxis () const |
| Return an axis that enables iterating over middle points of the ranges. | |
| virtual bool | isIncreasing () const =0 |
Public Member Functions inherited from plask::MeshD< 1 > | |
| virtual LocalCoords | at (std::size_t index) const=0 |
| Get point with given mesh index. | |
| 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 std::size_t | size () const =0 |
| virtual bool | empty () const |
| 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 Member Functions | |
| void | beforeCalcMidpointMesh () const |
| Throw exception if this mesh has less than two point. | |
Protected Member Functions inherited from plask::MeshD< 1 > | |
| virtual bool | hasSameNodes (const MeshD< dimension > &to_compare) const |
Check if this mesh and to_compare represent the same sequence of points (have exactly the same points in the same order). | |
Protected Member Functions inherited from plask::Mesh | |
| virtual void | onChange (const Event &evt) |
| This method is called when the mesh is changed, just before changed signal. | |
Additional Inherited Members | |
Public Types inherited from plask::MeshD< 1 > | |
| 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 Attributes inherited from plask::Mesh | |
| boost::signals2::signal< void(Event &)> | changed |
| Changed signal, fired when mesh was changed. | |
Abstract class to derive all mesh axes from.
Definition at line 27 of file axis1d.hpp.
|
protected |
Throw exception if this mesh has less than two point.
Definition at line 84 of file axis1d.cpp.
|
virtual |
Create new mesh which has copy of data included in this.
By default RectangularMesh is used for result, but subclasses can use another types for less memory usage or better performance.
this Reimplemented in plask::OrderedAxis, and plask::RegularAxis.
Definition at line 62 of file axis1d.cpp.
|
virtual |
Find index where to_find point could be inserted.
| to_find | point to find |
to_find only if to_find is already in mesh, in other case it refer to value larger than to_find. Can be equal to size() if to_find is larger than all points in mesh. Reimplemented in plask::OrderedAxis, and plask::RegularAxis.
Definition at line 67 of file axis1d.cpp.
|
virtual |
Find index nearest to to_find.
| to_find |
Reimplemented in plask::OrderedAxis, and plask::RegularAxis.
Definition at line 75 of file axis1d.cpp.
|
virtual |
Find the lowest index for which coordinate is larger than to_find.
| to_find | point to find |
to_find. Can be equal to size() if to_find is larger than all points in mesh or equals to the last point. Reimplemented in plask::OrderedAxis, and plask::RegularAxis.
Definition at line 71 of file axis1d.cpp.
|
virtual |
Return an axis that enables iterating over middle points of the ranges.
Throw exception if this mesh has less than two points.
Reimplemented in plask::RegularAxis.
Definition at line 79 of file axis1d.cpp.
true only if points are in increasing order, false if points are in decreasing order Implemented in plask::MidpointAxis, plask::OnePointAxis, plask::OrderedAxis, and plask::RegularAxis.