SendObject and SendViaBrowserArgs forward the wrapped object management to the serialiser

ProjectCollection defines itself as a serialisation manager (to collect material proxies)
This commit is contained in:
Ralph Wessel
2024-10-11 17:44:41 +01:00
parent d3492512cd
commit 36e50bb63e
4 changed files with 20 additions and 1 deletions
@@ -48,6 +48,11 @@ namespace connector::interfac::browser::bridge {
@param management The management to use
*/
void useManagement(active::serialise::Management* management) const override { m_object->useManagement(management); }
/*!
Get the cargo management
@return The active management
*/
active::serialise::Management* management() const override { return m_object->management(); }
private:
///The object to send
@@ -77,6 +77,11 @@ namespace connector::interfac::browser::bridge {
@param management The management to use
*/
void useManagement(active::serialise::Management* management) const override { sendObject.useManagement(management); }
/*!
Get the cargo management
@return The active management
*/
active::serialise::Management* management() const override { return sendObject.management(); }
};
}
@@ -2,6 +2,7 @@
#include "Active/Serialise/CargoHold.h"
#include "Active/Serialise/Item/Wrapper/ValueWrap.h"
#include "Active/Serialise/Management/Management.h"
#include "Active/Serialise/Package/Wrapper/PackageWrap.h"
#include "Connector/Connector.h"
#include "Connector/ConnectorResource.h"
@@ -47,8 +48,11 @@ namespace {
project: The source project
--------------------------------------------------------------------*/
ProjectCollection::ProjectCollection(speckle::environment::Project::Shared project) : base{project->getInfo().name, project} {
ProjectCollection::ProjectCollection(speckle::environment::Project::Shared project) : base{project->getInfo().name, project},
m_management{std::make_unique<Management>()} {
m_management->push_back(this);
m_finishes = std::make_unique<FinishCache>();
base::useManagement(m_management.get());
} //ProjectCollection::ProjectCollection
@@ -6,6 +6,10 @@
#include <stack>
namespace active::serialise {
class Management;
}
namespace speckle::record::element {
class Element;
}
@@ -94,6 +98,7 @@ namespace connector::record {
private:
using FinishProxies = std::unordered_map<speckle::database::BIMIndex, std::unordered_set<active::utility::Guid>>;
std::unique_ptr<active::serialise::Management> m_management;
///Finish proxies accumulated from meshes generated from the collection elements
FinishProxies m_finishProxies;
#ifdef ARCHICAD