PLaSK library

Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
plask::Manager Struct Reference

Geometry manager features: More...

`#include <plask/manager.hpp>`

Collaboration diagram for plask::Manager:
[legend]

## Classes
struct | ExternalSourcesFromFile
| Allow to support reading some sections from other files. More...
struct | Map
class | SetAxisNames
| Set axis name from current reader tag, set it in manager as current, and restore old axisNames value when out of the scope. More...

## Public Member Functions
void | pushError (const std::string &mesg, int line=-1)
| Save non-critical error.
void | pushError (const std::runtime_error &error, int line=-1)
| Save non-critical error.
void | pushError (const XMLException &error, int line=-1)
| Save non-critical error.
template<typename ErrorType >
void | throwErrorIfNotDraft (ErrorType error, int line=-1)
| Throw error if not in draft mode.
std::string | getAxisName (std::size_t axis_index)
| Get current axis name.
std::string | getAxisLongName ()
| Get current lon direction axis name.
std::string | getAxisTranName ()
| Get current tran direction axis name.
std::string | getAxisVertName ()
| Get current up direction axis name.
| Manager (bool draft=false)
virtual | ~Manager ()
PathHints * | getPathHints (const std::string &path_hints_name)
| Get path hints with given name.
const PathHints * | getPathHints (const std::string &path_hints_name) const
| Get path hints with given name.
PathHints & | requirePathHints (const std::string &path_hints_name)
| Get path hints with given name, throw exception if there is no path hints with name `path_hints_name`.
const PathHints & | requirePathHints (const std::string &path_hints_name) const
| Get path hints with given name, throw exception if there is no path hints with name `path_hints_name`.
shared_ptr< GeometryObject > | getGeometryObject (const std::string &name) const
| Get object with given `name`.
template<typename RequiredObjectType >
shared_ptr< RequiredObjectType > | getGeometryObject (const std::string &name) const
| Call getObject(name) and try dynamic cast it to RequiredObjectType.
shared_ptr< GeometryObject > | requireGeometryObject (const std::string &name)
| Get object with given name or throw exception if object with given name does not exist.
template<typename RequiredObjectType >
shared_ptr< RequiredObjectType > | requireGeometryObject (const std::string &name)
| Call requireElement(name) and try dynamic cast it to RequiredObjectType.
shared_ptr< Geometry > | getGeometry (const std::string &name) const
| Get geometry trunk with given `name`.
shared_ptr< MeshBase > | getMesh (const std::string &name) const
| Get mesh with given `name`.
template<typename RequiredCalcSpaceType >
shared_ptr< RequiredCalcSpaceType > | getGeometry (const std::string &name) const
| Get geometry trunk with given `name` and try dynamic cast it to RequiredCalcSpaceType.
template<typename RequiredCalcSpaceType >
shared_ptr< RequiredCalcSpaceType > | requireGeometry (const std::string &name) const
| Get geometry trunk with given `name` and try dynamic cast it to RequiredCalcSpaceType.
virtual void | loadDefines (XMLReader &reader)
| Load constants definitions from the `reader`.
virtual void | loadGeometry (GeometryReader &reader)
| Load geometry using geometry `reader`.
virtual void | loadMaterials (XMLReader &reader)
| Load materials using `reader` to default database.
virtual void | loadGrids (XMLReader &reader)
| Load meshes and mesh generators using reader.
virtual void | loadSolvers (XMLReader &reader)
| Load solvers using reader.
virtual void | loadConnects (XMLReader &reader)
| Load solvers intrconnects from the `reader`.
virtual void | loadScript (XMLReader &reader)
| Load script from the `reader`.
void | loadFromReader (XMLReader &XMLreader, const LoadFunCallbackT &load_from_cb=&disallowExternalSources)
| Load geometry using XML reader.
void | loadFromStream (std::unique_ptr< std::istream > &&input, const LoadFunCallbackT &load_from_cb=&disallowExternalSources)
| Load geometry from (XML) stream.
void | loadFromXMLString (const std::string &input_XML_str, const LoadFunCallbackT &load_from_cb=&disallowExternalSources)
| Load geometry from string which consist of XML.
void | loadFromFile (const std::string &fileName)
| Load geometry from XML file.
void | loadFromFILE (FILE *file, const LoadFunCallbackT &load_from_cb=&disallowExternalSources)
| Load geometry from C file object.
template<typename Boundary >
Boundary | readBoundary (XMLReader &reader)
| Read boundary (place) from current tag and move parser to end of the current tag.
template<typename Boundary , typename ConditionT >
void | readBoundaryConditions (XMLReader &reader, BoundaryConditions< Boundary, ConditionT > &dest)
| Read boundary conditions from current tag and move parser to end of current tag.
void | load (XMLReader &XMLreader, const LoadFunCallbackT &load_from_cb=&disallowExternalSources, const std::function< bool(const std::string &section_name)> &section_filter=&acceptAllSections)
| Load XML content.
void | loadSection (XMLReader &XMLreader, const std::string &section_to_load, const LoadFunCallbackT &load_from_cb=&disallowExternalSources)
| Load one section from XML content.
void | validatePositions (const std::function< void(const Geometry *, const Geometry *, std::vector< const GeometryObject * > &&, const std::map< const GeometryObject *, const char * > &)> &callback) const
| Try to find mistake in position of objects.
void | validatePositions () const
| Try to find mistake in position of objects.
std::size_t | getRootIndex (const Geometry *geom) const
| Get index of geometry in root.
template<>
shared_ptr< GeometryObject > | getGeometryObject (const std::string &name) const
template<>
shared_ptr< GeometryObject > | requireGeometryObject (const std::string &name)
template<>
shared_ptr< Geometry > | getGeometry (const std::string &name) const

## Static Public Member Functions
static void | disallowExternalSources (Manager &PLASK_UNUSED(manager), const std::string &url, const std::string &section)
| Throw exception with information that loading from external sources is not supported or disallowed.

## Public Attributes
Map< PathHints > | pathHints
| Allow to access path hints by name.
std::vector< shared_ptr< Geometry > > | roots
| Roots objects, geometries.
Map< shared_ptr< GeometryObject > > | geometrics
| Geometries and geometry objects by name.
Map< shared_ptr< MeshBase > > | meshes
| Meshes by name.
Map< shared_ptr< Solver > > | solvers
| Solvers by name.
Map< boost::any > | boundaries
| Boundaries places by name.
std::string | script
| Script read from file.
unsigned | scriptline
| Line in which script begins.
const AxisNames * | axisNames
| Current or default names of axis.
bool | draft
| Flag indicating if unknown materials are allowed.
std::deque< std::pair< int, std::string > > | errors
| Errors which occurred during loading (only in draft mode)

## Static Public Attributes
static constexpr const char * | TAG_NAME_ROOT = "plask"
| name of root XML tag
static constexpr const char * | TAG_NAME_DEFINES = "defines"
| name of XML tag of section with const definitions
static constexpr const char * | TAG_NAME_MATERIALS = "materials"
| name of XML tag of section with materials
static constexpr const char * | TAG_NAME_GEOMETRY = "geometry"
| name of XML tag of section with geometry
static constexpr const char * | TAG_NAME_GRIDS = "grids"
| name of XML tag of section with grids (meshes and generators)
static constexpr const char * | TAG_NAME_SOLVERS = "solvers"
| name of XML tag of section with solvers
static constexpr const char * | TAG_NAME_CONNECTS = "connects"
| name of XML tag of section with provides-receiver connections
static constexpr const char * | TAG_NAME_SCRIPT = "script"
| name of XML tag of section with (python) script
static constexpr const char * | XML_AXES_ATTR = "axes"
| name of axes attribute in XML

## Protected Member Functions
virtual shared_ptr< Solver > | loadSolver (const std::string &category, const std::string &lib, const std::string &solver_name, const std::string &name)
| Load solver from file.
void | loadMaterialLib (XMLReader &reader)
| Load binary material library to default database.
virtual void | loadMaterial (XMLReader &reader)
| Load one material using `reader` to default database.

## Detailed Description

Geometry manager features:

- read/write geometries,
- allow for access to geometry objects (also by names).

See also
  Geometry

Definition at line 51 of file manager.hpp.

## Constructor & Destructor Documentation

## ◆ Manager()

plask::Manager::Manager | ( | bool | draft = `false` | ) |
| inline explicit

Definition at line 307 of file manager.hpp.

## ◆ ~Manager()

virtual plask::Manager::~Manager | ( |  | ) |
| inline virtual

Definition at line 309 of file manager.hpp.

## Member Function Documentation

## ◆ disallowExternalSources()

static void plask::Manager::disallowExternalSources | ( | Manager & | PLASK_UNUSEDmanager,
|  | const std::string & | url,
|  | const std::string & | section
| ) |  |
| inline static

Throw exception with information that loading from external sources is not supported or disallowed.

Definition at line 69 of file manager.hpp.

## ◆ getAxisLongName()

std::string plask::Manager::getAxisLongName | ( |  | ) |
| inline

Get current lon direction axis name.

Returns
  name of lon axis

Definition at line 257 of file manager.hpp.

## ◆ getAxisName()

std::string plask::Manager::getAxisName | ( | std::size_t | axis_index | ) |
| inline

Get current axis name.

Parameters

  axis_index | axis index

Returns
  name of axis which have an `axis_index`

Definition at line 251 of file manager.hpp.

## ◆ getAxisTranName()

std::string plask::Manager::getAxisTranName | ( |  | ) |
| inline

Get current tran direction axis name.

Returns
  name of tran axis

Definition at line 263 of file manager.hpp.

## ◆ getAxisVertName()

std::string plask::Manager::getAxisVertName | ( |  | ) |
| inline

Get current up direction axis name.

Returns
  name of up axis

Definition at line 269 of file manager.hpp.

## ◆ getGeometry() [1/3]

shared_ptr< Geometry > plask::Manager::getGeometry | ( | const std::string & | name | ) | const

Get geometry trunk with given `name`.

Parameters

  name | name of calculation space to get

Returns
  calculation space with given `name` or shared_ptr<Geometry>() if there is geometry with given `name`

Definition at line 108 of file manager.cpp.

## ◆ getGeometry() [2/3]

template<typename RequiredCalcSpaceType >

shared_ptr< RequiredCalcSpaceType > plask::Manager::getGeometry | ( | const std::string & | name | ) | const
| inline

Get geometry trunk with given `name` and try dynamic cast it to RequiredCalcSpaceType.

Parameters

  name | name of calculation space to get

Returns
  required calculation space or shared_ptr<Geometry>() if there is no calculation space with given `name` or can't be casted to RequiredCalcSpaceType

Definition at line 642 of file manager.hpp.

## ◆ getGeometry() [3/3]

template<>

shared_ptr< Geometry > plask::Manager::getGeometry | ( | const std::string & | name | ) | const
| inline

Definition at line 642 of file manager.hpp.

## ◆ getGeometryObject() [1/3]

shared_ptr< GeometryObject > plask::Manager::getGeometryObject | ( | const std::string & | name | ) | const

Get object with given `name`.

Parameters

  name | name of object

Returns
  object with given `name` or `nullptr` if there is no object with given name

Definition at line 91 of file manager.cpp.

## ◆ getGeometryObject() [2/3]

template<typename RequiredObjectType >

shared_ptr< RequiredObjectType > plask::Manager::getGeometryObject | ( | const std::string & | name | ) | const

Call getObject(name) and try dynamic cast it to RequiredObjectType.

Parameters

  name | name of object

Returns
  object (casted to RequiredObjectType) with given `name` or `nullptr` if there is no object with given name or object with given name is not of type RequiredObjectType @tparm RequiredObjectType required type of object

Definition at line 616 of file manager.hpp.

## ◆ getGeometryObject() [3/3]

template<>

shared_ptr< GeometryObject > plask::Manager::getGeometryObject | ( | const std::string & | name | ) | const
| inline

Definition at line 616 of file manager.hpp.

## ◆ getMesh()

shared_ptr< MeshBase > plask::Manager::getMesh | ( | const std::string & | name | ) | const

Get mesh with given `name`.

Parameters

  name | name of calculation space to get

Returns
  calculation space with given `name` or shared_ptr<Mesh>() if there is no mesh with given `name`

Definition at line 113 of file manager.cpp.

## ◆ getPathHints() [1/2]

PathHints * plask::Manager::getPathHints | ( | const std::string & | path_hints_name | ) |

Get path hints with given name.

Parameters

  path_hints_name | name of path hints to get

Returns
  path hints with given name or `nullptr` if there is no path hints with name `path_hints_name`

Definition at line 67 of file manager.cpp.

## ◆ getPathHints() [2/2]

const PathHints * plask::Manager::getPathHints | ( | const std::string & | path_hints_name | ) | const

Get path hints with given name.

Parameters

  path_hints_name | name of path hints to get

Returns
  path hints with given name or `nullptr` if there is no path hints with name `path_hints_name`

Definition at line 73 of file manager.cpp.

## ◆ getRootIndex()

std::size_t plask::Manager::getRootIndex | ( | const Geometry * | geom | ) | const

Get index of geometry in root.

Parameters

  geom | geometry to get index

Returns
  index of `geom` in root vector, equal to size() if not found

Definition at line 589 of file manager.cpp.

## ◆ load()

void plask::Manager::load | ( | XMLReader & | XMLreader,
|  | const LoadFunCallbackT & | load_from_cb = `&disallowExternalSources`,
|  | const std::function< bool(const std::string &section_name)> & | section_filter = `&acceptAllSections`
| ) |  |

Load XML content.

Parameters

  XMLreader | XML data source, to load
  load_from_cb | callback called to open external location, allow loading some section from another sources, this callback should read section from external XML source pointed by url (typically name of file) or throw exception
  section_filter | predicate which returns `true` only if given section should be read, by default it always return `true`

Definition at line 298 of file manager.cpp.

## ◆ loadConnects()

void plask::Manager::loadConnects | ( | XMLReader & | reader | ) |
| virtual

Load solvers intrconnects from the `reader`.

Parameters

  reader | XMLreader to load from

Definition at line 275 of file manager.cpp.

## ◆ loadDefines()

void plask::Manager::loadDefines | ( | XMLReader & | reader | ) |
| virtual

Load constants definitions from the `reader`.

Parameters

  reader | XMLreader to load from, should point to `<defines>` tag, after read it will be point to `</defines>` tag

Definition at line 118 of file manager.cpp.

## ◆ loadFromFile()

void plask::Manager::loadFromFile | ( | const std::string & | fileName | ) |

Load geometry from XML file.

Parameters

  fileName | name of XML file

Definition at line 134 of file manager.cpp.

## ◆ loadFromFILE()

void plask::Manager::loadFromFILE | ( | FILE * | file,
|  | const LoadFunCallbackT & | load_from_cb = `&disallowExternalSources`
| ) |  |

Load geometry from C file object.

Parameters

  file | open file object
  load_from_cb | callback called to open external location, allow loading some section from another sources, this callback should read section from external XML source pointed by url (typically name of file) or throw exception

Definition at line 139 of file manager.cpp.

## ◆ loadFromReader()

void plask::Manager::loadFromReader | ( | XMLReader & | XMLreader,
|  | const LoadFunCallbackT & | load_from_cb = `&disallowExternalSources`
| ) |  |

Load geometry using XML reader.

Parameters

  XMLreader | reader to read from, should point to `<geometry>` tag, after read it will be point to `</geometry>` tag
  load_from_cb | callback called to open external location, allow loading some section from another sources, this callback should read section from external XML source pointed by url (typically name of file) or throw exception

Definition at line 123 of file manager.cpp.

## ◆ loadFromStream()

void plask::Manager::loadFromStream | ( | std::unique_ptr< std::istream > && | input,
|  | const LoadFunCallbackT & | load_from_cb = `&disallowExternalSources`
| ) |  |

Load geometry from (XML) stream.

Parameters

  input | stream to read from, with XML content, will be closed and deleted after read
  load_from_cb | callback called to open external location, allow loading some section from another sources, this callback should read section from external XML source pointed by url (typically name of file) or throw exception

Definition at line 125 of file manager.cpp.

## ◆ loadFromXMLString()

void plask::Manager::loadFromXMLString | ( | const std::string & | input_XML_str,
|  | const LoadFunCallbackT & | load_from_cb = `&disallowExternalSources`
| ) |  |

Load geometry from string which consist of XML.

Parameters

  input_XML_str | string with XML content
  load_from_cb | callback called to open external location, allow loading some section from another sources, this callback should read section from external XML source pointed by url (typically name of file) or throw exception

Definition at line 130 of file manager.cpp.

## ◆ loadGeometry()

void plask::Manager::loadGeometry | ( | GeometryReader & | reader | ) |
| virtual

Load geometry using geometry `reader`.

Parameters

  reader | reader to read from, should point to `<geometry>` tag, after read it will be point to `</geometry>` tag

Definition at line 144 of file manager.cpp.

## ◆ loadGrids()

void plask::Manager::loadGrids | ( | XMLReader & | reader | ) |
| virtual

Load meshes and mesh generators using reader.

Parameters

  reader | reader to read from, should point to `<solver>` tag, after read it will be point to `</solver>` tag

Definition at line 178 of file manager.cpp.

## ◆ loadMaterial()

void plask::Manager::loadMaterial | ( | XMLReader & | reader | ) |
| protected virtual

Load one material using `reader` to default database.

Parameters

  reader | reader to read from

Definition at line 161 of file manager.cpp.

## ◆ loadMaterialLib()

void plask::Manager::loadMaterialLib | ( | XMLReader & | reader | ) |
| protected

Load binary material library to default database.

Parameters

  reader | reader to read from

Definition at line 151 of file manager.cpp.

## ◆ loadMaterials()

void plask::Manager::loadMaterials | ( | XMLReader & | reader | ) |
| virtual

Load materials using `reader` to default database.

Parameters

  reader | reader to read from, should point to `<materials>` tag, after read it will be point to `</materials>` tag

Definition at line 167 of file manager.cpp.

## ◆ loadScript()

void plask::Manager::loadScript | ( | XMLReader & | reader | ) |
| virtual

Load script from the `reader`.

Do not execute it.

Parameters

  reader | XMLreader to load from

Returns
  read script

Definition at line 280 of file manager.cpp.

## ◆ loadSection()

void plask::Manager::loadSection | ( | XMLReader & | XMLreader,
|  | const std::string & | section_to_load,
|  | const LoadFunCallbackT & | load_from_cb = `&disallowExternalSources`
| ) |  |
| inline

Load one section from XML content.

Parameters

  XMLreader | XML data source, to load
  section_to_load | name of section to load
  load_from_cb | callback called to open external location, allow loading some section from another sources, this callback should read section from external XML source pointed by url (typically name of file) or throw exception

Definition at line 582 of file manager.hpp.

## ◆ loadSolver()

shared_ptr< Solver > plask::Manager::loadSolver | ( | const std::string & | category,
|  | const std::string & | lib,
|  | const std::string & | solver_name,
|  | const std::string & | name
| ) |  |
| protected virtual

Load solver from file.

Parameters

  category,lib,solver_name | solver parameters
  name | solver name

Returns
  loaded solver

Definition at line 212 of file manager.cpp.

## ◆ loadSolvers()

void plask::Manager::loadSolvers | ( | XMLReader & | reader | ) |
| virtual

Load solvers using reader.

Parameters

  reader | reader to read from, should point to `<solver>` tag, after read it will be point to `</solver>` tag

Definition at line 222 of file manager.cpp.

## ◆ pushError() [1/3]

void plask::Manager::pushError | ( | const std::runtime_error & | error,
|  | int | line = `-1`
| ) |  |
| inline

Save non-critical error.

Parameters

  error | error
  line | line in XML file where error occurred

Definition at line 221 of file manager.hpp.

## ◆ pushError() [2/3]

void plask::Manager::pushError | ( | const std::string & | mesg,
|  | int | line = `-1`
| ) |  |
| inline

Save non-critical error.

Parameters

  mesg | error message
  line | line in XML file where error occurred

Definition at line 212 of file manager.hpp.

## ◆ pushError() [3/3]

void plask::Manager::pushError | ( | const XMLException & | error,
|  | int | line = `-1`
| ) |  |
| inline

Save non-critical error.

Parameters

  error | error
  line | line in XML file where error occurred

Definition at line 230 of file manager.hpp.

## ◆ readBoundary()

template<typename Boundary >

Boundary plask::Manager::readBoundary | ( | XMLReader & | reader | ) |

Read boundary (place) from current tag and move parser to end of the current tag.

Returns
  the boundary read

Definition at line 667 of file manager.hpp.

## ◆ readBoundaryConditions()

template<typename Boundary , typename ConditionT >

void plask::Manager::readBoundaryConditions | ( | XMLReader & | reader,
|  | BoundaryConditions< Boundary, ConditionT > & | dest
| ) |  |
| inline

Read boundary conditions from current tag and move parser to end of current tag.

Use MeshT static methods to read boundaries, and `parseBoundaryValue` to parse values of conditions:

template <typename ConditionT> ConditionT parseBoundaryValue(const XMLReader& tag_with_value);

(by default it just read value from "value" attribute)

Require format (one or more tag as below):

\<condition [place="mesh type related place description"] [placename="name of this place"] [placeref="name of earlier stored place"] value attributes read by parseBoundaryValue>
[\<place [name="name of this place"] [mesh-type related]>
...mesh type related place description...
\</place>|<intersection>|<union>|<difference>]
\</condition>

With restrictions:

- place must be given exactly once (as attribute or tag), and only in case if placeref was not given;
- place name can be given only if placeref was not given;
- place name must be unique for all places in XML, and must be given before any placeref which refer to it;
- condition value must be in format required by parseBoundaryValue for given type (in most cases it is just one attribute: value).
  Parameters

    reader | source of XML data
    dest | place to append read conditions

Definition at line 705 of file manager.hpp.

## ◆ requireGeometry()

template<typename RequiredCalcSpaceType >

shared_ptr< RequiredCalcSpaceType > plask::Manager::requireGeometry | ( | const std::string & | name | ) | const
| inline

Get geometry trunk with given `name` and try dynamic cast it to RequiredCalcSpaceType.

Parameters

  name | name of calculation space to get

Returns
  required calculation space or shared_ptr<Geometry>() if there is no calculation space with given `name` or can't be casted to RequiredCalcSpaceType

Definition at line 404 of file manager.hpp.

## ◆ requireGeometryObject() [1/3]

shared_ptr< GeometryObject > plask::Manager::requireGeometryObject | ( | const std::string & | name | ) |

Get object with given name or throw exception if object with given name does not exist.

Parameters

  name | name of object

Returns
  object with given name

Exceptions

  NoSuchGeometryObject | if there is no object with given name

Definition at line 102 of file manager.cpp.

## ◆ requireGeometryObject() [2/3]

template<typename RequiredObjectType >

shared_ptr< RequiredObjectType > plask::Manager::requireGeometryObject | ( | const std::string & | name | ) |
| inline

Call requireElement(name) and try dynamic cast it to RequiredObjectType.

Parameters

  name | name of object

Returns
  object (casted to RequiredObjectType) with given `name`

Template Parameters

  RequiredObjectType | required type of object

Exceptions

  UnexpectedGeometryObjectTypeException | if requested object is not of type RequiredObjectType
  NoSuchGeometryObject | if there is no object with given name

Definition at line 628 of file manager.hpp.

## ◆ requireGeometryObject() [3/3]

template<>

shared_ptr< GeometryObject > plask::Manager::requireGeometryObject | ( | const std::string & | name | ) |
| inline

Definition at line 628 of file manager.hpp.

## ◆ requirePathHints() [1/2]

PathHints & plask::Manager::requirePathHints | ( | const std::string & | path_hints_name | ) |

Get path hints with given name, throw exception if there is no path hints with name `path_hints_name`.

Parameters

  path_hints_name | name of path hints to get

Returns
  path hints with given name

Exceptions

  plask::Exception | if there is no path hints with name `path_hints_name`

Definition at line 79 of file manager.cpp.

## ◆ requirePathHints() [2/2]

const PathHints & plask::Manager::requirePathHints | ( | const std::string & | path_hints_name | ) | const

Get path hints with given name, throw exception if there is no path hints with name `path_hints_name`.

Parameters

  path_hints_name | name of path hints to get

Returns
  path hints with given name

Exceptions

  plask::Exception | if there is no path hints with name `path_hints_name`

Definition at line 85 of file manager.cpp.

## ◆ throwErrorIfNotDraft()

template<typename ErrorType >

void plask::Manager::throwErrorIfNotDraft | ( | ErrorType | error,
|  | int | line = `-1`
| ) |  |
| inline

Throw error if not in draft mode.

Parameters

  error | error to throw
  line | line in XML file where error occurred

Definition at line 241 of file manager.hpp.

## ◆ validatePositions() [1/2]

void plask::Manager::validatePositions | ( |  | ) | const

Try to find mistake in position of objects.

Reports in returned string when some object has, probably by mistake, different position in two geometries.

Returns
  raport, can be multiple-line, empty only if no problems have been found

Definition at line 573 of file manager.cpp.

## ◆ validatePositions() [2/2]

void plask::Manager::validatePositions | ( | const std::function< void(const Geometry *, const Geometry *, std::vector< const GeometryObject * > &&, const std::map< const GeometryObject *, const char * > &)> & | callback | ) | const

Try to find mistake in position of objects.

Reports (by calling `callback`) when some object has, probably by mistake, different position in two geometries.

Parameters

  callback | call for each pair of geometries in which objects with different (by mistake) positions have been found. Details are passed in parameters: 2 geometries of the same type, non-empty vector of objects with different positions in the geometries, map that allow to obtain name of object or geometry (all object from the passed vector are in this map, but some of the passed geometries can be not).

Definition at line 528 of file manager.cpp.

## Member Data Documentation

## ◆ axisNames

const AxisNames* plask::Manager::axisNames

Current or default names of axis.

Definition at line 199 of file manager.hpp.

## ◆ boundaries

Map<boost::any> plask::Manager::boundaries

Boundaries places by name.

Definition at line 190 of file manager.hpp.

## ◆ draft

bool plask::Manager::draft

Flag indicating if unknown materials are allowed.

Definition at line 202 of file manager.hpp.

## ◆ errors

std::deque<std::pair<int,std::string> > plask::Manager::errors

Errors which occurred during loading (only in draft mode)

Definition at line 205 of file manager.hpp.

## ◆ geometrics

Map<shared_ptr<GeometryObject> > plask::Manager::geometrics

Geometries and geometry objects by name.

Definition at line 180 of file manager.hpp.

## ◆ meshes

Map<shared_ptr<MeshBase> > plask::Manager::meshes

Meshes by name.

Definition at line 183 of file manager.hpp.

## ◆ pathHints

Map<PathHints> plask::Manager::pathHints

Allow to access path hints by name.

Definition at line 174 of file manager.hpp.

## ◆ roots

std::vector<shared_ptr<Geometry> > plask::Manager::roots

Roots objects, geometries.

Definition at line 177 of file manager.hpp.

## ◆ script

std::string plask::Manager::script

Script read from file.

Definition at line 193 of file manager.hpp.

## ◆ scriptline

unsigned plask::Manager::scriptline

Line in which script begins.

Definition at line 196 of file manager.hpp.

## ◆ solvers

Map<shared_ptr<Solver> > plask::Manager::solvers

Solvers by name.

Definition at line 186 of file manager.hpp.

## ◆ TAG_NAME_CONNECTS

constexpr const char* plask::Manager::TAG_NAME_CONNECTS = "connects"
| static constexpr

name of XML tag of section with provides-receiver connections

Definition at line 168 of file manager.hpp.

## ◆ TAG_NAME_DEFINES

constexpr const char* plask::Manager::TAG_NAME_DEFINES = "defines"
| static constexpr

name of XML tag of section with const definitions

Definition at line 163 of file manager.hpp.

## ◆ TAG_NAME_GEOMETRY

constexpr const char* plask::Manager::TAG_NAME_GEOMETRY = "geometry"
| static constexpr

name of XML tag of section with geometry

Definition at line 165 of file manager.hpp.

## ◆ TAG_NAME_GRIDS

constexpr const char* plask::Manager::TAG_NAME_GRIDS = "grids"
| static constexpr

name of XML tag of section with grids (meshes and generators)

Definition at line 166 of file manager.hpp.

## ◆ TAG_NAME_MATERIALS

constexpr const char* plask::Manager::TAG_NAME_MATERIALS = "materials"
| static constexpr

name of XML tag of section with materials

Definition at line 164 of file manager.hpp.

## ◆ TAG_NAME_ROOT

constexpr const char* plask::Manager::TAG_NAME_ROOT = "plask"
| static constexpr

name of root XML tag

Definition at line 162 of file manager.hpp.

## ◆ TAG_NAME_SCRIPT

constexpr const char* plask::Manager::TAG_NAME_SCRIPT = "script"
| static constexpr

name of XML tag of section with (python) script

Definition at line 169 of file manager.hpp.

## ◆ TAG_NAME_SOLVERS

constexpr const char* plask::Manager::TAG_NAME_SOLVERS = "solvers"
| static constexpr

name of XML tag of section with solvers

Definition at line 167 of file manager.hpp.

## ◆ XML_AXES_ATTR

constexpr const char* plask::Manager::XML_AXES_ATTR = "axes"
| static constexpr

name of axes attribute in XML

Definition at line 171 of file manager.hpp.

The documentation for this struct was generated from the following files:

- plask/manager.hpp
- plask/manager.cpp