PLaSK library
Loading...
Searching...
No Matches
object.hpp File Reference

This file contains base class for geometries objects. More...

#include <functional>
#include <set>
#include <tuple>
#include <vector>
#include <boost/variant.hpp>
#include <boost/algorithm/string.hpp>
#include "../material/air.hpp"
#include "../material/material.hpp"
#include "../material/db.hpp"
#include "../utils/iterators.hpp"
#include "primitives.hpp"
#include <boost/signals2.hpp>
#include "../utils/event.hpp"
#include "../axes.hpp"
#include "../utils/warnings.hpp"
#include "../utils/xml/writer.hpp"
#include <boost/bind.hpp>
Include dependency graph for object.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plask::GeometryObject
 Base class for all geometries. More...
 
class  plask::GeometryObject::Event
 Store information about event connected with geometry object. More...
 
struct  plask::GeometryObject::ChildrenListChangedEvent
 Event class for events types: EVENT_CHILDREN_INSERT and EVENT_CHILDREN_REMOVE. More...
 
struct  plask::GeometryObject::Subtree
 This structure can refer to part of geometry tree. More...
 
struct  plask::GeometryObject::Changer
 Base class for geometry changers. More...
 
struct  plask::GeometryObject::CompositeChanger
 Geometry changer which holds vector of changers and try to apply this changers sequentially. More...
 
struct  plask::GeometryObject::ReplaceChanger
 Changer which replaces given geometry object from to given geometry object to. More...
 
struct  plask::GeometryObject::ToBlockChanger
 Changer which replaces given geometry object toChange to block (2d or 3d, depents from toChange) with size equals to toChange bounding box, and with given material. More...
 
struct  plask::GeometryObject::DeleteChanger
 
struct  plask::GeometryObject::PredicateIsA
 Predicate which check if given object is another instance of some particular object (given in constructor). More...
 
struct  plask::GeometryObject::PredicateHasRole
 Predicate which check if given object belong to class with given name. More...
 
class  plask::GeometryObject::WriteXMLCallback
 Base class for callbacks used by save() method to get names of objects and paths. More...
 
struct  plask::GeometryObjectD< dim >
 Template of base roles for geometry objects in space with given number of dimensions (2 or 3). More...
 
struct  plask::GeometryObjectD< dim >::LineSegment
 Line segment represented by two unordered points. More...
 

Namespaces

namespace  plask
 Patterson quadrature for complex function along specified line.
 

Macros

#define BOOST_BIND_GLOBAL_PLACEHOLDERS
 
#define PLASK_GEOMETRY_TYPE_NAME_SUFFIX_2D   "2d"
 Value for expected suffix for names of 2D objects types, see GeometryReader::expectedSuffix.
 
#define PLASK_GEOMETRY_TYPE_NAME_SUFFIX_3D   "3d"
 Value for expected suffix for names of 3D objects types, see GeometryReader::expectedSuffix.
 
#define PLASK_GEOMETRY_MAX_STEPS   10
 Default value for splitting leafs (maximum steps)
 
#define PLASK_GEOMETRY_MIN_STEP_SIZE   0.005
 Default value for splitting leafs (minimum step size)
 

Typedefs

typedef boost::variant< shared_ptr< Material >, shared_ptr< MaterialsDB::MixedCompositionFactory > > plask::SolidOrGradientMaterial
 Any of the allowed material types.
 

Detailed Description

This file contains base class for geometries objects.

Definition in file object.hpp.

Macro Definition Documentation

◆ BOOST_BIND_GLOBAL_PLACEHOLDERS

#define BOOST_BIND_GLOBAL_PLACEHOLDERS

Definition at line 45 of file object.hpp.

◆ PLASK_GEOMETRY_MAX_STEPS

#define PLASK_GEOMETRY_MAX_STEPS   10

Default value for splitting leafs (maximum steps)

Definition at line 55 of file object.hpp.

◆ PLASK_GEOMETRY_MIN_STEP_SIZE

#define PLASK_GEOMETRY_MIN_STEP_SIZE   0.005

Default value for splitting leafs (minimum step size)

Definition at line 58 of file object.hpp.

◆ PLASK_GEOMETRY_TYPE_NAME_SUFFIX_2D

#define PLASK_GEOMETRY_TYPE_NAME_SUFFIX_2D   "2d"

Value for expected suffix for names of 2D objects types, see GeometryReader::expectedSuffix.

Definition at line 49 of file object.hpp.

◆ PLASK_GEOMETRY_TYPE_NAME_SUFFIX_3D

#define PLASK_GEOMETRY_TYPE_NAME_SUFFIX_3D   "3d"

Value for expected suffix for names of 3D objects types, see GeometryReader::expectedSuffix.

Definition at line 52 of file object.hpp.