Update empty method guards to new style with regex (see PR).
Used clang-format 18.1.8.
New actions to validate code formatting is added.
Update .clang-format with disabling of include sorting.
It is temporary changes, then include will be sorted.
Apply formatting for /src and /tools folder.
The files with .hxx,.cxx,.lxx,.h,.pxx,.hpp,*.cpp extensions.
Refactor header file extensions from .hxx to .pxx and update include statements.
Enable handling by IDE gxx and pxx extensions as a cpp header files.
Introduce Standard_HIDDEN to hide symbols
Processing of complex_triangulated_surface_set is added to
STEPCAFControl_GDTProperty::GetTessellation().
Processing of tessellated_curve_set is refactored and moved to a
separate function.
Problems related to normals list are fixed in
RWStepVisual_RWComplexTriangulatedSurfaceSet::WriteStep():
Normals list is now checked for nullptr. It is a valid situation that
occurs when complex_triangulated_surface_set in STEP file has no
normals.
Traversing of normals list is performed in correct order. Previously
rows and columns were switched, which led to crashes or incorrect data.
Support of reading and writing tessellated geometry is added for the following STEP entities:
- triangulated face
- complex triangulated face
- tessellated shell
- tessellated solid
- tessellated shape representation
Models without BRep geometry (mesh formats like STL, OBJ and so on) are supported for writing to STEP.
New parameters are added to enable/disable tessellated geometry reading and writing:
- read.step.tessellated (On/Off/OnNoBRep) (On by default)
- write.step.tessellated (On/Off/OnNoBRep) (OnNoBRep by default)
OnNoBRep - tessellation is read/written only for entities for which there is no BRep representation.
Faces with poly triangulation are written in STEP as triangulated face entities with one coordinates list per face.
Only one poly triangulation per face (returned by BRep_Tool::Triangulation) is written to STEP.