Archived issue #0022867
Avoid performing mesh of a singled face model in parallel mode when flag IsParallel is set to true.
Description
Now meshing of a singled face model is performed in parallel mode if IsParallel flag is set to true. It slows down the execution and should be always done in sequential mode.
Public activity
3 archived notes
Participants are labeled by their role within this record.
Dear, Alexander, please provide a detailed explanation why this issue occurs and a test where it is reproduced.
Dear azn, apv, pdn and Commenter 1,
please process bugs according to our rules!
This bug was integrated without correct tracking
within another patch #0022866 that even doesn't linked with this one!
My small comments:
MeshTest.cxx, line 204-207
> Standard_Boolean isInParallel = Standard_False;
> if (nbarg == 4) {
> isInParallel = atoi(argv[3]) == 1;
> }
Recommendation: this is preferred to test greater-equal rather than equality
for simpler command extension in future.
This assignment could be checked within one line like this:
Standard_Boolean isInParallel = (nbarg >= 4) && (atoi(argv[3]) == 1);
MeshTest.cxx, line 211
> Standard::SetReentrant(isInParallel);
This is dangerous to silently disable reentrant controls!
BRepMesh_IncrementalMesh.cxx, line 90
> const Standard_Boolean theInParallel)
Dear azn, here and in other places - please configure your editor to use space symbols instead of tabulation! Tabulation is forbidden in C++ sources of by OCCT coding rules.
StlAPI_Writer.cdl, line 71
> InParallel : Boolean from Standard = Standard_False);
> ---Purpose: Converts a given shape to STL format and writes it to file with a given filename.
Description is missing for new flag.
StlAPI_Writer.cxx, line 57
> void StlAPI_Writer::Write(const TopoDS_Shape& theShape, const Standard_CString theFileName, const Standard_Boolean theInParallel)
This line is too long. Please split it per argument.
please process bugs according to our rules!
This bug was integrated without correct tracking
within another patch #0022866 that even doesn't linked with this one!
My small comments:
MeshTest.cxx, line 204-207
> Standard_Boolean isInParallel = Standard_False;
> if (nbarg == 4) {
> isInParallel = atoi(argv[3]) == 1;
> }
Recommendation: this is preferred to test greater-equal rather than equality
for simpler command extension in future.
This assignment could be checked within one line like this:
Standard_Boolean isInParallel = (nbarg >= 4) && (atoi(argv[3]) == 1);
MeshTest.cxx, line 211
> Standard::SetReentrant(isInParallel);
This is dangerous to silently disable reentrant controls!
BRepMesh_IncrementalMesh.cxx, line 90
> const Standard_Boolean theInParallel)
Dear azn, here and in other places - please configure your editor to use space symbols instead of tabulation! Tabulation is forbidden in C++ sources of by OCCT coding rules.
StlAPI_Writer.cdl, line 71
> InParallel : Boolean from Standard = Standard_False);
> ---Purpose: Converts a given shape to STL format and writes it to file with a given filename.
Description is missing for new flag.
StlAPI_Writer.cxx, line 57
> void StlAPI_Writer::Write(const TopoDS_Shape& theShape, const Standard_CString theFileName, const Standard_Boolean theInParallel)
This line is too long. Please split it per argument.
Note that the history of commits in the repository contains a commit incorrectly attributed to this issue; it is actually commit for #0022866