occt.git
3 years ago0025936: Modeling Data - reusable data structure for 2D tesselation (3- and 4-nodal... CR25936_3
vro [Fri, 5 Feb 2021 15:20:00 +0000 (18:20 +0300)]
0025936: Modeling Data - reusable data structure for 2D tesselation (3- and 4-nodal mesh)

// Fixed compilation errors in samples

3 years ago0025936: Modeling Data - reusable data structure for 2D tesselation (3- and 4-nodal...
vro [Fri, 5 Feb 2021 12:03:45 +0000 (15:03 +0300)]
0025936: Modeling Data - reusable data structure for 2D tesselation (3- and 4-nodal mesh)

// Just forgot to add Poly_Element and Poly_Mesh files into the Git.

3 years ago0025936: Modeling Data - reusable data structure for 2D tesselation (3- and 4-nodal...
vro [Fri, 5 Feb 2021 07:24:40 +0000 (10:24 +0300)]
0025936: Modeling Data - reusable data structure for 2D tesselation (3- and 4-nodal mesh)

// Porting of old development (for OCCT 7.1.0) to the current version of Open CASCADE.
// All remarks are checked and fixed, regressions are fixed.
A new test-case is added : caf basic Z1

3 years ago0032094: Visualization, TKOpenGl - OpenGl_VertexBuffer::bindAttribute() silently... IR-2021-01-29
kgv [Fri, 29 Jan 2021 02:29:50 +0000 (05:29 +0300)]
0032094: Visualization, TKOpenGl - OpenGl_VertexBuffer::bindAttribute() silently does nothing without active GLSL program

OpenGl_VertexBuffer::bindAttribute() now prints an error message indicating a possible VBO misuse.

3 years ago0032081: Visualization - WebGL sample errors when run in Safari browser with WebGL 1.0
kgv [Fri, 29 Jan 2021 01:59:41 +0000 (04:59 +0300)]
0032081: Visualization - WebGL sample errors when run in Safari browser with WebGL 1.0

"MAX_WEBGL_VERSION=2" Emscripten option is now used for building sample instead of deprecated "USE_WEBGL2=1".

3 years ago0032083: Visualization, TKOpenGl - PBR rendering is unavailable on Apple A12 Bionic...
kgv [Sun, 24 Jan 2021 15:31:54 +0000 (18:31 +0300)]
0032083: Visualization, TKOpenGl - PBR rendering is unavailable on Apple A12 Bionic (iPad)

Added "#define occLight_Index(theId) 0" workaround allowing to compile
a single light source PBR shading program on OpenGL ES 2.0,
as it disallows non-constant index expressions (even trivially deducable at compile-time).

PBR lookup table is now automatically resized to RGBA format
when RG texture format is unsupported (OpenGL ES 2.0).

OpenGl_ShaderManager now allows compiling PBR shaders
using WebGL 1.0 + GL_EXT_shader_texture_lod extension.

PBR IBL baking GLSL program has been redisigned to use
if/else to avoid non-constant index expressions.
Diffuse baking implements packing float values into a temporary RGBA8 texture
as a fallback solution on WebGL 1.0 implementations supporting float textures
but not as FBO render targets.

OpenGl_PBREnvironment now uses GL_FRAMEBUFFER instead of GL_DRAW_FRAMEBUFFER
for compatibility with OpenGL ES 2.0.

3 years ago0032093: Visualization, TKOpenGl - loading texture in BGR format fails in OpenGL ES
kgv [Fri, 29 Jan 2021 00:34:16 +0000 (03:34 +0300)]
0032093: Visualization, TKOpenGl - loading texture in BGR format fails in OpenGL ES

Graphic3d_TextureRoot::convertToCompatible() - fixed handling of
Image_Format_BGR and Image_Format_BGRA formats.

OpenGl_Texture - added error message for unsupported pixel format;
error messages have been extended by resource id.
OpenGl_Texture::InitCubeMap() now does not release cubemap
on mipmaps generation failure.

Image_PixMap::ImageFormatToString() - added method returning name of pixel format.

3 years ago0031912: Modeling Algorithms - Boolean Cut can't build resulting shape
emv [Thu, 28 Jan 2021 10:02:08 +0000 (13:02 +0300)]
0031912: Modeling Algorithms - Boolean Cut can't build resulting shape

Problem is fixed by #0032058. Integrating test case only.

3 years ago0032078: Visualization, Poly_Triangulation - add cached bounding box.
osa [Fri, 22 Jan 2021 14:56:45 +0000 (17:56 +0300)]
0032078: Visualization, Poly_Triangulation - add cached bounding box.

1) Add empty constructor for Poly_Triangulation(),
2) Add Poly_Triangulation::HasGeometry() method to check that triangulation has any geometry.
3) Add possibility to cache bounding box in Poly_Triangulation and use it later in case of empty triangulation.
4) Add Poly_Triangulation::MinMax() to extends input box with bounding box of triangulation.
5) Add Poly_Triangulation::UpdateCachedMinMax() to cache min - max range of this triangulation with bounding box of nodal data.
6) Add virtual Poly_Triangulation::computeBoundingBox() to calculate bounding box of nodal data.
7) Update BRepBndLib::Add/AddOptimal/AddOBB algorithms to check empty triangulation and use cached box in this case.
8) Update BRepGProp::roughBary/surfaceProperties/volumeProperties to skip empty triangulation.
9) Remove additional myBox from RWGltf_GltfLatePrimitiveArray and some hack to save this box as nodes of base Poly_Triangulation.
10) Cache min-max range from JT file during its parsing

3 years ago0032082: Visualization, TKOpenGl - improve formatting of error messages
kgv [Sat, 23 Jan 2021 18:35:46 +0000 (21:35 +0300)]
0032082: Visualization, TKOpenGl - improve formatting of error messages

Error messages in TKOpenGl package have been improved to format
GLenum values as string constants or hex values.
OpenGl_VertexBuffer::init() now logs a message with error details
instead of just returning Boolean flag.

3 years ago0031845: Modeling Algorithms - BRepOffsetAPI_MakeThickSolid fails IR-2021-01-22
jgv [Tue, 12 Jan 2021 00:45:17 +0000 (03:45 +0300)]
0031845: Modeling Algorithms - BRepOffsetAPI_MakeThickSolid fails

Multiple changes in BRepOffset_MakeOffset algorithm:
- correct fusing vertices;
- correct building intersection edges;
- correct intersecting new edges in 2D;
- correct building wire on a new face;
- correct building history.

3 years ago0031547: Visualization - V3d_View creates V3d_Trihedron instance
mkrylova [Thu, 31 Dec 2020 06:37:51 +0000 (09:37 +0300)]
0031547: Visualization - V3d_View creates V3d_Trihedron instance

- moved creating of V3d_View::myTrihedron from constructor to first attempt of displaying or calling it;
- moved creating of V3d_Viewer::myRGrid and V3d_Viewer::myCGrid to to first attempt of displaying or calling them;
- renamed V3d_Viewer::IsActive() to V3d_Viewer::IsGridActive();
- redefined V3d_View::Trihedron() and V3d_Viewer::Grid() by adding new argument toCreate
for opportunity to check the existence of the objects without their recreating.

3 years ago0032065: Samples - use MODULARIZE within WebGL sample
kgv [Mon, 18 Jan 2021 17:50:52 +0000 (20:50 +0300)]
0032065: Samples - use MODULARIZE within WebGL sample

Fixed multitouch input.

Module is now exported with global functions hidden via MODULARIZE
as global object OccViewerModule created by createOccViewerModule().
Global Module setup has been moved to occt-webgl-viewer.js.

Use EMSCRIPTEN_KEEPALIVE attribute istead of listing C functions via EXTRA_EXPORTED_RUNTIME_METHODS.
WasmOcctView now exports static methods as Module functions using EMSCRIPTEN_BINDINGS.

Standard_ASSERT_DBGBREAK_() is now defined using emscripten_debugger().

3 years ago0032049: Data Exchange - STEP file import problems
dpasukhi [Sun, 17 Jan 2021 13:27:11 +0000 (16:27 +0300)]
0032049: Data Exchange - STEP file import problems

- Added checking for null objects
- Added support to find layers according to visible attr
- Fixed problem with same names of layers:
 Now, layers are grouped by names and visibility parameter

3 years ago0032058: Modeling Data - Extrema curve-surface gives wrong result for planar surface...
ifv [Tue, 12 Jan 2021 13:14:35 +0000 (16:14 +0300)]
0032058: Modeling Data - Extrema curve-surface gives wrong result for planar surface of revolunion and circle

Extrema_GenExtCS.cxx : added solution refinement, if solution seems to be "bad" according to special criteria.
Extrema_FuncExtCS.cxx : "cosmetic" modifications
BOPAlgo_PaveFiller_3.cxx : adding control of shape index to prevent exception in ShapeInfo
bugs/moddata_3/bug32058 : new test

3 years ago0032067: Visualization, TKOpenGl - shadowmap GLSL compilation error on WebGL 3.0
kgv [Tue, 19 Jan 2021 15:19:26 +0000 (18:19 +0300)]
0032067: Visualization, TKOpenGl - shadowmap GLSL compilation error on WebGL 3.0

Shadowmap sampler is now passed as a dedicated argument
to occDirectionalLightShadow() to workaround strict GLSL syntax validator.
Fixed texture coordinates clamping range.

Shadow antialiasing is disabled on OpenGL ES 2.0.

3 years ago0031939: Coding - correction of spelling errors in comments [part 7]
luz paz [Mon, 18 Jan 2021 09:36:06 +0000 (12:36 +0300)]
0031939: Coding - correction of spelling errors in comments [part 7]

Fix various typos

Fixed via codespell v2.1.dev

3 years ago0032064: Coding Rules - make RWGltf_GltfJsonParser non-private
kgv [Mon, 18 Jan 2021 21:13:54 +0000 (00:13 +0300)]
0032064: Coding Rules - make RWGltf_GltfJsonParser non-private

3 years ago0028026: Modeling Data - BRepTools::Clean() does not clean all triangulation from...
akaftasev [Fri, 27 Nov 2020 15:07:39 +0000 (18:07 +0300)]
0028026: Modeling Data - BRepTools::Clean() does not clean all triangulation from shape

Added flag for force clean triangulation and treatment for it
Command "trinfo" now show number of polygons on triangulation

3 years ago0032061: Data Exchange, RWGltf_CafWriter - exporting XBF file produces an invalid...
kgv [Mon, 18 Jan 2021 11:58:22 +0000 (14:58 +0300)]
0032061: Data Exchange, RWGltf_CafWriter - exporting XBF file produces an invalid glTF document

Empty Nodes are now skipped while filling in Scene node map.

3 years ago0031571: Visualization, TKOpenGl - provide depth peeling OIT option
kgv [Tue, 19 May 2020 07:47:25 +0000 (10:47 +0300)]
0031571: Visualization, TKOpenGl - provide depth peeling OIT option

Graphic3d_RenderTransparentMethod has been extended by Graphic3d_RTM_DEPTH_PEELING_OIT,
which is handled by OpenGl_LayerList::renderTransparent().

OpenGl_FrameBuffer::Init() now does not silently ignore unknown color attachment format and return failure.
OpenGl_FrameBuffer::InitWrapper() - added constructor wrapping existing color textures.

v3d/transparency/oit: test case added

3 years ago0031136: Modeling Data - BinXCAF persistence loses normals from triangulation-only...
asuraven [Tue, 17 Nov 2020 17:37:01 +0000 (20:37 +0300)]
0031136: Modeling Data - BinXCAF persistence loses normals from triangulation-only Faces

Information about normals are stored in BinOCAF, XmlOCAF, BRep and BBRep (in case of triangulation-only Faces).
Versions of formats have been changed (11 for TDocStd, 4 for BRep Shape and 3 for Binary BRep Shape)
theWithNormals parameter added to BRepTools::Write()
IsWithNormals()/SetWithNormals() function added to BRepTools_ShapeSet
-normals/-noNormals option added to StoreTriangulation DRAW command
-normals/-noNormals option added to writebrep DRAW command
Tests for writing to brep/binary brep/BinXCaf/XmlXCaf added
Test for StoreTriangulation options -normals/-noNormals added

3 years ago0031172: Unexpected result of BRepTools::OuterWire() IR-2021-01-15
aavtamon [Wed, 13 Jan 2021 09:22:58 +0000 (12:22 +0300)]
0031172: Unexpected result of BRepTools::OuterWire()

In BRepTools::OuterWire() compare of parameters was rewritten using Precision.
The test case bug31172 has been created

3 years ago0032056: Coding Rules - remove package MMgt and other types deprecated since OCCT...
kgv [Thu, 14 Jan 2021 07:03:15 +0000 (10:03 +0300)]
0032056: Coding Rules - remove package MMgt and other types deprecated since OCCT 7.2.0

Removed functionality deprecated since OCCT 7.1.0:
0027834 built-in iterator in class SelectMgr_ViewerSelector;
0027900 obsolete constructor of V3d_Viewer class;
0027816 obsolete clipping plane setters V3d_View/PrsMgr_PresentableObject:SetClipPlanes();
0027860 obsolete transformation persistence methods from class PrsMgr_PresentableObject;
0027756 obsolete methods Prs3d_Text::Draw();
0024393 obsolete enum Graphic3d_ZLayerSetting;
0025180 obsolete method Graphic3d_Structure::Transform().

Removed functionality deprecated since OCCT 7.2.0:
0028832 obsolete class MMgt_TShared;
0026937 obsolete property Standard_Failure::Caught();
0028799 obsolete types defined within Quantity package;
0028441 obsolete nested enum Image_PixMap::ImgFormat;
0025695 obsolete method PrsMgr_PresentationManager::Unhighlight();
0028205 obsolete class MeshVS_ColorHasher;
0027958 obsolete methods from Prs3d_DatumAspect class;
0025695 obsolete class Graphic3d_HighlightStyle;
0027954 obsolete BRepOffsetAPI_MakeOffsetShape,BRepOffsetAPI_MakeThickSolid constructors.

3 years ago0032057: Coding Rules - eliminate CLang warning -Wunused-parameter when targeting iOS
kgv [Thu, 14 Jan 2021 11:09:38 +0000 (14:09 +0300)]
0032057: Coding Rules - eliminate CLang warning -Wunused-parameter when targeting iOS

Cocoa_Window::Cocoa_Window()/OpenGl_Context::SetSwapInterval() have been corrected to suppress warning.

3 years ago0032055: Draw Harness, ViewerTest - add more vmanipulator position adjusting options
kgv [Wed, 13 Jan 2021 18:22:00 +0000 (21:22 +0300)]
0032055: Draw Harness, ViewerTest - add more vmanipulator position adjusting options

Draw::ParseOnOffIterator() - added auxiliary wrapper over Draw::ParseOnOff() for more compact syntax.
strncasecmp() definition for msvc compilers has been moved to Standard_CString for consistency with strcasecmp().
vmanipulator command has been refactored to use more straightforward parser.

vmanipulator now accepts "-adjustPosition {0|center|location|shapeLocation}" options
adjusting position to object's AABB center (existed before), object's local transformation or TopoDS_Shape location.

3 years ago0025055: Modeling Algorithms - Incorrect shape copying in BRepBuilderAPI_Copy
akaftasev [Mon, 11 Jan 2021 13:58:51 +0000 (16:58 +0300)]
0025055: Modeling Algorithms - Incorrect shape copying in BRepBuilderAPI_Copy

Correct test case: exclude "fixshape" calls

3 years ago0032050: Configuration - define fallback Android API version within auxiliary batch...
kgv [Mon, 11 Jan 2021 17:28:35 +0000 (20:28 +0300)]
0032050: Configuration - define fallback Android API version within auxiliary batch files

Script now defines a minimal Android API version when %anNdkApiLevel% is set to empty value
as 16 for 32-bit targets and 21 for 64-bit targets.
Added clearing of destination folders.
Added better handling of errors.

3 years ago0032048: Configuration - Extend batch files to build OCCT with Emscripten
kgv [Mon, 11 Jan 2021 14:37:46 +0000 (17:37 +0300)]
0032048: Configuration - Extend batch files to build OCCT with Emscripten

Added option USE_RAPIDJSON.
Added option toPack creating a .7z archive.
Added option toBuildSample building WebGL sample.
Improved aborting on error.

3 years ago0032045: Visualization, TKOpenGl - move light source functions from OpenGl_ShaderMana...
kgv [Sat, 9 Jan 2021 22:43:03 +0000 (01:43 +0300)]
0032045: Visualization, TKOpenGl - move light source functions from OpenGl_ShaderManager.cxx to Shaders

3 years ago0032039: Visualization, TKOpenGl - implement simple shadow mapping for a direct light...
kgv [Mon, 4 Jan 2021 09:17:44 +0000 (12:17 +0300)]
0032039: Visualization, TKOpenGl - implement simple shadow mapping for a direct light source

Graphic3d_CLight::ToCastShadows() - added new property defining if light should cast shadows (ignored by Ray-Tracing).

OpenGl_ShaderManager::stdComputeLighting() now implements shadow mapping for directional lights.
OpenGl_ShaderManager::prepareGeomMainSrc() now handles copying of arrays.
OpenGl_Context::ShadowMapTexUnit() - added property defining an offset for shadow map texture units.
OpenGl_ShadowMap - added new class storing shadow map FBO with parameters.
OpenGl_View::prepareFrameBuffers() - added resizing of shadow map FBOs.
OpenGl_View::Redraw() - added section redrawing scene into shadow map FBOs via OpenGl_View::renderShadowMap() method.

vrenderparams - added new parameters -shadowMapResolution and -shadowMapBias.

3 years ago0032042: Visualization, TKOpenGl - pre-multiply headlight flag into light source...
kgv [Thu, 7 Jan 2021 21:48:29 +0000 (00:48 +0300)]
0032042: Visualization, TKOpenGl - pre-multiply headlight flag into light source position

OpenGl_ShaderManager::pushLightSourceState() now pre-multiplies headlight transformation.
Built-in shading GLSL programs have been updated to remove special handling if headlight flag;
also removed redundant pre-normalization of light source direction
(already normalized implicitly by Graphic3d_CLight interface).

Graphic3d_CLight::SetHeadlight() now raises exception in case of ambient light type.
OpenGl_ShaderManager::SetLastView() - removed unused property.

3 years ago0032044: Foundation Classes - NCollection_Array2::Resize() does not allocate pointer...
kgv [Sat, 9 Jan 2021 21:04:32 +0000 (00:04 +0300)]
0032044: Foundation Classes - NCollection_Array2::Resize() does not allocate pointer array

NCollection_Array2::Resize() has been fixed to set myDeletable before calling Allocate().

3 years ago0032036: Visualization, TKOpenGl - broken Cubemap background on GeForce 320M
kgv [Sun, 3 Jan 2021 00:05:32 +0000 (03:05 +0300)]
0032036: Visualization, TKOpenGl - broken Cubemap background on GeForce 320M

Enable GL_DEPTH_CLAMP while rendering skybox to workaround unexpected clamping issue on some GPUs.

3 years ago0032028: Coding Rules, StepFile - eliminate CLang warning -Wmisleading-indentation
dpasukhi [Wed, 30 Dec 2020 09:20:22 +0000 (12:20 +0300)]
0032028: Coding Rules, StepFile - eliminate CLang warning -Wmisleading-indentation

Regenerated the StepFile/lex.step.cxx using the latest version of WinFlexBison
- Fixed [-Wmisleading-indentation] warning
- Removed empty lines

3 years ago0031939: Coding - correction of spelling errors in comments [part 6]
luz paz [Mon, 11 Jan 2021 09:29:28 +0000 (12:29 +0300)]
0031939: Coding - correction of spelling errors in comments [part 6]

Fix various typos

Fixed via `codespell v2.1.dev

3 years ago0032041: Modeling Data - Access violation ExchangeUV in Geom_BezierSurface
kgv [Thu, 7 Jan 2021 20:10:27 +0000 (23:10 +0300)]
0032041: Modeling Data - Access violation ExchangeUV in Geom_BezierSurface

Added missing NULL-checks to Geom_BezierSurface::ExchangeUV() and Geom_BSplineSurface::ExchangeUV().

3 years ago0032040: Visualization, OpenGl_View - merge OpenGl_View_Redraw.cxx into OpenGl_View.cxx
kgv [Mon, 4 Jan 2021 09:13:38 +0000 (12:13 +0300)]
0032040: Visualization, OpenGl_View - merge OpenGl_View_Redraw.cxx into OpenGl_View.cxx

3 years ago0032038: Visualization, OpenGl_View - move out framebuffer initialization from :...
kgv [Mon, 4 Jan 2021 00:26:51 +0000 (03:26 +0300)]
0032038: Visualization, OpenGl_View - move out framebuffer initialization from ::Redraw() to ::prepareFrameBuffers()

3 years ago0032037: Visualization - move V3d_View::FitMinMax() to Graphic3d_Camera::FitMinMax()
kgv [Mon, 4 Jan 2021 08:53:24 +0000 (11:53 +0300)]
0032037: Visualization - move V3d_View::FitMinMax() to Graphic3d_Camera::FitMinMax()

3 years ago0032027: Visualization, Prs3d_Drawer - unable to unset HasOwnFaceBoundaryDraw() property
kgv [Tue, 29 Dec 2020 12:22:50 +0000 (15:22 +0300)]
0032027: Visualization, Prs3d_Drawer - unable to unset HasOwnFaceBoundaryDraw() property

Added missing Unset methods to Prs3d_Drawer properties.

3 years ago0029750: Samples - function arrows are not updated by moving a node in FuncDemo qt... IR-2020-12-25
vro [Thu, 17 Dec 2020 10:17:46 +0000 (13:17 +0300)]
0029750: Samples - function arrows are not updated by moving a node in FuncDemo qt sample

The visual links between functions are recovered.
The demo is synchronized with a corresponding demo from Qt (qt486-vc10-32\examples\graphicsview\elasticnodes). It may be successfully compiled by any further versions of Qt including 5.10.1
Also, because Open CASCADE (and OCAF in particular) is improved for usage in multi-threading mode, usage of mutexes is added in this sample (for access to the sharing TNaming_UsedShapes attribute, for example).

3 years ago0032009: Coding Rules, TKQADraw - suppress msvc10 compilation warning C4748
kgv [Sat, 19 Dec 2020 13:00:24 +0000 (16:00 +0300)]
0032009: Coding Rules, TKQADraw - suppress msvc10 compilation warning C4748

Added a workaround for msvc10 misbehavior.

3 years ago0032013: Samples - iOS sample compilation errors
kgv [Mon, 21 Dec 2020 14:14:49 +0000 (17:14 +0300)]
0032013: Samples - iOS sample compilation errors

Added missing includes.
Fixed usage of obsolete Standard_Failure interface.
Fixed file headers.

3 years ago0032011: Configuration - add batch files to build OCCT for macOS and iOS targets
kgv [Sun, 20 Dec 2020 16:52:40 +0000 (19:52 +0300)]
0032011: Configuration - add batch files to build OCCT for macOS and iOS targets

Added script adm/scripts/macos_build.sh and template macos_custom.bat.template
intended for automating building routines targeting macOS platform.

Added script adm/scripts/ios_build.sh and template ios_custom.bat.template
intended for automating building routines targeting iOS platform.

3 years ago0031999: Tests - request Core Profile on macOS for Ray-Tracing tests
kgv [Tue, 15 Dec 2020 19:15:33 +0000 (22:15 +0300)]
0031999: Tests - request Core Profile on macOS for Ray-Tracing tests

3 years ago0032015: Visualization - Select3D_SensitiveTriangulation::myDetectedIdx is inaccessible
kgv [Tue, 22 Dec 2020 13:12:57 +0000 (16:12 +0300)]
0032015: Visualization - Select3D_SensitiveTriangulation::myDetectedIdx is inaccessible

Added Select3D_SensitiveTriangulation::LastDetectedTriangle() property.

3 years ago0031939: Coding - correction of spelling errors in comments [part 5]
luz paz [Mon, 21 Dec 2020 08:48:18 +0000 (11:48 +0300)]
0031939: Coding - correction of spelling errors in comments [part 5]

Fix various typos

Fixed via `codespell v2.1.dev

3 years ago0029723: Modeling Data - Get rid of second writing format (additional save of UV...
asuraven [Tue, 15 Dec 2020 09:31:52 +0000 (12:31 +0300)]
0029723: Modeling Data - Get rid of second writing format (additional save of UV points)

Default BinTools_ShapeSet format version has been changed from 3 to 1.
BinMNaming_NamedShapeDriver (Bin OCAF) now writes shapes in 1st version of Binary format instead of 3rd.
XmlMNaming_NamedShapeDriver (Xml OCAF) now writes shapes in 1st version of ASCII  format instead of 2nd.

writebrep now by default writes into 1st binary format version instead of 3rd.

3 years ago0031756: Data Exchange - broken parsing of STEP entity in case of missing last parameter
dpasukhi [Fri, 27 Nov 2020 19:32:18 +0000 (22:32 +0300)]
0031756: Data Exchange - broken parsing of STEP entity in case of missing last parameter

- Parser is corrected to handle case of missing arguments properly (report error without corruption of the next entity)
- Added counter of entity arguments for appropriate error messages
- Plain C tools and data structures (recfile.*, stepfile.*) are converted to C++ class (StepFile_ReadData) to avoid use of static variables, so that reader can be safely used in a multi-threaded environment

3 years ago0032004: Foundation Classes, UnitsAPI - misprint in "ACCOUSTIC INTENSITY" unit name
luz paz [Thu, 10 Dec 2020 08:40:53 +0000 (11:40 +0300)]
0032004: Foundation Classes, UnitsAPI - misprint in "ACCOUSTIC INTENSITY" unit name

Found using `codespell 2.1.dev0`

3 years ago0031226: Foundation Classes - TCollection_AsciiString::IsRealValue() returns true...
mkrylova [Mon, 14 Dec 2020 12:18:43 +0000 (15:18 +0300)]
0031226: Foundation Classes - TCollection_AsciiString::IsRealValue() returns true if a string contains a non-real value

- Added comment to the method
- Added Boolean argument indicating the need for a strict
- Extended OCC11758 command in QABugs_19.cxx to verify IsRealValue()
- Updated existing places of IsRealValue() usage in ViewerTest to use new flag

3 years ago0029822: Make TDocStd_Document extensible
vro [Thu, 17 Dec 2020 11:34:47 +0000 (14:34 +0300)]
0029822: Make TDocStd_Document extensible

Two virtual methods NewDocument() and InitDocument() are moved from TDocStd_Application to its parent class CDF_Application. In TDocStd_Application these methods remain redefined. These little changes allow creation of a new document only in one virtual method NewDocument(). The methods CreateDocument() in all retrieval drivers are deleted.

Modified files:
- CDF_Application.hxx and cxx: two virtual methods NewDocument() and InitDocument() are moved from TDocStd_Application. The input parameter TDocStd_Document is changed to parent class CDM_Document.
- TDocStd_Application.hxx and cxx: redefines new virtual methods NewDocument() and InitDocument() of the parent class CDF_Application.
- BinLDrivers_DocumentRetrievalDriver.hxx and cxx, StdLDrivers_DocumentRetrievalDriver.hxx and cxx, XmlLDrivers_DocumentRetrievalDriver.hxx and cxx, PCDM_Reader.hxx: a virtual method CreateDocument() is deleted.
- TObj_Application.cxx, XCAFApp_Application.hxx and cxx: down-casting to a descendant class TDocStd_Document is applied.

Documentation:
- upgrade.md is modified.

3 years ago0031945: Foundation Classes - unique names of alerts of message report in DumpJson IR-2020-12-18
nds [Fri, 18 Dec 2020 10:09:08 +0000 (13:09 +0300)]
0031945: Foundation Classes - unique names of alerts of message report in DumpJson

- add OCCT_DUMP_FIELD_VALUE_NUMERICAL_INC and OCCT_DUMP_FIELD_VALUES_DUMPED_INC - to increment key Value;
- add OCCT_DUMP_STREAM_VALUE_DUMPED - to give stream as a parameter of the DumpJson;
- correct Message_Report, Message_CompositeAlerts to increment keys;
- correct Message_AttributeMeter to have in result start and stop values united in value block: [start stop]. It's better for parsing;
- correct result of Message::MetricToString output for updated in 29451 Message_MetricType enum;
- correct Standard_Dump::AddValuesSeparator to avoid adding ',' in additional case;
- correct Standard_Dump::FormatJson to add opening/closing brace for the whole result (for valid parsing);
- correct Standard_Dump::FormatJson to ignore '\n' in value.

3 years ago0032001: Visualization - moving dump of selection owner from sensitive to selection...
nds [Wed, 16 Dec 2020 09:19:17 +0000 (12:19 +0300)]
0032001: Visualization - moving dump of selection owner from sensitive to selection manager

3 years ago0031998: Tests - unexpected file artifact at the root of repository
asuraven [Wed, 16 Dec 2020 14:28:36 +0000 (17:28 +0300)]
0031998: Tests - unexpected file artifact at the root of repository

Saving path for .obj file changed

3 years ago0031350: Foundation Classes - Dump improvement for OCAF classes
nds [Wed, 16 Dec 2020 09:08:49 +0000 (12:08 +0300)]
0031350: Foundation Classes - Dump improvement for OCAF classes

- do not dump document in CDM_MetaData, just pointer text;
- move ID dump in to TDF_Attribute;
- extend TDF_Attribute with other important states(obtained by methods);
- extend TDocStd_Document  with other important states;
- avoid dumping of shapes in TNaming_UsedShapes (it takes much time);
- extend XCAFDoc, XCAFDimTolObjects dump to json;
- correct XCAFDoc_ColorTool, XCAFDoc_MaterialTool, XCAFDoc_LayerTool to dump only connected to the object information;
- correct XCAFDoc_Material to dump name and density value only if it exists;
- add check on correct direction in gp_Ax3.

3 years ago0032000: Foundation Classes - collect OSD_Timer time in message report
nds [Wed, 16 Dec 2020 09:29:06 +0000 (12:29 +0300)]
0032000: Foundation Classes - collect OSD_Timer time in message report

Added Message_MetricType_WallClock metric type handled by Message_AttributeMeter.
Added public OSD_Timer::GetWallClockTime() method.

3 years ago0031983: Samples - CSharp cannot be compiled "atomic<> is not supported by C++/CLI"
mpv [Wed, 16 Dec 2020 11:49:13 +0000 (14:49 +0300)]
0031983: Samples - CSharp cannot be compiled "atomic<> is not supported by C++/CLI"

Removed includes-dependency of the CSharp sample from TDF_Label.hxx

3 years ago0031995: Modeling Data - Bounding box wrong for face
ifv [Wed, 9 Dec 2020 14:28:37 +0000 (17:28 +0300)]
0031995: Modeling Data - Bounding box wrong for face

BndLib/BndLib_AddSurface.cxx : algorithm of building bounding box for BSpline surfaces is improved

Test cases are modified according to current state of algorithm
Test case bug31995 added

3 years ago0031944: Foundation Classes, Message_Report - add missing mutex locks for message...
nds [Sat, 31 Oct 2020 19:58:22 +0000 (22:58 +0300)]
0031944: Foundation Classes, Message_Report - add missing mutex locks for message level

3 years ago0031939: Coding - correction of spelling errors in comments [part 4]
luz paz [Wed, 16 Dec 2020 08:58:16 +0000 (11:58 +0300)]
0031939: Coding - correction of spelling errors in comments [part 4]

Fix various typos

Fixed via `codespell v2.1.dev

3 years ago0030762: Foundation Classes - include backtrace within OSD_SIGSEGV
kgv [Mon, 3 Jun 2019 05:06:24 +0000 (08:06 +0300)]
0030762: Foundation Classes - include backtrace within OSD_SIGSEGV

Standard_Failure now holds an optional stack trace dump.
Added function Standard::StackTrace() dumping backtrace to the string.
SegvHandler within OSD_signal now appends backtrace to the message
if OSD::SignalStackTraceLength() is set to non-zero value
or environment variable "CSF_DEBUG_MODE" is set for debugging.

Added auxiliary macros Standard_NOINLINE disallowing function inlining.

Command "dsetsignal" has been extended by -strackTraceLength argument
for defining stack trace length within signals redirected to C++ exceptions.
Added "ddebugtraces" command for debugging purposes (adding stack traces to all exceptions).

3 years ago0031946: Modeling Data - replace version numbers with enumerations in TopTools and...
asuraven [Tue, 3 Nov 2020 14:22:14 +0000 (17:22 +0300)]
0031946: Modeling Data - replace version numbers with enumerations in TopTools and BinTools

Added enumerations BinTools_FormatVersion & TopTools_FormatVersion for more clear version tracking in the code.
Added new BinTools::Write() & BRepTools::Write() overloaded functions with version & isWithTriangles parameters.

Added new "readbrep"/"writebrep" DRAW commands handling reading and writing of both Binary and ASCII .brep formats
and providing arguments to setup writing of triangulation data and of format version.
"binrestore" is made an alias to new command "readbrep".
"binsave" now is an alias to new "writebrep" saving into binary format by default ("writebrep" writes into ASCII format by default).

3 years ago0031997: Visualization, TKOpenGl - phong shader compilation error with normal texture...
kgv [Mon, 14 Dec 2020 21:37:49 +0000 (00:37 +0300)]
0031997: Visualization, TKOpenGl - phong shader compilation error with normal texture map enabled

OpenGl_ShaderManager::defaultGlslVersion() now defines GLSL 120 for normal map texture.

3 years ago0031994: Draw Harness - dversion prints "Architecture: unrecognized" on ARM host
kgv [Sun, 13 Dec 2020 19:56:45 +0000 (22:56 +0300)]
0031994: Draw Harness - dversion prints "Architecture: unrecognized" on ARM host

Added handling of __aarch64__ macros.

3 years ago0031996: Visualization - PhongShading.fs compilation error on OpenGL drivers for...
kgv [Mon, 14 Dec 2020 19:07:24 +0000 (22:07 +0300)]
0031996: Visualization - PhongShading.fs compilation error on OpenGL drivers for AMD Radeon

Fixed occLight_IsHeadlight() misuse in sample GLSL program.

3 years ago0031703: Data Exchange, RWGltf_CafWriter - add option putting textures inside GLB...
mkrylova [Fri, 6 Nov 2020 08:33:58 +0000 (11:33 +0300)]
0031703: Data Exchange, RWGltf_CafWriter - add option putting textures inside GLB file as alternative to external references

RWGltf_CafWriter::ToEmbedTexturesInGlb() - added option embedding textures
into GLB file enabled by default.
Fixed uninitialized class field RWGltf_CafWriter::myIsForcedUVExport.

Image_Texture::MimeType() - added method returning MIME type based on image file format.
Image_Texture::WriteImage() - added method writing image into stream.

3 years ago0029441: Modeling Algorithms - Incorrect intersection curves between faces
ifv [Tue, 24 Nov 2020 11:17:03 +0000 (14:17 +0300)]
0029441: Modeling Algorithms - Incorrect intersection curves between faces

ApproxInt/ApproxInt_SvSurfaces.hxx : adding field myUseSolver in order to manage calculations of characteristics of intersection points.
ApproxInt/ApproxInt_MultiLine.gxx : implementation of using myUseSolver for treatment points of MultiLine.
ApproxInt/ApproxInt_ImpPrmSvSurfaces.gxx : implementation of using myUseSolver for case intersection of implicit and parametric surfaces.

Test cases added

3 years ago0031705: Visualization - move out construction of predefined markers from OpenGl_Aspe...
mkrylova [Fri, 20 Nov 2020 12:10:23 +0000 (15:10 +0300)]
0031705: Visualization - move out construction of predefined markers from OpenGl_AspectsSprite to Graphic3d_MarkerImage

Built-in markers definition has been moved from OpenGl_AspectsSprite to Graphic3d_MarkerImage and generalized.
RGBA8 pixel format is now preferred over BGRA8.
Fallback OpenGL 1.1 rendering code now supports drawing of colored markers using glDrawPixels().

Added function Image_PixMap::FlipY() flipping image rows.

3 years ago0029901: Support save to and restore from Stream interface in TObj package
vro [Fri, 11 Dec 2020 15:13:25 +0000 (18:13 +0300)]
0029901: Support save to and restore from Stream interface in TObj package

Storage and retrieval of a document by means of a stream is distributed to TObj model.
Modified files:
-TObj_Model.hxx, cxx - the virtual methods Load() and SaveAs() obtained a stream as an argument instead of a file name.
-TObj_Application.hxx, cxx - same extension: the virtual methods LoadDocument() and SaveDocument() use a stream to open and save a document.
-TObjDRAW.cxx - draw-commands TObjSave and TObjLoad are extended for -stream parameter, which allows usage of a file input or output stream instead of a file name.

A new test:
- bugs caf bug29901 - it creates a simple TObj-model, saves it on disk using a file stream, loads it by means of a file stream and checks the content.

Modified test:
- bugs caf bug28425 - just improved to proper manipulate a test-file on disk.

3 years ago0027426: FSD_BinaryFile: Assignment to a temporary handle variable
vro [Mon, 14 Dec 2020 10:18:27 +0000 (13:18 +0300)]
0027426: FSD_BinaryFile: Assignment to a temporary handle variable

A reference is added to the returning object of the method Storage_InternalData::ReadArray().
Modified files:
- Storage_InternalData.hxx

OCCT: CR27426
Products: nothing

3 years ago0031597: Visualization, TKOpenGl - allow disabling Alpha component writes within...
kgv [Sat, 12 Dec 2020 09:24:50 +0000 (12:24 +0300)]
0031597: Visualization, TKOpenGl - allow disabling Alpha component writes within OpenGl_Context::ColorMask()

Added OpenGl_Caps::buffersOpaqueAlpha option allowing to disable writes
into alpha component of color buffer and keep it opaque.
Added OpenGl_Context::SetColorMaskRGBA() method overriding each color component deliberately.

New option is set within WebGL sample.

3 years ago0031000: Data Exchange - STEP file cannot be opened due to lower-case special token...
dpasukhi [Tue, 24 Nov 2020 12:52:39 +0000 (15:52 +0300)]
0031000: Data Exchange - STEP file cannot be opened due to lower-case special token End-ISO-10303-21

Update flex lexical scanner (step.lex lex.step.cxx) to parse special tokens in a case insensitive manner

3 years ago0031939: Coding - correction of spelling errors in comments [part 3] IR-2020-12-11
luz paz [Thu, 10 Dec 2020 08:40:53 +0000 (11:40 +0300)]
0031939: Coding - correction of spelling errors in comments [part 3]

Fix various typos

Fixed via `codespell v2.1.dev0`

3 years ago0031985: Documentation - description of TDocStd_FormatVersion is excessive
vro [Wed, 9 Dec 2020 09:08:40 +0000 (12:08 +0300)]
0031985: Documentation - description of TDocStd_FormatVersion is excessive

Description of TDocStd_FormatVersion enum is simplified and formatting for good rendering in HTML

3 years ago0028966: Coding Rules - remove Adaptor2d_HCurve2d, Adaptor3d_HCurve and Adaptor3d_HSu...
kgv [Thu, 3 Dec 2020 14:36:19 +0000 (17:36 +0300)]
0028966: Coding Rules - remove Adaptor2d_HCurve2d, Adaptor3d_HCurve and Adaptor3d_HSurface classes

Adaptor2d_Curve2d, Adaptor3d_Curve and Adaptor3d_Surface now inherit Standard_Transient.
Interfaces Adaptor2d_HCurve2d, Adaptor3d_HCurve, Adaptor3d_HSurface and their subclasses
are now aliases to Adaptor2d_Curve2d, Adaptor3d_Curve and Adaptor3d_Surface.
Removed numerous unsafe reinterpret casts.

Generic classes Adaptor3d_GenHCurve, Adaptor3d_GenHSurface, Adaptor2d_GenHCurve2d have been removed.
Several redundant .lxx files have been merged into .hxx.

Removed obsolete adaptor classes with H suffix.

3 years ago0031987: Visualization - Slow rectangular selection on models with big number of...
age [Tue, 8 Dec 2020 10:32:07 +0000 (13:32 +0300)]
0031987: Visualization - Slow rectangular selection on models with big number of sensitives

SelectMgr_SensitiveEntitySet now stores a map of registered owners with a counter of registered entities.
SelectMgr_ViewerSelector::traverseObject() now reads the number of sensitive entities for specific owner
from SelectMgr_SensitiveEntitySet instead of re-computing it every time.

3 years ago0031986: Visualization - Regression in StdPrs_WFDeflectionRestrictedFace::Add()
kgv [Mon, 7 Dec 2020 10:39:07 +0000 (13:39 +0300)]
0031986: Visualization - Regression in StdPrs_WFDeflectionRestrictedFace::Add()

Fixed misplaced closing bracket after #0030146 fix.

3 years ago0031977: Modeling Algorithms - useless static variable in BRepFill_OffsetWire::Init...
abv [Sun, 6 Dec 2020 16:20:47 +0000 (19:20 +0300)]
0031977: Modeling Algorithms - useless static variable in BRepFill_OffsetWire::Init() preventing its parallel usage

Removed useless "static" before local variable and some commented code

3 years ago0031923: DXF import - add support of code page DOS850
dpasukhi [Mon, 23 Nov 2020 12:04:06 +0000 (15:04 +0300)]
0031923: DXF import - add support of code page DOS850

- Add support for converting from CP850 to UTF-8 and UTF-8 to CP850;
- Add support for reading STEP file encoding by cp850 code page.

3 years ago0031402: Modeling Data - Geom_BSplineSurface::Segment() produces wrong result IR-2020-12-04
aavtamon [Wed, 2 Dec 2020 07:18:15 +0000 (10:18 +0300)]
0031402: Modeling Data - Geom_BSplineSurface::Segment() produces wrong result

In the method Segment() index1 needs to be checked as well as index2 in Geom_BSplineSurface and Geom2d_BSplineCurve
(Geom_BSplineCurve already has this check).
New test cases bug31402_1, bug31402_2 has been added.

The unnecessary code block in Geom2d_BSplineCurve has been deleted,
and checking index2 block has beed extended.

3 years ago0031976: Foundation Classes, BVH_IndexedBoxSet - access members of base class via...
emv [Fri, 4 Dec 2020 05:52:23 +0000 (08:52 +0300)]
0031976: Foundation Classes, BVH_IndexedBoxSet - access members of base class via this pointer

3 years ago0030737: Visualization - implementing new selection schemes in context
nds [Fri, 18 Sep 2020 18:36:05 +0000 (21:36 +0300)]
0030737: Visualization - implementing new selection schemes in context

AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context
AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter.
Upgrade: Select() -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_Replace), ShiftSelect -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_XOR)

3 years ago0030075: [REGRESSION] Shape Healing - Regression after implementation of fix for...
skl [Wed, 25 Nov 2020 10:55:12 +0000 (13:55 +0300)]
0030075: [REGRESSION] Shape Healing - Regression after implementation of fix for bug 28694.

Detect situation when U or V parameter has a big jump between two neighbour 2D points (diffX > 0.95*(Umax-Umin) or diffY > 0.95*(Vmax-Vmin)).
Additionaly surface must BSpline and distance between corresponding 3D points must be less than given precision.
For set of 2D points contains such jump method InsertAdditionalPointOrAdjust() is performed.

3 years ago0031972: Application Framework, FSD_CmpFile - exception on reading file in old persis...
kgv [Wed, 2 Dec 2020 11:28:38 +0000 (14:28 +0300)]
0031972: Application Framework, FSD_CmpFile - exception on reading file in old persistence format with Windows EOL

FSD_CmpFile::ReadLine()/FSD_CmpFile::ReadString() now use TCollection_AsciiString::Trunc()
instead of ill-formed character assignment to '\0'.

3 years ago0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
vro [Wed, 2 Dec 2020 06:38:28 +0000 (09:38 +0300)]
0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()

1. Unification of usage of a storage version of an OCAF document by XML and binary file formats.
2. A new format version enumeration in TDocStd package: TDocStd_FormatVersion.
3. Removal of unnecessary methods for storage version like XmlLDrivers::StorageVersion() and BinLDrivers::StorageVersion().
4. Support of old documents (storage version <= 9) in binary file format (came from ESA).

New files:
- TDocStd_FormatVersion.hxx: a new storage format version enumeration for an OCAF document.

Modified files:
- CDM_Document.hxx and cxx: removal of storage format version property (moved to TDocStd_Document).
- TDocStd_Document.hxx and cxx: a storage format version property (moved from CDM_Document).
- BinLDrivers_DocumentSection.hxx and cxx: support of old document storage version in binary file format.
- BinDrivers_DocumentStorageDriver.hxx and cxx,
- BinLDrivers_DocumentStorageDriver.hxx and cxx,
- BinLDrivers_DocumentRetrievalDriver.cxx,
- XmlLDrivers_DocumentRetrievalDriver.cxx,
- XmlLDrivers_DocumentStorageDriver.cxx: usage of document storage version from TDocStd_Document in storage and retrieval drivers.
- DDocStd_ApplicationCommands.cxx: draw-command name StorageVersion is replaced by StorageFormatVersion (to be the same everywhere). A corresponding script is corrected too.

New test:
- bugs caf bug29217: a test case for old document storage version in binary file format. It checks several attributes saved by the version TDocStd_FormatVersion_VERSION_7 (old) and the latest version.

Modified test:
- caf presentation M1: the test used a file in the current folder, not in {imagedir} like all other tests.
- bugs caf bug28691

Documentation:
- dox/upgrade/upgrade.md

// All remarks are fixed.

3 years ago0031965: Visualization - AIS_InteractiveContext::HilightWithColor() ignores passed...
kgv [Mon, 30 Nov 2020 08:47:30 +0000 (11:47 +0300)]
0031965: Visualization - AIS_InteractiveContext::HilightWithColor() ignores passed highlight style

AIS_InteractiveContext::highlightGlobal() now passed through Style argument to highlightOwners().
Added OCC31965 command for testing AIS_InteractiveContext::Hilight() behavior.

3 years ago0031939: Coding - correction of spelling errors in comments [part 2]
luz paz [Mon, 30 Nov 2020 09:55:48 +0000 (12:55 +0300)]
0031939: Coding - correction of spelling errors in comments [part 2]

Fix various typos

Fixed via `codespell v2.0.dev`

3 years ago0029564: STEP Import and Export failure IR-2020-11-27
skl [Mon, 2 Nov 2020 16:52:44 +0000 (19:52 +0300)]
0029564: STEP Import and Export failure

In the result of translation one face lying on the spherical surface converted to the two separate faces due to method IsSurfaceUVPeriodic returned false for spherical surface.
Now method IsSurfaceUVPeriodic returns true for spherical surface in order to natural bounds can be added for spherical surface too.
Method ShapeFix_Face::FixOrientation was corrected to avoid reversing inner wire for case when spherical face has only one inner bound without outer bound.
Check that wire has bounding box equal to bounding box of surface was added in the method ShapeFix_Face::FixAddNaturalBound in order to avoid addition of the natural bounds ( test bugs xde bug22535_2 1 for face 2 lying on the torus)

In order to avoid regressions fix for translation "VERTEX_LOOP" entities was added. Natural bounds for "VERTEX_LOOP" lying on the Spherical and BSpline surface is added only if face does not have any other bounds.
In other case natural bounds were added during ShapeFix operation after translation in order take into account mutual position of the all bounds in the UV space of the face.

3 years ago0031958: Tests - testdiff shows empty Total Image difference
kgv [Wed, 25 Nov 2020 12:18:01 +0000 (15:18 +0300)]
0031958: Tests - testdiff shows empty Total Image difference

stat(img1) counter is now incremented in case of total log.

Renamed "Total Image difference" -> "Total IMAGE difference" for consistency with other output.

Regexp inserting links to images now looks for "IMAGE ..." at the start of line
to avoid misdetection on "Total IMAGE difference" line.
_diff_show_positive_ratio() now prints image difference percents
without leading empty space to highlight large deviations in RED.

Image files having no match are now added to statistics as differences.

3 years ago0031940: Foundation Classes - TCollection_ExtendedString::Print() corrupts UNICODE...
kgv [Wed, 18 Nov 2020 11:56:59 +0000 (14:56 +0300)]
0031940: Foundation Classes - TCollection_ExtendedString::Print() corrupts UNICODE strings and does not compile with C++20

TCollection_ExtendedString::Print() now converts string into UTF-8
instead of printing character indexes.

3 years ago0031921: Application Framework - reading OCAF data from several threads is not possible
mpv [Mon, 16 Nov 2020 13:49:23 +0000 (16:49 +0300)]
0031921: Application Framework - reading OCAF data from several threads is not possible

Make myLastFoundChild field of TDF_LabelNode that can be changed during accessing to different sub-labels in different threads as atomic (only for newer versions of compilers which support this "atomic").

Added definition of Standard_ATOMIC macro to the Standard_Macro.hxx

3 years ago0031913: Modeling Algorithms - Invalid result of cut operation
emv [Wed, 25 Nov 2020 05:18:13 +0000 (08:18 +0300)]
0031913: Modeling Algorithms - Invalid result of cut operation

Fixed by 0029711. Integrating test case only.

3 years ago0030703: Modeling Algorithms - Intersector returns overlapping curves
ifv [Thu, 5 Nov 2020 12:28:17 +0000 (15:28 +0300)]
0030703: Modeling Algorithms - Intersector returns overlapping curves

IntPatch/IntPatch_ImpPrmIntersection.cxx - calculation of step depending on resolution of surface

IntWalk_IWalking_6.gxx - calculation of point-line coincidence is improved

Correction of tests according to current results

lowalgos/intss/bug30703 - new test case added

3 years ago0029392: Modeling data - Exception when getting UIso of offset surface of surface...
akaftasev [Thu, 19 Nov 2020 11:42:18 +0000 (14:42 +0300)]
0029392: Modeling data - Exception when getting UIso of offset surface of surface of linear extrusion

Added treatment for Geom_OffsetSurface::UIso() if basisSurface is Geom_SurfaceOfLinearExtrusion

3 years ago0026047: Data Exchange - Lost colors for IGES export
dpasukhi [Wed, 11 Nov 2020 11:23:30 +0000 (14:23 +0300)]
0026047: Data Exchange - Lost colors for IGES export

- Fix problem with write shape with locations ( IGESCAFControl_Writer.cxx )
- Add support for adding sub-shapes (labels) together with sub-shapes without location ( XCAFDoc_ShapeTool.cxx )

3 years ago0028572: Modeling Algorithms - Wrong result of the mkface command IR-2020-11-20
aavtamon [Tue, 27 Oct 2020 13:15:22 +0000 (16:15 +0300)]
0028572: Modeling Algorithms - Wrong result of the mkface command

- Added note to BRepBuilderAPI_MakeFace(const Handle(Geom_Surface)& S,
const TopoDS_Wire& W,
const Standard_Boolean Inside = Standard_True)
in BRepBuilderAPI_MakeFace.hxx;
- Modified subsubsection occt_modalg_3_5_2 in dox/user_guides/modeling_algos/modeling_algos.md

3 years ago0027130: Visualization, Ray tracing - skip structures with transformation persistence...
mzernova [Thu, 9 Jul 2020 08:32:40 +0000 (11:32 +0300)]
0027130: Visualization, Ray tracing - skip structures with transformation persistence flag

Objects with transform persistence are detected as non ray-tracable and redered using the rasterization approach.
The renderFiltered() method moved to the OpenGl_Group class.

v3d/raytrace/bug27130: test case added

3 years ago0031939: Coding - correction of spelling errors in comments
luz paz [Fri, 13 Nov 2020 15:46:02 +0000 (10:46 -0500)]
0031939: Coding - correction of spelling errors in comments

Fix various typos

Fixed via `codespell v2.0.dev`