internal void Init(IXServiceCollection customServices) { if (!m_IsInitialized) { m_CustomServices = customServices; m_IsInitialized = true; var services = new ServiceCollection(); ConfigureServices(services); if (customServices != null) { services.Merge(customServices); } m_Provider = services.CreateProvider(); m_Logger = m_Provider.GetService <IXLogger>(); Documents = new SwDocumentCollection(this, m_Logger); var geomBuilderDocsProvider = m_Provider.GetService <IMemoryGeometryBuilderDocumentProvider>(); MemoryGeometryBuilder = new SwMemoryGeometryBuilder(this, geomBuilderDocsProvider); } else { Debug.Assert(false, "App has been already initialized. Must be only once"); } }
internal SwApplication(ISldWorks app, ILogger logger) { Application = app; SwDocuments = new SwDocumentCollection(app, logger); GeometryBuilder = new SwGeometryBuilder(app.IGetMathUtility(), app.IGetModeler()); }