Wraps a single child blueprint node and pads it into a larger volume whose dimensions are evaluated at construction time using the child's extent plus a configurable envelope.
More...
|
| | PadBlueprintNode (const std::string &name, const ExtentEnvelope &envelope) |
| | Main constructor for the padding node.
|
| Volume & | build (const BlueprintOptions &options, const GeometryContext &gctx, const Logger &logger=Acts::getDummyLogger()) override |
| | This method is called during the build phase of the blueprint tree construction.
|
| | StaticBlueprintNode (std::unique_ptr< TrackingVolume > volume) |
| | Construct the static node from an existing volume.
|
| Volume & | build (const BlueprintOptions &options, const GeometryContext &gctx, const Logger &logger=Acts::getDummyLogger()) override |
| | This method is called during the build phase of the blueprint tree construction.
|
| PortalShellBase & | connect (const BlueprintOptions &options, const GeometryContext &gctx, const Logger &logger=Acts::getDummyLogger()) override |
| | This method is called during the connect phase.
|
| void | finalize (const BlueprintOptions &options, const GeometryContext &gctx, TrackingVolume &parent, const Logger &logger=Acts::getDummyLogger()) override |
| | This method is called during the finalize phase.
|
| const std::string & | name () const override |
| | Get the name of this node.
|
| const NavigationPolicyFactory * | navigationPolicyFactory () const |
| | Get the navigation policy factory for this node.
|
| virtual StaticBlueprintNode & | setNavigationPolicyFactory (std::shared_ptr< NavigationPolicyFactory > navigationPolicyFactory) |
| | Set the navigation policy factory for this node.
|
|
virtual | ~BlueprintNode ()=default |
| | Virtual destructor to ensure correct cleanup.
|
| BlueprintNode & | addChild (std::shared_ptr< BlueprintNode > child) |
| | Register a child to this node.
|
| MutableChildRange | children () |
| | Return a MutableChildRange to the children of this node.
|
| ChildRange | children () const |
| | Return a ChildRange to the children of this node.
|
|
void | clearChildren () |
| | Remove all children from this node.
|
| std::size_t | depth () const |
| | Return the depth of this node in the blueprint tree.
|
| void | graphviz (std::ostream &os) const |
| | Print the node tree starting from this node to graphviz format.
|
| StaticBlueprintNode & | addStaticVolume (std::unique_ptr< TrackingVolume > volume, const std::function< void(StaticBlueprintNode &cylinder)> &callback={}) |
| | This method creates a new Acts::StaticBlueprintNode wrapping volume and adds it to this node as a child.
|
| StaticBlueprintNode & | addStaticVolume (const Transform3 &transform, std::shared_ptr< VolumeBounds > volumeBounds, const std::string &volumeName="undefined", const std::function< void(StaticBlueprintNode &cylinder)> &callback={}) |
| | Alternative overload for creating a Acts::StaticBlueprintNode.
|
| CylinderContainerBlueprintNode & | addCylinderContainer (const std::string &name, AxisDirection direction, const std::function< void(CylinderContainerBlueprintNode &cylinder)> &callback={}) |
| | Convenience method for creating a cylinder specialization of Acts::ContainerBlueprintNode.
|
| CuboidContainerBlueprintNode & | addCuboidContainer (const std::string &name, AxisDirection direction, const std::function< void(CuboidContainerBlueprintNode &cylinder)> &callback={}) |
| | Convenience method for creating a cuboid specialization of Acts::ContainerBlueprintNode.
|
| MaterialDesignatorBlueprintNode & | addMaterial (const std::string &name, const std::function< void(MaterialDesignatorBlueprintNode &material)> &callback={}) |
| | Convenience method for creating a Acts::MaterialDesignatorBlueprintNode.
|
| PortalDesignatorBlueprintNode & | addPortalDesignator (const std::string &name, const std::function< void(PortalDesignatorBlueprintNode &portals)> &callback={}) |
| | Convenience method for creating a Acts::PortalDesignatorBlueprintNode.
|
| LayerBlueprintNode & | addLayer (const std::string &name, const std::function< void(LayerBlueprintNode &layer)> &callback={}) |
| | Convenience method for creating a Acts::LayerBlueprintNode.
|
| GeometryIdentifierBlueprintNode & | withGeometryIdentifier (const std::function< void(GeometryIdentifierBlueprintNode &geometryIdentifier)> &callback={}) |
| | Convenience method for creating a Acts::GeometryIdentifierBlueprintNode.
|
|
| using | ChildRange |
| | A range-like object that allows range based for loops and index access.
|
| using | MutableChildRange |
| | A range-like object that allows range based for loops and index access.
|
| void | addToGraphviz (std::ostream &os) const override |
| | Method that writes a representatiohn of this node only to graphviz.
|
| std::span< std::shared_ptr< BlueprintNode > > | childPtr () |
| | Return a span over the children's shared_ptrs.
|
| std::span< const std::shared_ptr< BlueprintNode > > | childPtr () const |
| | Return a span over the children's shared_ptrs.
|
| std::string | indent () const |
| | An indentation depending on the depth of this node.
|
| std::string | prefix () const |
| | Printing helper returning a prefix including an indent depending on the depth.
|
| void | setDepth (std::size_t depth) |
| | Set the depth to depth and update children recursively.
|
| virtual void | toStream (std::ostream &os) const |
| | Virtual method to determine stream representation.
|
|
std::shared_ptr< NavigationPolicyFactory > | m_navigationPolicyFactory |
| | Factory for creating navigation policies for this volume.
|
|
std::unique_ptr< PortalShellBase > | m_shell |
| | Portal shell representation for geometry connection.
|
|
std::unique_ptr< TrackingVolume > | m_volume |
| | The wrapped tracking volume managed by this blueprint node.
|
Wraps a single child blueprint node and pads it into a larger volume whose dimensions are evaluated at construction time using the child's extent plus a configurable envelope.
- Note
- This node can only have a single child. This is not an error during tree building, but during geometry construction. It defers most of the functionality to Acts::StaticBlueprintNode, and only implements the build phase to perform the padding.
This method is called during the build phase of the blueprint tree construction.
It returns a single Acts::Volume which represents transform and bounds of the entire subtree. This does not have to correspond to the final Acts::TrackingVolume, some node types will produce temporary volume representations. Lifetime of the returned volume is managed by the source node! Nodes higher in the hierarchy will issue resizes down the tree hierarchy. This is not done through a direct hierarchy, but coordinated by the respective node type, by internally consulting its children.
- Note
- Generally, you should not need to to call this method directly. The construction should usually be done through the special Acts::Blueprint class.
- Parameters
-
| options | The global construction options |
| gctx | The geometry context for construction (usually nominal) |
| logger | The logger to use for output during construction |
- Returns
- The volume used for communicating transform and size up the hierarchy Build-phase of the blueprint construction. Returns the padded volume.
Implements Acts::BlueprintNode.