MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ release_attachment()

MAYAFLUX_API void MayaFlux::Nexus::release_attachment ( Attachment &  attachment)

Give every placed render processor back the geometry transform it had.

Parameters
attachmentAttachment to release.

Definition at line 172 of file Attachment.cpp.

173{
174 for (auto& [proc, stack] : attachment.followed) {
175 std::erase(stack->layers, attachment.transform);
176 if (stack->layers.empty() && stack_of(proc) == stack) {
177 proc->set_geometry_transform_source(std::move(stack->base));
178 }
179 }
180 attachment.followed.clear();
181 *attachment.transform = glm::mat4(1.0F);
182}
std::shared_ptr< PlacementStack > stack
std::shared_ptr< glm::mat4 > transform
std::vector< std::pair< std::shared_ptr< Buffers::RenderProcessor >, std::shared_ptr< PlacementStack > > > followed

References MayaFlux::Nexus::Attachment::followed, stack, and MayaFlux::Nexus::Attachment::transform.

Referenced by MayaFlux::Nexus::Agent::detach(), MayaFlux::Nexus::Emitter::detach(), and MayaFlux::Nexus::Mantle::~Mantle().

+ Here is the caller graph for this function: