Merge branch 'master' into v0.6.0

This commit is contained in:
Thomas Krijnen
2019-05-24 12:10:00 +02:00
2 changed files with 6 additions and 13 deletions
+2 -2
View File
@@ -452,8 +452,8 @@ namespace IfcGeom {
bool representation_processed_as_mapped_item = false;
IfcSchema::IfcRepresentation* representation_mapped_to = kernel.representation_mapped_to(representation);
if (representation_mapped_to) {
representation_processed_as_mapped_item = geometry_reuse_ok_for_current_representation_ ||
ok_mapped_representations->contains(representation_mapped_to);
representation_processed_as_mapped_item = geometry_reuse_ok_for_current_representation_ && (
ok_mapped_representations->contains(representation_mapped_to) || reuse_ok_(kernel.products_represented_by(representation_mapped_to)));
}
if (representation_processed_as_mapped_item) {
+4 -11
View File
@@ -1099,20 +1099,15 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcSweptDiskSolid* l, TopoDS_Shap
}
}
const bool is_continuous = wire_is_c1_continuous(wire, 1.e-3);
// This is not used anymore, BRepBuilderAPI_RightCorner is always used now.
// const bool is_continuous = wire_is_c1_continuous(wire, 1.e-3);
// NB: Note that StartParam and EndParam param are ignored and the assumption is
// made that the parametric range over which to be swept matches the IfcCurve in
// its entirety.
// NB2: Contrary to IfcSurfaceCurveSweptAreaSolid the transition mode has been
// set to create round corners as this has proven to work better with the types
// of directrices encountered, which do not necessarily conform to a surface.
{ BRepOffsetAPI_MakePipeShell builder(wire);
builder.Add(section1);
if (!is_continuous) {
// Only perform round corners on wires that are not c1 continuous
builder.SetTransitionMode(BRepBuilderAPI_RoundCorner);
}
builder.SetTransitionMode(BRepBuilderAPI_RightCorner);
builder.Build();
builder.MakeSolid();
shape = builder.Shape(); }
@@ -1120,9 +1115,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcSweptDiskSolid* l, TopoDS_Shap
if (hasInnerRadius) {
BRepOffsetAPI_MakePipeShell builder(wire);
builder.Add(section2);
if (!is_continuous) {
builder.SetTransitionMode(BRepBuilderAPI_RoundCorner);
}
builder.SetTransitionMode(BRepBuilderAPI_RightCorner);
builder.Build();
builder.MakeSolid();
TopoDS_Shape inner = builder.Shape();