public Conductor(ICoreProcessFactory coreProcessFactory, ICoreLinkFactory coreLinkFactory, ICoreControllerFactory coreControllerFactory, ICoreProxyFactory coreProxyFactory, IModelUpdaterFactory modelUpdaterFactory, IModelProviderFactory modelProviderFactory, ICharmdRunner charmdRunner) { m_coreProcessFactory = coreProcessFactory; m_coreLinkFactory = coreLinkFactory; m_coreControllerFactory = coreControllerFactory; m_coreProxyFactory = coreProxyFactory; m_modelUpdaterFactory = modelUpdaterFactory; m_charmdRunner = charmdRunner; ModelProvider = modelProviderFactory.Create(this); }
public void Add(IModelProviderFactory factory) { var factoryTypeName = factory.GetType().Name; var providerNickname = GetProviderDictionaryKey(factoryTypeName); if (_providers.ContainsKey(providerNickname)) { Log.Debug("Model Provider already registered for {0} -- skipping...", providerNickname); return; } _providers.Add(providerNickname, factory); Log.Info("Added model provider factory {0} ({1})", providerNickname, factoryTypeName); }
public IModelProvider Create(string provider) { Log.Debug("Creating model provider for {0}...", provider); IModelProviderFactory factory = GetProviderFactory(provider); if (factory != null) { Log.Debug("Found registered model provider {0}", factory.GetType().Name); } else { Log.Warn("Could not find {0} -- falling back to default model provider factory", provider); factory = DefaultFactory; } Log.Debug("Creating {0}...", factory.GetType().Name); return(factory.Create()); }
/// <summary> /// Configures the <see cref="IModelProviderFactory"/> to use the <see cref="MemoryModelProvider"/> /// </summary> /// <remarks>Note: The <see cref="MemoryModelProvider"/> does not support all storage options. In /// particular it has no persistance mechanism except from storing back to IFC/IfcXml. /// If you require 'random access' without always holding the model in memory, another /// ModelProvider may be required. See Xbim.IO.Esent.HeuristicModelProvider. /// </remarks> /// <param name="providerFactory">The <see cref="IModelProviderFactory"/> to configure</param> /// <returns>The <see cref="IModelProviderFactory"/></returns> public static IModelProviderFactory UseMemoryModelProvider(this IModelProviderFactory providerFactory) { providerFactory.Use(() => new MemoryModelProvider()); return(providerFactory); }
/// <summary> /// Configures the <see cref="IModelProviderFactory"/> to use the <see cref="HeuristicModelProvider"/> /// </summary> /// <remarks>This provider gives the best performance and functionality tradeoff by using both the /// <see cref="EsentModel"/> and <see cref="IO.Memory.MemoryModel"/></remarks> /// <param name="providerFactory">The <see cref="IModelProviderFactory"/> to configure</param> /// <returns>The <see cref="IModelProviderFactory"/></returns> public static IModelProviderFactory UseHeuristicModelProvider(this IModelProviderFactory providerFactory) { providerFactory.Use(() => new HeuristicModelProvider()); return(providerFactory); }
public COBieModelProviderFactory() { inner = new DefaultModelProviderFactory(); }