IfcProductRepresentation productRepresentation = product.getRepresentation(); if (product.getRepresentation() == null) { productRepresentation = model.create(IfcProductRepresentation.class); product.setRepresentation(productRepresentation); representation = model.create(IfcRepresentation.class); productRepresentation.getRepresentations().add(representation); } else { representationItem = model.create(IfcRepresentationItem.class); representation.getItems().add(representationItem); } else { representationItem = representation.getItems().get(0); IfcStyledItem styledItem = model.create(IfcStyledItem.class); representationItem.getStyledByItem().clear(); representationItem.getStyledByItem().add(styledItem);
@SuppressWarnings("unchecked") private void createPresentationStyleAssignmentStyles(IfcModelInterface model, String representationIdentifier, IdEObject ifcPresentationStyleAssignment, IdEObject color) throws IfcModelInterfaceException { if (representationIdentifier.equals("Body")) { IdEObject ifcPresentationStyleSelect = model.create(model.getPackageMetaData().getEClass("IfcSurfaceStyle")); EStructuralFeature stylesFeature = ifcPresentationStyleAssignment.eClass().getEStructuralFeature("Styles"); List<IdEObject> list = (List<IdEObject>) ifcPresentationStyleAssignment.eGet(stylesFeature); list.add(ifcPresentationStyleSelect); createSurfaceStyleStyles(model, representationIdentifier, ifcPresentationStyleSelect, color); } else { // Unimplemented } }
@SuppressWarnings("unchecked") private void createStyledByItems(IfcModelInterface model, IdEObject ifcRepresentationItem, String representationIdentifier, IdEObject color) throws IfcModelInterfaceException { IdEObject ifcStyledItem = model.create(model.getPackageMetaData().getEClass("IfcStyledItem")); EStructuralFeature styledByItemFeature = ifcStyledItem.eClass().getEStructuralFeature("StyledByItem"); List<IdEObject> list = (List<IdEObject>) ifcRepresentationItem.eGet(styledByItemFeature); list.add(ifcStyledItem); createStyledItemStyles(model, representationIdentifier, ifcStyledItem, color); }
@SuppressWarnings("unchecked") private void createStyledItemStyles(IfcModelInterface model, String representationIdentifier, IdEObject ifcStyledItem, IdEObject color) throws IfcModelInterfaceException { IdEObject ifcPresentationStyleAssignment = model.create(model.getPackageMetaData().getEClass("IfcPresentationStyleAssignment")); EStructuralFeature stylesFeature = ifcStyledItem.eClass().getEStructuralFeature("Styles"); List<IdEObject> list = (List<IdEObject>) ifcStyledItem.eGet(stylesFeature); list.add(ifcPresentationStyleAssignment); createPresentationStyleAssignmentStyles(model, representationIdentifier, ifcPresentationStyleAssignment, color); }
@SuppressWarnings("unchecked") private void createSurfaceStyleStyles(IfcModelInterface model, String representationIdentifier, IdEObject ifcSurfaceStyle, IdEObject color) throws IfcModelInterfaceException { EClass ifcSurfaceStyleRenderingClass = model.getPackageMetaData().getEClass("IfcSurfaceStyleRendering"); IdEObject ifcSurfaceStyleRendering = model.create(ifcSurfaceStyleRenderingClass); EStructuralFeature stylesFeature = ifcSurfaceStyle.eClass().getEStructuralFeature("Styles"); ((List<IdEObject>)(ifcSurfaceStyle.eGet(stylesFeature))).add(ifcSurfaceStyleRendering); setColour(color, ifcSurfaceStyleRendering); }
private void createStyle(double[] color, float transparency, IfcStyledItem styledItem) throws IfcModelInterfaceException { IfcPresentationStyleAssignment presentationStyleAssignment = null; if (styledItem.getStyles().isEmpty()) { presentationStyleAssignment = model.create(IfcPresentationStyleAssignment.class); styledItem.getStyles().add(presentationStyleAssignment); } else { surfaceStyle = model.create(IfcSurfaceStyle.class); presentationStyleAssignment.getStyles().add(surfaceStyle); } else { surfaceStyle = (IfcSurfaceStyle) presentationStyleAssignment.getStyles().get(0); } else { surfaceStyle = model.create(IfcSurfaceStyle.class); presentationStyleAssignment.getStyles().set(0, surfaceStyle); surfaceStyleRendering = model.create(IfcSurfaceStyleRendering.class); surfaceStyle.getStyles().add(surfaceStyleRendering); } else { surfaceStyleRendering = (IfcSurfaceStyleRendering) surfaceStyle.getStyles().get(0); } else { surfaceStyleRendering = model.create(IfcSurfaceStyleRendering.class); surfaceStyle.getStyles().set(0, surfaceStyleRendering); IfcColourRgb colourRgb = model.create(IfcColourRgb.class); colourRgb.setRed(color[0]); colourRgb.setGreen(color[1]);
public <T extends IdEObject> T create(Class<T> clazz) throws IfcModelInterfaceException { T object = model.create(clazz); if (object instanceof IfcRoot) { ((IfcRoot)object).setGlobalId(GuidCompressor.getNewIfcGloballyUniqueId()); if (defaultOwnerHistory != null) { ((IfcRoot)object).setOwnerHistory(defaultOwnerHistory); } } if (addOnCreate) { model.add(object.getOid(), object); } return object; }
private IdEObject convertWrapped(Revision revision, IfcModelInterface ifcModel, HashMapWrappedVirtualObject hashMapWrappedVirtualObject) throws IfcModelInterfaceException { IdEObject embeddedObject = ifcModel.create(hashMapWrappedVirtualObject.eClass()); ((IdEObjectImpl)embeddedObject).setOid(-1); ((IdEObjectImpl)embeddedObject).setPid(revision.getProject().getId()); for (EAttribute eAttribute : hashMapWrappedVirtualObject.eClass().getEAllAttributes()) { embeddedObject.eSet(eAttribute, hashMapWrappedVirtualObject.eGet(eAttribute)); } return embeddedObject; }
object = (IdEObjectImpl) StoreFactory.eINSTANCE.createIfcHeader(); } else { object = (IdEObjectImpl) model.create(eClass, oid); processRef(model, waitingList, object, eStructuralFeature, index, list, refOid); } else if(eStructuralFeature.getEAnnotation("twodimensionalarray")!=null) { IdEObjectImpl listObject = model.create(((EReference) eStructuralFeature).getEReferenceType()); addToList(eStructuralFeature, index, list, listObject); EStructuralFeature listFeature = listObject.eClass().getEStructuralFeature("List"); if(jsonReader.nextName().equals("_t")){ String t = jsonReader.nextString(); IdEObject wrappedObject = model.create(model.getPackageMetaData().getEClass(t),-1); if(jsonReader.nextName().equals("_v")){ EStructuralFeature wv = wrappedObject.eClass().getEStructuralFeature("wrappedValue"); if (nextName.equals("_t")) { String t = jsonReader.nextString(); IdEObject wrappedObject = (IdEObject) model.create(model.getPackageMetaData().getEClass(t), -1); if (jsonReader.nextName().equals("_v")) { EStructuralFeature wv = wrappedObject.eClass().getEStructuralFeature("wrappedValue"); if (jsonReader.nextName().equals("_t")) { String refType = jsonReader.nextString(); IdEObject refObject = (IdEObject) model.create(model.getPackageMetaData().getEClassIncludingDependencies(refType), refOid); ((IdEObjectImpl)refObject).setLoadingState(State.OPPOSITE_SETTING); model.add(refObject.getOid(), refObject); processRef(model, waitingList, object, eStructuralFeature, index, list, refOid);
@SuppressWarnings("unchecked") public void copyDecomposes(IdEObject ifcObjectDefinition, IdEObject ownerHistory) throws IfcModelInterfaceException, ObjectAlreadyExistsException { IdEObject newObjectDefinition = copy(ifcObjectDefinition, false, skipRepresentation); EStructuralFeature decomposesFeature = newObjectDefinition.eClass().getEStructuralFeature("Decomposes"); for (IdEObject ifcRelDecomposes : (List<IdEObject>)ifcObjectDefinition.eGet(decomposesFeature)) { copy(ifcRelDecomposes, false, skipRepresentation); EStructuralFeature relatingObjectFeature = ifcRelDecomposes.eClass().getEStructuralFeature("RelatingObject"); IdEObject relatingObject = (IdEObject) ifcRelDecomposes.eGet(relatingObjectFeature); if (relatingObject != null) { copyDecomposes(relatingObject, ownerHistory); } } if (ifcObjectDefinition.eClass().getEPackage().getEClassifier("IfcElement").isInstance(ifcObjectDefinition)) { EStructuralFeature containedInStructureFeature = ifcObjectDefinition.eClass().getEStructuralFeature("ContainedInStructure"); for (IdEObject containedInStructure : (List<IdEObject>)ifcObjectDefinition.eGet(containedInStructureFeature)) { IdEObject newContainedInSpatialStructure = getTargetModel().create(containedInStructure.eClass()); newContainedInSpatialStructure.eSet(newContainedInSpatialStructure.eClass().getEStructuralFeature("GlobalId"), GuidCompressor.getNewIfcGloballyUniqueId()); newContainedInSpatialStructure.eSet(newContainedInSpatialStructure.eClass().getEStructuralFeature("OwnerHistory"), ownerHistory); EStructuralFeature relatedElementsFeature = newContainedInSpatialStructure.eClass().getEStructuralFeature("RelatedElements"); ((List<IdEObject>)newContainedInSpatialStructure.eGet(relatedElementsFeature)).add(newObjectDefinition); EStructuralFeature relatingStructureFeature = containedInStructure.eClass().getEStructuralFeature("RelatingStructure"); IdEObject newRelatingStructre = copy(((IdEObject)containedInStructure.eGet(relatingStructureFeature)), false, skipRepresentation); newContainedInSpatialStructure.eSet(relatingStructureFeature, newRelatingStructre); getTargetModel().add(oidProvider.newOid(newContainedInSpatialStructure.eClass()), newContainedInSpatialStructure); copyDecomposes((IdEObject)containedInStructure.eGet(relatingStructureFeature), ownerHistory); } } }