|
| Geometry (shared_ptr< Material > defaultMaterial=make_shared< materials::Air >()) |
| Calculation space constructor, set default material.
|
|
| Geometry (const Geometry &to_copy) |
| Initialize this to be the same as to_copy but doesn't have any changes observer.
|
|
Geometry & | operator= (const Geometry &to_copy) |
| Set this to be the same as to_copy but doesn't changed changes observer.
|
|
virtual | ~Geometry () |
| Inform observators that this is being deleted.
|
|
virtual void | setEdges (Direction direction, const edge::Strategy &border_lo, const edge::Strategy &border_hi)=0 |
| Set all edges in given direction or throw exception if this edges can't be set for this calculation space or direction.
|
|
virtual void | setEdges (Direction direction, const edge::Strategy &border_to_set) |
| Set all edges in given direction or throw exception if this edges can't be set for this calculation space or direction.
|
|
virtual void | setPlanarEdges (const edge::Strategy &border_to_set)=0 |
| Set all planar edges or throw exception if this edges can't be set for this calculation space or direction.
|
|
void | setAllEdges (const edge::Strategy &border_to_set) |
| Set all edges (planar and up-bottom).
|
|
virtual void | setEdge (Direction direction, bool higher, const edge::Strategy &border_to_set)=0 |
| Set edge or throw exception if this edge can't be set for this calculation space or direction.
|
|
void | setEdges (const std::function< plask::optional< std::string >(const std::string &s)> &borderValuesGetter, const AxisNames &axesNames, const MaterialsDB &materialsDB=MaterialsDB::getDefault(), bool draft=false) |
| Set edges using string value which is gotten from borderValuesGetter .
|
|
virtual const edge::Strategy & | getEdge (Direction direction, bool higher) const =0 |
| Get edge strategy or throw exception if edge can't be get for this calculation space or direction.
|
|
virtual bool | isSymmetric (Direction direction) const |
| Check if structure in given direction is symmetric, i.e.
|
|
bool | isPeriodic (Direction direction) const |
| Check if structure in given direction is periodic, i.e.
|
|
bool | isExtended (Direction direction, bool higher) const |
| Check if structure extends in given direction.
|
|
Type | getType () const override |
| Check if geometry is: leaf, transform or container type object.
|
|
virtual shared_ptr< GeometryObjectD< 3 > > | getObject3D () const =0 |
| Get 3D object held by this geometry (which has type Extrusion or Revolution for 2D geometries).
|
|
void | setMaxSteps (unsigned value) |
| Set max_steps.
|
|
void | setMinStepSize (double value) |
| Set min_step_size.
|
|
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) |
| Disconnect a method from changed signal.
|
|
template<typename EventT = Event, typename... Args> |
void | fireChanged (Args &&... event_constructor_params_without_source) |
| Call changed with this as event source.
|
|
| GeometryObject (const GeometryObject &to_copy) |
| Initialize this to be the same as to_copy but doesn't have any changes observer.
|
|
GeometryObject & | operator= (const GeometryObject &to_copy) |
| Set this to be the same as to_copy but doesn't change changes observer.
|
|
| GeometryObject () |
|
| GeometryObject (unsigned max_steps, double min_step_size) |
|
virtual | ~GeometryObject () |
| Virtual destructor.
|
|
virtual std::string | getTypeName () const =0 |
| Get name of object type (like: "block2d", "shelf", "stack3d", etc.).
|
|
virtual void | writeXML (XMLWriter::Element &parent_xml_object, WriteXMLCallback &write_cb, AxisNames parent_axes) const |
| Write geometry tree branch rooted by this to XML.
|
|
void | writeXML (XMLWriter::Element &parent_xml_object, WriteXMLCallback &write_cb) const |
| Write geometry tree branch rooted by this to XML.
|
|
void | writeXML (XMLWriter::Element &parent_xml_object) const |
| Write geometry tree branch rooted by this to XML.
|
|
template<int DIMS> |
shared_ptr< GeometryObjectD< DIMS > > | asD () |
| Cast this to GeometryObjectD<DIMS>.
|
|
template<int DIMS> |
shared_ptr< const GeometryObjectD< DIMS > > | asD () const |
| Cast this to GeometryObjectD<DIMS> (const version).
|
|
shared_ptr< Geometry > | asGeometry () |
| Cast this to Geometry.
|
|
shared_ptr< const Geometry > | asGeometry () const |
| Cast this to Geometry.
|
|
bool | isLeaf () const |
|
bool | isTransform () const |
|
bool | isSpaceChanger () const |
|
bool | isContainer () const |
|
bool | isGeometry () const |
|
virtual void | addPointsAlongToSet (std::set< double > &points, Primitive< 3 >::Direction PLASK_UNUSED(direction), unsigned PLASK_UNUSED(max_steps), double PLASK_UNUSED(min_step_size)) const =0 |
| Add characteristic points information along specified axis to set.
|
|
std::set< double > | getPointsAlong (Primitive< 3 >::Direction direction, unsigned max_steps=PLASK_GEOMETRY_MAX_STEPS, double min_step_size=PLASK_GEOMETRY_MIN_STEP_SIZE) const |
| Get characteristic points information along specified axis.
|
|
bool | hasRole (std::string role_name) const |
| Check if this object belongs to class (has tag) with name role_name .
|
|
void | addRole (std::string role_name) |
| Add this to given class.
|
|
void | removeRole (std::string role_name) |
| Remove this from given class, do nothing if this is not in given class.
|
|
void | clearRoles () |
| Clear set of roles of this.
|
|
virtual int | getDimensionsCount () const =0 |
| Get number of dimensions.
|
|
virtual void | validate () const |
| Check if object is ready for calculation.
|
|
virtual bool | hasInSubtree (const GeometryObject &el) const |
| Check if el is in subtree with this in root.
|
|
bool | hasInSubtree (const GeometryObject &el, const PathHints *pathHints) const |
|
bool | hasInSubtree (shared_ptr< const GeometryObject > el, const PathHints *pathHints) const |
|
virtual Subtree | getPathsTo (const GeometryObject &el, const PathHints *pathHints=0) const =0 |
| Find paths to el.
|
|
virtual void | getObjectsToVec (const Predicate &predicate, std::vector< shared_ptr< const GeometryObject > > &dest, const PathHints *path=0) const =0 |
| Append all objects from subtree with this in root, which fulfill predicate to vector dest .
|
|
void | getObjectsToVec (const Predicate &predicate, std::vector< shared_ptr< const GeometryObject > > &dest, const PathHints &path) const |
| Append all objects from subtree with this in root, which fulfill predicate to vector dest .
|
|
std::vector< shared_ptr< const GeometryObject > > | getObjects (const Predicate &predicate, const PathHints *path=0) const |
| Get vector of all objects from subtree with this in root, which fulfill predicate.
|
|
std::vector< shared_ptr< const GeometryObject > > | getObjects (const Predicate &predicate, const PathHints &path) const |
| Get vector of all objects from subtree with this in root, which fulfill predicate.
|
|
void | getLeafsToVec (std::vector< shared_ptr< const GeometryObject > > &dest, const PathHints *path=0) const |
| Append all leafs in subtree with this in root to vector dest .
|
|
void | getLeafsToVec (std::vector< shared_ptr< const GeometryObject > > &dest, const PathHints &path) const |
| Append all leafs in subtree with this in root to vector dest .
|
|
std::vector< shared_ptr< const GeometryObject > > | getLeafs (const PathHints *path=0) const |
| Get all leafs in subtree with this object as root.
|
|
std::vector< shared_ptr< const GeometryObject > > | getLeafs (const PathHints &path) const |
| Get all leafs in subtree with this object as root.
|
|
void | getObjectsWithRoleToVec (const std::string &role, std::vector< shared_ptr< const GeometryObject > > &dest) const |
| Append all objects with a specified role in subtree with this in root to vector dest .
|
|
std::vector< shared_ptr< const GeometryObject > > | getObjectsWithRole (const std::string &role) const |
| Get all objects with a specified role in subtree with this object as root.
|
|
virtual std::size_t | getChildrenCount () const =0 |
| Get number of all children of this in geometry graph.
|
|
virtual shared_ptr< GeometryObject > | getChildNo (std::size_t child_no) const =0 |
| Get child with given index.
|
|
virtual std::size_t | getRealChildrenCount () const |
| Get number of real (physically stored) children in geometry graph.
|
|
virtual shared_ptr< GeometryObject > | getRealChildNo (std::size_t child_no) const |
| Get real (physically stored) child with given index.
|
|
virtual void | removeAtUnsafe (std::size_t index) |
| Remove child at given index .
|
|
void | removeAt (std::size_t index) |
| Remove child at given index .
|
|
void | removeRangeUnsafe (std::size_t index_begin, std::size_t index_end) |
|
bool | removeRange (std::size_t index_begin, std::size_t index_end) |
| Remove all children in given range [index_begin, index_end).
|
|
virtual void | forEachRealObjectInSubtree (std::function< bool(const GeometryObject &)> callback) const |
| Call a callback for each object in subtree with this in root.
|
|
FunctorIndexedIterator< ChildGetter > | begin () const |
|
FunctorIndexedIterator< ChildGetter > | end () const |
|
virtual shared_ptr< const GeometryObject > | changedVersion (const Changer &changer, Vec< 3, double > *translation=0) const =0 |
| Get this or copy of this with some changes in subtree.
|
|
virtual shared_ptr< GeometryObject > | shallowCopy () const =0 |
| Get shallow copy of this.
|
|
virtual shared_ptr< GeometryObject > | deepCopy (std::map< const GeometryObject *, shared_ptr< GeometryObject > > &copied) const =0 |
| Get deep copy of this.
|
|
shared_ptr< GeometryObject > | deepCopy () |
| Get deep copy of this.
|
|
bool | canHasAsChild (const GeometryObject &potential_child) const |
|
bool | canHasAsParent (const GeometryObject &potential_parent) const |
|
void | ensureCanHasAsParent (const GeometryObject &potential_parent) const |
| Throw CyclicReferenceException if potential_parent is in subtree with this in root.
|
|
void | ensureCanHaveAsChild (const GeometryObject &potential_child) const |
| Throw CyclicReferenceException if potential_child has this in subtree.
|
|
Base class for all geometry trunks.
Solvers can do calculation in calculation space with specific type.
Almost all GeometryObject methods are delegate to child of this.
Definition at line 34 of file space.hpp.