JsonQueryObjectModelConverter jsonQueryObjectModelConverter = new JsonQueryObjectModelConverter(packageMetaData); String queryNameSpace = packageMetaData.getSchema().name().toLowerCase() + "-stdlib"; queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":ContainedInStructure", true)); if (packageMetaData.getSchema() == Schema.IFC4) { queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":IsTypedBy", true));
if (serializerPlugin != null) { Serializer serializer = serializerPlugin.createSerializer(bimServer.getPluginSettingsCache().getPluginSettings(serializerPluginConfiguration.getOid())); if (!serializerPlugin.getSupportedSchemas().contains(model.getPackageMetaData().getSchema())) { SchemaConverterFactory converterFactory = null; for (Schema schema : serializerPlugin.getSupportedSchemas()) { converterFactory = bimServer.getSchemaConverterManager().getSchemaConverterFactory(model.getPackageMetaData().getSchema(), schema); if (converterFactory != null) { break; throw new SerializerException("No usable converter found for schema " + model.getPackageMetaData().getSchema() + " for serializer " + serializerPlugin.getClass().getName());
if (queryContext.getPackageMetaData().getSchema() == Schema.IFC4) { pluginName = "org.bimserver.ifc.step.serializer.Ifc4StepStreamingSerializerPlugin"; } else if (queryContext.getPackageMetaData().getSchema() == Schema.IFC2X3TC1) { pluginName = "org.bimserver.ifc.step.serializer.Ifc2x3tc1StepStreamingSerializerPlugin"; } else { throw new GeometryGeneratingException("Unknown schema " + queryContext.getPackageMetaData().getSchema()); report.setIfcSchema(queryContext.getPackageMetaData().getSchema()); report.setUseMappingOptimization(optimizeMappedItems); report.setReuseGeometry(reuseGeometry); RenderEnginePool renderEnginePool = bimServer.getRenderEnginePools().getRenderEnginePool(packageMetaData.getSchema(), renderEngine.getPluginDescriptor().getPluginClassName(), bimServer.getPluginSettingsCache().getPluginSettings(renderEngine.getOid())); String queryNameSpace = packageMetaData.getSchema().name().toLowerCase() + "-stdlib";
JsonQueryObjectModelConverter jsonQueryObjectModelConverter = new JsonQueryObjectModelConverter(packageMetaData); String queryNameSpace = packageMetaData.getSchema().name().toLowerCase() + "-stdlib"; queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":ContainedInStructure", true)); if (packageMetaData.getSchema() == Schema.IFC4) { queryPart.addInclude(jsonQueryObjectModelConverter.getDefineFromFile(queryNameSpace + ":IsTypedBy", true));
public BimServerBimBotsInput(BimServer bimServer, long uoid, String schemaName, byte[] data, IfcModelInterface model, boolean generateGeometry) throws BimBotsException { super(schemaName, data); this.model = model; try (DatabaseSession session = bimServer.getDatabase().createSession()) { User user = session.get(uoid, OldQuery.getDefault()); UserSettings userSettings = user.getUserSettings(); RenderEnginePluginConfiguration defaultRenderEngine = userSettings.getDefaultRenderEngine(); if (defaultRenderEngine == null) { throw new BimBotsException("No default render engine has been selected for this user", BimBotDefaultErrorCode.NO_RENDER_ENGINE); } if (generateGeometry) { GeometryGenerator generator = new GeometryGenerator(bimServer); RenderEnginePool pool = bimServer.getRenderEnginePools().getRenderEnginePool(model.getPackageMetaData().getSchema(), defaultRenderEngine.getPluginDescriptor().getPluginClassName(), bimServer.getPluginSettingsCache().getPluginSettings(defaultRenderEngine.getOid())); generator.generateGeometry(pool, bimServer.getPluginManager(), null, model, -1, -1, false, null); } } catch (PluginException e) { e.printStackTrace(); } catch (BimserverDatabaseException e) { e.printStackTrace(); } catch (GeometryGeneratingException e) { e.printStackTrace(); } catch (ObjectAlreadyExistsException e) { e.printStackTrace(); } catch (IfcModelInterfaceException e) { e.printStackTrace(); } }
@Override public void regenerateGeometry(Long croid) throws ServerException, UserException { LOGGER.info("Regenerating geometry for concrete revision" + croid); DatabaseSession session = getBimServer().getDatabase().createSession(); try { session.setOverwriteEnabled(true); // Normally we wouldn't be allowed to change existing data ConcreteRevision concreteRevision = session.get(StorePackage.eINSTANCE.getConcreteRevision(), croid, OldQuery.getDefault()); PackageMetaData packageMetaData = getBimServer().getMetaDataManager().getPackageMetaData(concreteRevision.getProject().getSchema()); IfcModelInterface model = new BasicIfcModel(packageMetaData, null); session.getMap(model, new OldQuery(packageMetaData, concreteRevision.getProject().getId(), concreteRevision.getId(), -1)); User user = session.get(getAuthorization().getUoid(), OldQuery.getDefault()); UserSettings userSettings = user.getUserSettings(); RenderEnginePluginConfiguration defaultRenderEngine = userSettings.getDefaultRenderEngine(); if (defaultRenderEngine == null) { throw new BimBotsException("No default render engine has been selected for this user", BimBotDefaultErrorCode.NO_RENDER_ENGINE); } RenderEnginePool pool = getBimServer().getRenderEnginePools().getRenderEnginePool(model.getPackageMetaData().getSchema(), defaultRenderEngine.getPluginDescriptor().getPluginClassName(), getBimServer().getPluginSettingsCache().getPluginSettings(defaultRenderEngine.getOid())); new GeometryGenerator(getBimServer()).generateGeometry(pool, getBimServer().getPluginManager(), session, model, concreteRevision.getProject().getId(), concreteRevision.getId(), true, null); session.commit(); } catch (Exception e) { handleException(e); } finally { session.close(); } }
RenderEnginePool pool = getBimServer().getRenderEnginePools().getRenderEnginePool(model.getPackageMetaData().getSchema(), defaultRenderEngine.getPluginDescriptor().getPluginClassName(), getBimServer().getPluginSettingsCache().getPluginSettings(defaultRenderEngine.getOid()));
Ifc4Package ifc4 = Ifc4Package.eINSTANCE; Ifc2x3tc1Package ifc2x3 = Ifc2x3tc1Package.eINSTANCE; Mismatch[] misMatches = packageMetaData.getSchema().equals(Schema.IFC2X3TC1) ? new Mismatch[]{ new Mismatch(ifc2x3.getIfcRelContainedInSpatialStructure_RelatedElements(), new EReference[]{ ifc2x3.getIfcElement_ContainedInStructure(),