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