mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-11 02:02:22 +00:00
Fixes
This commit is contained in:
@@ -160,7 +160,11 @@ int main() {
|
||||
roof.setOwnerHistory(file.getSingle<IfcSchema::IfcOwnerHistory>());
|
||||
roof.setName("Roof");
|
||||
roof.setObjectPlacement(file.addLocalPlacement(storey_placement));
|
||||
#ifdef USE_IFC4
|
||||
roof.setPredefinedType(IfcSchema::IfcRoofTypeEnum::IfcRoofType_GABLE_ROOF);
|
||||
#else
|
||||
roof.setShapeType(IfcSchema::IfcRoofTypeEnum::IfcRoofType_GABLE_ROOF);
|
||||
#endif
|
||||
|
||||
// The roof geometry is slanted 45 degrees by specifying a direction for the box extrusion
|
||||
auto roof_rep = file.addEmptyRepresentation();
|
||||
@@ -190,11 +194,13 @@ int main() {
|
||||
north_roof_part.setRepresentation(file.addMappedItem(roof_rep));
|
||||
north_roof_part.setObjectPlacement(file.addLocalPlacement(roof.ObjectPlacement(), 0, 5400, 2700, 0, 0, 1, -1, 0, 0));
|
||||
|
||||
auto rel = file.create<IfcSchema::IfcRelAggregates>();
|
||||
rel.setGlobalId(guid());
|
||||
rel.setOwnerHistory(file.getSingle<IfcSchema::IfcOwnerHistory>());
|
||||
rel.setRelatingObject(roof);
|
||||
rel.setRelatedObjects({south_roof_part, north_roof_part});
|
||||
{
|
||||
auto rel = file.create<IfcSchema::IfcRelAggregates>();
|
||||
rel.setGlobalId(guid());
|
||||
rel.setOwnerHistory(file.getSingle<IfcSchema::IfcOwnerHistory>());
|
||||
rel.setRelatingObject(roof);
|
||||
rel.setRelatedObjects({south_roof_part, north_roof_part});
|
||||
}
|
||||
|
||||
file.addBuildingProduct(south_roof_part);
|
||||
file.addBuildingProduct(north_roof_part);
|
||||
@@ -368,7 +374,11 @@ int main() {
|
||||
stair.setOwnerHistory(file.getSingle<IfcSchema::IfcOwnerHistory>());
|
||||
stair.setObjectPlacement(file.addLocalPlacement(storey_placement, 5050, 1000, 0, 0, 1, 0, 1, 0, 0));
|
||||
stair.setRepresentation(file.addExtrudedPolyline(stair_points, 1200));
|
||||
#ifdef USE_IFC4
|
||||
stair.setNumberOfRisers(2);
|
||||
#else
|
||||
stair.setNumberOfRiser(2);
|
||||
#endif
|
||||
stair.setNumberOfTreads(2);
|
||||
stair.setRiserHeight(0.2);
|
||||
stair.setTreadLength(0.25);
|
||||
|
||||
@@ -555,7 +555,7 @@ Ifc2x3::IfcStyledItem create_styled_item(IfcParse::IfcFile* file, const Ifc2x3::
|
||||
Ifc4::IfcStyledItem create_styled_item(IfcParse::IfcFile* file, Ifc4::IfcRepresentationItem item, Ifc4::IfcPresentationStyleAssignment style_assignment) {
|
||||
auto sitem = file->create<Ifc4::IfcStyledItem>();
|
||||
sitem.setItem(item);
|
||||
sitem.setStyles(std::vector<Ifc4::IfcPresentationStyleAssignment>{style_assignment});
|
||||
sitem.setStyles(std::vector<Ifc4::IfcStyleAssignmentSelect>{style_assignment});
|
||||
return sitem;
|
||||
}
|
||||
#endif
|
||||
@@ -564,7 +564,7 @@ Ifc4::IfcStyledItem create_styled_item(IfcParse::IfcFile* file, Ifc4::IfcReprese
|
||||
Ifc4x1::IfcStyledItem create_styled_item(IfcParse::IfcFile* file, const Ifc4x1::IfcRepresentationItem& item, const Ifc4x1::IfcPresentationStyleAssignment& style_assignment) {
|
||||
auto sitem = file->create<Ifc4x1::IfcStyledItem>();
|
||||
sitem.setItem(item);
|
||||
sitem.setStyles(std::vector<Ifc4x1::IfcPresentationStyleAssignment>{style_assignment});
|
||||
sitem.setStyles(std::vector<Ifc4x1::IfcStyleAssignmentSelect>{style_assignment});
|
||||
return sitem;
|
||||
}
|
||||
#endif
|
||||
@@ -573,7 +573,7 @@ Ifc4x1::IfcStyledItem create_styled_item(IfcParse::IfcFile* file, const Ifc4x1::
|
||||
Ifc4x2::IfcStyledItem create_styled_item(IfcParse::IfcFile* file, const Ifc4x2::IfcRepresentationItem& item, const Ifc4x2::IfcPresentationStyleAssignment& style_assignment) {
|
||||
auto sitem = file->create<Ifc4x2::IfcStyledItem>();
|
||||
sitem.setItem(item);
|
||||
sitem.setStyles(std::vector<Ifc4x2::IfcPresentationStyleAssignment>{style_assignment});
|
||||
sitem.setStyles(std::vector<Ifc4x2::IfcStyleAssignmentSelect>{style_assignment});
|
||||
return sitem;
|
||||
}
|
||||
#endif
|
||||
@@ -582,7 +582,7 @@ Ifc4x2::IfcStyledItem create_styled_item(IfcParse::IfcFile* file, const Ifc4x2::
|
||||
Ifc4x3_rc1::IfcStyledItem create_styled_item(IfcParse::IfcFile* file, const Ifc4x3_rc1::IfcRepresentationItem& item, const Ifc4x3_rc1::IfcPresentationStyleAssignment& style_assignment) {
|
||||
auto sitem = file->create<Ifc4x3_rc1::IfcStyledItem>();
|
||||
sitem.setItem(item);
|
||||
sitem.setStyles(std::vector<Ifc4x3_rc1::IfcPresentationStyleAssignment>{style_assignment});
|
||||
sitem.setStyles(std::vector<Ifc4x3_rc1::IfcStyleAssignmentSelect>{style_assignment});
|
||||
return sitem;
|
||||
}
|
||||
#endif
|
||||
@@ -591,7 +591,7 @@ Ifc4x3_rc1::IfcStyledItem create_styled_item(IfcParse::IfcFile* file, const Ifc4
|
||||
Ifc4x3_rc2::IfcStyledItem create_styled_item(IfcParse::IfcFile* file, const Ifc4x3_rc2::IfcRepresentationItem& item, const Ifc4x3_rc2::IfcPresentationStyleAssignment& style_assignment) {
|
||||
auto sitem = file->create<Ifc4x3_rc2::IfcStyledItem>();
|
||||
sitem.setItem(item);
|
||||
sitem.setStyles(std::vector<Ifc4x3_rc2::IfcPresentationStyleAssignment>{style_assignment});
|
||||
sitem.setStyles(std::vector<Ifc4x3_rc2::IfcStyleAssignmentSelect>{style_assignment});
|
||||
return sitem;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2472,7 +2472,7 @@ std::vector<express::Entity> IfcFile::getInverse(int instance_id, const IfcParse
|
||||
std::vector<uint32_t> vals(it->value().size() / sizeof(uint32_t));
|
||||
memcpy(vals.data(), it->value().data(), it->value().size());
|
||||
for (auto& v : vals) {
|
||||
return_value.push_back(instance_by_id(v).as<express::Entity>());
|
||||
return_value.push_back(instance_by_id(v).template as<express::Entity>());
|
||||
}
|
||||
it->Next();
|
||||
}
|
||||
@@ -2480,7 +2480,7 @@ std::vector<express::Entity> IfcFile::getInverse(int instance_id, const IfcParse
|
||||
auto it = x.byref_excl_.find({ instance_id, ent->index_in_schema(), attribute_index });
|
||||
if (it != x.byref_excl_.end()) {
|
||||
for (auto& i : it->second) {
|
||||
return_value.push_back(instance_by_id(i).as<express::Entity>());
|
||||
return_value.push_back(instance_by_id(i).template as<express::Entity>());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user