View Issue Details

IDProjectCategoryView StatusLast Update
0029723Open CASCADEOCCT:Modeling Datapublic2020-12-26 14:52
ReporteremvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.2.0 
Target Version7.6.0Fixed in Version7.6.0 
Summary0029723: Modeling Data - Get rid of second writing format (additional save of UV points)
DescriptionIt is proposed to get rid of second writing format which allows saving UV points of parametric curves of edges on faces.
Reasons:
1. As I understand, the main goal of saving UV points while writing is to avoid their recalculation while reading. Although, the UV points are recalculated anyway.
2. The UV points written into a file are overwritten in the shape with newly calculated values of bounding points of parametric curve while reading.
3. There is no possibility on the high level (BRepTools::Write, BinTools::Write) to force writing in second format. The same goes for draw commands (save, binsave). You must use the classes *BrepTools_ShapeSet* or *BinTools_ShapeSet* directly for that.
4. OCCT tests data base does not contain a single shape written in this format. Only two OCAF documents are present.
Steps To Reproducecorrectness confirmed by existing tests
TagsNo tags attached.
Test case numberbugs/moddata_3/bug29723

Relationships

related to 0031946 closedbugmaster Open CASCADE Modeling Data - replace version numbers with enumerations in TopTools and BinTools 
related to 0031990 closedbugmaster Open CASCADE Coding, Draw Harness - Replace C-like pointers to function in Draw_SaveAndRestore class to virtual function 

Activities

git

2020-12-15 15:14

administrator   ~0097612

Branch CR29723 has been created by asuraven.

SHA-1: 82d475c00b62eca52f91c0af11279d9883164cd5


Detailed log of new commits:

Author: asuraven
Date: Tue Dec 15 12:31:52 2020 +0300

    0029723: Modeling Data - Get rid of second writing format (additional save of UV points)

git

2020-12-16 15:49

administrator   ~0097644

Branch CR29723 has been deleted by asuraven.

SHA-1: 82d475c00b62eca52f91c0af11279d9883164cd5

git

2020-12-16 15:49

administrator   ~0097645

Branch CR29723 has been created by asuraven.

SHA-1: 02146ac80096f1ca477259dc2624460cbf13cfd9


Detailed log of new commits:

Author: asuraven
Date: Tue Dec 15 12:31:52 2020 +0300

    0029723: Modeling Data - Get rid of second writing format (additional save of UV points)
    
    Set TopTools current format version to 1
    Set BinTools current format version to 1
    Use the current version when writing Bin OCAF and XML OCAF
    Reading of TopTools V1 and BinTools V2, V3 is still supported.

Author: asuraven
Date: Tue Nov 3 17:22:14 2020 +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).

Author: vro
Date: Tue Dec 15 10:12:26 2020 +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.
    
    OCCT: CR29822_1
    Products: nothing

Author: kgv
Date: Sun Dec 13 22:56:45 2020 +0300

    0031994: Draw Harness - dversion prints "Architecture: unrecognized" on ARM host
    
    Added handling of __aarch64__ macros.

Author: kgv
Date: Tue Dec 15 00:37:49 2020 +0300

    0031997: Visualization, TKOpenGl - phong shader compilation error with normal texture map enabled
    
    OpenGl_ShaderManager::defaultGlslVersion() now defines GLSL 120 for normal map texture.

Author: kgv
Date: Mon Dec 14 22:07:24 2020 +0300

    0031996: Visualization - PhongShading.fs compilation error on OpenGL drivers for AMD Radeon
    
    Fixed occLight_IsHeadlight() misuse in sample GLSL program.

Author: mkrylova
Date: Fri Nov 6 11:33:58 2020 +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.

Author: ifv
Date: Tue Nov 24 14:17:03 2020 +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

Author: vro
Date: Fri Dec 11 18:13:25 2020 +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.

Author: mkrylova
Date: Fri Nov 20 15:10:23 2020 +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.

Author: kgv
Date: Mon Jun 3 08:06:24 2019 +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.
    
    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).

Author: vro
Date: Mon Dec 14 13:18:27 2020 +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

Author: kgv
Date: Sat Dec 12 12:24:50 2020 +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.

git

2020-12-16 19:18

administrator   ~0097649

Branch CR29723 has been deleted by asuraven.

SHA-1: 02146ac80096f1ca477259dc2624460cbf13cfd9

git

2020-12-16 19:18

administrator   ~0097650

Branch CR29723 has been created by asuraven.

SHA-1: 02146ac80096f1ca477259dc2624460cbf13cfd9


Detailed log of new commits:

Author: asuraven
Date: Tue Dec 15 12:31:52 2020 +0300

    0029723: Modeling Data - Get rid of second writing format (additional save of UV points)
    
    Set TopTools current format version to 1
    Set BinTools current format version to 1
    Use the current version when writing Bin OCAF and XML OCAF
    Reading of TopTools V1 and BinTools V2, V3 is still supported.

Author: asuraven
Date: Tue Nov 3 17:22:14 2020 +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).

Author: vro
Date: Tue Dec 15 10:12:26 2020 +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.
    
    OCCT: CR29822_1
    Products: nothing

Author: kgv
Date: Sun Dec 13 22:56:45 2020 +0300

    0031994: Draw Harness - dversion prints "Architecture: unrecognized" on ARM host
    
    Added handling of __aarch64__ macros.

Author: kgv
Date: Tue Dec 15 00:37:49 2020 +0300

    0031997: Visualization, TKOpenGl - phong shader compilation error with normal texture map enabled
    
    OpenGl_ShaderManager::defaultGlslVersion() now defines GLSL 120 for normal map texture.

Author: kgv
Date: Mon Dec 14 22:07:24 2020 +0300

    0031996: Visualization - PhongShading.fs compilation error on OpenGL drivers for AMD Radeon
    
    Fixed occLight_IsHeadlight() misuse in sample GLSL program.

Author: mkrylova
Date: Fri Nov 6 11:33:58 2020 +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.

Author: ifv
Date: Tue Nov 24 14:17:03 2020 +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

Author: vro
Date: Fri Dec 11 18:13:25 2020 +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.

Author: mkrylova
Date: Fri Nov 20 15:10:23 2020 +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.

Author: kgv
Date: Mon Jun 3 08:06:24 2019 +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.
    
    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).

Author: vro
Date: Mon Dec 14 13:18:27 2020 +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

Author: kgv
Date: Sat Dec 12 12:24:50 2020 +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.

git

2020-12-17 11:07

administrator   ~0097658

Branch CR29723 has been deleted by asuraven.

SHA-1: 02146ac80096f1ca477259dc2624460cbf13cfd9

git

2020-12-17 11:07

administrator   ~0097659

Branch CR29723 has been created by asuraven.

SHA-1: 4f1dbf76d1b46a597dff75e6f9ed9a52e2c52b60


Detailed log of new commits:

Author: asuraven
Date: Tue Dec 15 12:31:52 2020 +0300

    0029723: Modeling Data - Get rid of second writing format (additional save of UV points)
    
    Set TopTools current format version to 1
    Set BinTools current format version to 1
    Use the current version when writing Bin OCAF and XML OCAF
    Reading of TopTools V1 and BinTools V2, V3 is still supported.

Author: asuraven
Date: Tue Nov 3 17:22:14 2020 +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).

Author: vro
Date: Tue Dec 15 10:12:26 2020 +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.
    
    OCCT: CR29822_1
    Products: nothing

Author: kgv
Date: Sun Dec 13 22:56:45 2020 +0300

    0031994: Draw Harness - dversion prints "Architecture: unrecognized" on ARM host
    
    Added handling of __aarch64__ macros.

Author: kgv
Date: Tue Dec 15 00:37:49 2020 +0300

    0031997: Visualization, TKOpenGl - phong shader compilation error with normal texture map enabled
    
    OpenGl_ShaderManager::defaultGlslVersion() now defines GLSL 120 for normal map texture.

Author: kgv
Date: Mon Dec 14 22:07:24 2020 +0300

    0031996: Visualization - PhongShading.fs compilation error on OpenGL drivers for AMD Radeon
    
    Fixed occLight_IsHeadlight() misuse in sample GLSL program.

Author: mkrylova
Date: Fri Nov 6 11:33:58 2020 +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.

Author: ifv
Date: Tue Nov 24 14:17:03 2020 +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

Author: vro
Date: Fri Dec 11 18:13:25 2020 +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.

Author: mkrylova
Date: Fri Nov 20 15:10:23 2020 +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.

Author: kgv
Date: Mon Jun 3 08:06:24 2019 +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.
    
    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).

Author: vro
Date: Mon Dec 14 13:18:27 2020 +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

Author: kgv
Date: Sat Dec 12 12:24:50 2020 +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.

git

2020-12-17 14:53

administrator   ~0097683

Branch CR29723_1 has been created by asuraven.

SHA-1: 21b133af7eba9ecabe98d4439577a0dbb4710c9d


Detailed log of new commits:

Author: asuraven
Date: Tue Dec 15 12:31:52 2020 +0300

    0029723: Modeling Data - Get rid of second writing format (additional save of UV points)
    
    Set TopTools current format version to 1
    Set BinTools current format version to 1
    Use the current version when writing Bin OCAF and XML OCAF
    Reading of TopTools V1 and BinTools V2, V3 is still supported.

Author: asuraven
Date: Tue Nov 3 17:22:14 2020 +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).

asuraven

2020-12-18 14:14

reporter   ~0097707

Tests results:
http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR29723_1-master-ASURAVEN/view/COMPARE/
Test parasolid read bug27349 is now OK:
http://occt-tests/CR29723_1-master-ASURAVEN-Products/Debian80-64/parasolid/read/bug27349.html

kgv

2020-12-18 15:15

developer   ~0097714

--- a/src/XmlMNaming/XmlMNaming_NamedShapeDriver.cxx
+++ b/src/XmlMNaming/XmlMNaming_NamedShapeDriver.cxx
@@ -370,7 +370,7 @@ void XmlMNaming_NamedShapeDriver::WriteShapeSection (XmlObjMgt_Element& theEleme
 
   //  Add text to the "shapes" element
   if (myShapeSet.NbShapes() > 0) {
-    myShapeSet.SetFormatNb(TopTools_FormatVersion_VERSION_2);
+    myShapeSet.SetFormatNb(TopTools_FormatVersion_CURRENT);
...
@@ -143,7 +143,7 @@ BinMNaming_NamedShapeDriver::BinMNaming_NamedShapeDriver
                         (const Handle(Message_Messenger)& theMsgDriver)
 : BinMDF_ADriver (theMsgDriver, STANDARD_TYPE(TNaming_NamedShape)->Name()),
   myShapeSet (Standard_False),
-  myFormatNb (BinTools_FormatVersion_VERSION_3)
+  myFormatNb (BinTools_FormatVersion_CURRENT)

Using TopTools_FormatVersion_CURRENT is an error-prone approach here as it would allow newer (not yet defined) versions of TopTools_FormatVersion/BinTools_FormatVersion persistence to be written into XMLCaf and XBF formats stating older version.
Please change to TopTools_FormatVersion_VERSION_1 and BinTools_FormatVersion_VERSION_1 for now.

-         if (myFormatNb >= BinTools_FormatVersion_VERSION_2)
+         if (myFormatNb == BinTools_FormatVersion_VERSION_2 ||
+        myFormatNb == BinTools_FormatVersion_VERSION_3)

Please correct indentation.

git

2020-12-18 15:45

administrator   ~0097716

Branch CR29723_1 has been deleted by asuraven.

SHA-1: 21b133af7eba9ecabe98d4439577a0dbb4710c9d

git

2020-12-18 15:45

administrator   ~0097717

Branch CR29723_1 has been created by asuraven.

SHA-1: fbda2b4621e531d99b08956b5a4875dd8ba1d0ac


Detailed log of new commits:

Author: asuraven
Date: Tue Dec 15 12:31:52 2020 +0300

    0029723: Modeling Data - Get rid of second writing format (additional save of UV points)
    
    Set TopTools current format version to 1
    Set BinTools current format version to 1
    Use the current version when writing Bin OCAF and XML OCAF
    Reading of TopTools V1 and BinTools V2, V3 is still supported.

asuraven

2020-12-18 15:53

reporter   ~0097718

Remarks fixed in same (CR29723_1) branch.
Tests are rerunning now

kgv

2020-12-18 16:40

developer   ~0097721

    if (aVersion > BinTools_FormatVersion_CURRENT)
    {
      theDI << "Syntax error: unknown format version";
      return 1;
    }

shouldn't new test case writing .brep file with specified version not equal to 1 fail now due to this check?
Please update range checks within "writebrep" command, update command help to specify that version 1 is written by default and check test case added by previous patch that it does checks writing of version 3 of binary format.

git

2020-12-18 19:21

administrator   ~0097727

Branch CR29723_1 has been deleted by asuraven.

SHA-1: fbda2b4621e531d99b08956b5a4875dd8ba1d0ac

git

2020-12-18 19:21

administrator   ~0097728

Branch CR29723_1 has been created by asuraven.

SHA-1: fbda2b4621e531d99b08956b5a4875dd8ba1d0ac


Detailed log of new commits:

Author: asuraven
Date: Tue Dec 15 12:31:52 2020 +0300

    0029723: Modeling Data - Get rid of second writing format (additional save of UV points)
    
    Set TopTools current format version to 1
    Set BinTools current format version to 1
    Use the current version when writing Bin OCAF and XML OCAF
    Reading of TopTools V1 and BinTools V2, V3 is still supported.

asuraven

2020-12-18 19:28

reporter   ~0097729

1. Version's upper limit changed to 3 for binary format
2. Default binary version changed to 1 in writebrep help
3. Test with writebrep/readbrep for all supported format versions added to this issue

git

2020-12-19 16:39

administrator   ~0097808

Branch CR29723_1 has been updated forcibly by kgv.

SHA-1: f5725f45d48114ee50afded275ed1497f217dbb6

kgv

2020-12-20 03:06

developer   ~0097811

Please raise the patch
- OCCT branch: CR29723_1.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR29723_1-master-KGV/

git

2020-12-21 14:27

administrator   ~0097830

Branch CR29723_1 has been deleted by asuraven.

SHA-1: f5725f45d48114ee50afded275ed1497f217dbb6

git

2020-12-21 14:27

administrator   ~0097831

Branch CR29723_1 has been created by asuraven.

SHA-1: e5c7059c02c51432dbc6734186666c1410bd8be5


Detailed log of new commits:

Author: asuraven
Date: Tue Dec 15 12:31:52 2020 +0300

    0029723: Modeling Data - Get rid of second writing format (additional save of UV points)
    
    Set TopTools current format version to 1
    Set BinTools current format version to 1
    Use the current version when writing Bin OCAF and XML OCAF
    Reading of TopTools V1 and BinTools V2, V3 is still supported.

asuraven

2020-12-21 17:28

reporter   ~0097837

Tests rtesults: http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR29723_1-master-ASURAVEN/view/COMPARE/

git

2020-12-21 17:33

administrator   ~0097838

Branch CR29723_1_kgv has been created by kgv.

SHA-1: f5725f45d48114ee50afded275ed1497f217dbb6


Detailed log of new commits:

Author: asuraven
Date: Tue Dec 15 12:31:52 2020 +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.

git

2020-12-21 17:36

administrator   ~0097839

Branch CR29723_1_kgv has been updated by kgv.

SHA-1: 374fbc3021c740f59cc809bf99c931a127791a55


Detailed log of new commits:

Author: kgv
Date: Mon Dec 21 17:37:01 2020 +0300

    # add test case

git

2020-12-21 17:36

administrator   ~0097840

Branch CR29723_2 has been created by kgv.

SHA-1: dc7f739c9c801965651afe102388d69fd4d86fd7


Detailed log of new commits:

Author: asuraven
Date: Tue Dec 15 12:31:52 2020 +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.

kgv

2020-12-21 17:39

developer   ~0097841

Please raise the patch
- OCCT branch: CR29723_2.

(with added new test case)

bugmaster

2020-12-26 12:14

administrator   ~0097911

Combination -
OCCT branch : WEEK-52
master SHA - 41046145c4a15f5cedf5f3c5877952ee00d568b4
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : WEEK-52 SHA - 290e5c74e8fef71947cadf90acb8e43c81ed10a1
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17722.770000000193 / 17710.950000000055 [+0.07%]
Products
Total CPU difference: 12416.490000000109 / 12412.520000000126 [+0.03%]
Windows-64-VC14:
OCCT
Total CPU difference: 19321.5625 / 19274.6875 [+0.24%]
Products
Total CPU difference: 13844.421875 / 13853.046875 [-0.06%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2020-12-26 14:52

administrator   ~0097920

Branch CR29723 has been deleted by inv.

SHA-1: 4f1dbf76d1b46a597dff75e6f9ed9a52e2c52b60

git

2020-12-26 14:52

administrator   ~0097921

Branch CR29723_1 has been deleted by inv.

SHA-1: e5c7059c02c51432dbc6734186666c1410bd8be5

git

2020-12-26 14:52

administrator   ~0097922

Branch CR29723_1_kgv has been deleted by inv.

SHA-1: 374fbc3021c740f59cc809bf99c931a127791a55

git

2020-12-26 14:52

administrator   ~0097923

Branch CR29723_2 has been deleted by inv.

SHA-1: dc7f739c9c801965651afe102388d69fd4d86fd7

Related Changesets

occt: master 3b1129a5

2020-12-15 09:31:52

asuraven


Committer: bugmaster Details Diff
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.
Affected Issues
0029723
mod - src/BinMNaming/BinMNaming_NamedShapeDriver.cxx Diff File
mod - src/BinTools/BinTools_FormatVersion.hxx Diff File
mod - src/BinTools/BinTools_ShapeSet.cxx Diff File
mod - src/BRepTools/BRepTools_ShapeSet.cxx Diff File
mod - src/DBRep/DBRep.cxx Diff File
mod - src/TopTools/TopTools_FormatVersion.hxx Diff File
mod - src/TopTools/TopTools_ShapeSet.cxx Diff File
mod - src/XmlMNaming/XmlMNaming_NamedShapeDriver.cxx Diff File
add - tests/bugs/moddata_3/bug29723 Diff File

Issue History

Date Modified Username Field Change
2018-04-24 16:14 emv New Issue
2018-04-24 16:14 emv Assigned To => msv
2019-08-12 17:45 msv Target Version 7.4.0 => 7.5.0
2020-09-14 22:53 msv Target Version 7.5.0 => 7.6.0
2020-11-25 10:36 emv Relationship added related to 0031946
2020-11-25 11:31 bugmaster Project Internal => Open CASCADE
2020-12-07 16:26 asuraven Assigned To msv => asuraven
2020-12-09 16:07 asuraven Relationship added related to 0031990
2020-12-15 15:14 git Note Added: 0097612
2020-12-16 15:49 git Note Added: 0097644
2020-12-16 15:49 git Note Added: 0097645
2020-12-16 19:18 git Note Added: 0097649
2020-12-16 19:18 git Note Added: 0097650
2020-12-17 11:07 git Note Added: 0097658
2020-12-17 11:07 git Note Added: 0097659
2020-12-17 14:53 git Note Added: 0097683
2020-12-18 14:14 asuraven Note Added: 0097707
2020-12-18 14:18 asuraven Assigned To asuraven => kgv
2020-12-18 14:18 asuraven Status new => resolved
2020-12-18 14:18 asuraven Steps to Reproduce Updated
2020-12-18 15:15 kgv Note Added: 0097714
2020-12-18 15:15 kgv Assigned To kgv => asuraven
2020-12-18 15:15 kgv Status resolved => assigned
2020-12-18 15:45 git Note Added: 0097716
2020-12-18 15:45 git Note Added: 0097717
2020-12-18 15:53 asuraven Note Added: 0097718
2020-12-18 15:53 asuraven Assigned To asuraven => kgv
2020-12-18 15:53 asuraven Status assigned => resolved
2020-12-18 16:40 kgv Note Added: 0097721
2020-12-18 16:40 kgv Assigned To kgv => asuraven
2020-12-18 16:40 kgv Status resolved => assigned
2020-12-18 19:21 git Note Added: 0097727
2020-12-18 19:21 git Note Added: 0097728
2020-12-18 19:28 asuraven Note Added: 0097729
2020-12-19 16:39 git Note Added: 0097808
2020-12-20 03:06 kgv Note Added: 0097811
2020-12-20 03:06 kgv Assigned To asuraven => bugmaster
2020-12-20 03:06 kgv Status assigned => resolved
2020-12-20 03:06 kgv Status resolved => reviewed
2020-12-21 14:27 git Note Added: 0097830
2020-12-21 14:27 git Note Added: 0097831
2020-12-21 17:28 asuraven Note Added: 0097837
2020-12-21 17:33 git Note Added: 0097838
2020-12-21 17:36 git Note Added: 0097839
2020-12-21 17:36 git Note Added: 0097840
2020-12-21 17:39 kgv Note Added: 0097841
2020-12-26 12:14 bugmaster Note Added: 0097911
2020-12-26 12:14 bugmaster Status reviewed => tested
2020-12-26 12:19 bugmaster Test case number => bugs/moddata_3/bug29723
2020-12-26 14:40 bugmaster Changeset attached => occt master 3b1129a5
2020-12-26 14:40 bugmaster Status tested => verified
2020-12-26 14:40 bugmaster Resolution open => fixed
2020-12-26 14:52 git Note Added: 0097920
2020-12-26 14:52 git Note Added: 0097921
2020-12-26 14:52 git Note Added: 0097922
2020-12-26 14:52 git Note Added: 0097923