MantisBT - Open CASCADE
View Issue Details
0030115Open CASCADE[OCCT] OCCT:Data Exchangepublic2018-09-06 12:262018-12-12 17:47
skl 
bugmaster 
normalfeature 
closedfixed 
 
[OCCT] 7.4.0[OCCT] 7.4.0 
Not needed
0030115: Data Exchange - Implementation of import from XCAF to VRML.
It is needed to implement import from TDocStd_Document to VRML format with supporting structure, colors and names for shapes represented by triangulation.
Use new command "WriteVrml" for check.
No tags attached.
parent of 0030409closed apn Open CASCADE Data Exchange - exception during VRML file export 
related to 0030180closed bugmaster Open CASCADE Data Exchange - VrmlAPI_Writer is expected to return export state 
related to 0030221closed apn Open CASCADE Data Exchange - VRML is exported with inversed normals 
Issue History
2018-09-06 12:26sklNew Issue
2018-09-06 12:26sklAssigned To => gka
2018-09-06 12:41gitNote Added: 0079013
2018-09-06 12:55kgvAssigned Togka => skl
2018-09-06 12:55kgvSeverityminor => feature
2018-09-06 12:55kgvStatusnew => assigned
2018-09-06 12:55kgvSummaryImplementation of import from XCAF to VRML. => Data Exchange - Implementation of import from XCAF to VRML.
2018-09-06 13:00kgvNote Added: 0079014
2018-09-06 14:02gitNote Added: 0079016
2018-09-10 11:59gitNote Added: 0079080
2018-09-10 12:14gitNote Added: 0079081
2018-09-11 17:17gitNote Added: 0079128
2018-09-11 18:15kgvNote Added: 0079131
2018-09-11 18:50kgvNote Added: 0079132
2018-09-11 18:51kgvNote Edited: 0079132bug_revision_view_page.php?bugnote_id=79132#r19891
2018-09-12 12:52gitNote Added: 0079148
2018-09-21 07:30gitNote Added: 0079301
2018-09-21 14:19gitNote Added: 0079312
2018-09-21 16:37kgvNote Added: 0079319
2018-09-24 16:11gitNote Added: 0079368
2018-09-24 17:27gitNote Added: 0079370
2018-09-26 14:45sklNote Added: 0079410
2018-09-26 14:47sklAssigned Toskl => gka
2018-09-26 14:47sklStatusassigned => resolved
2018-09-26 14:47sklSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=19974#r19974
2018-09-26 17:25gitNote Added: 0079416
2018-09-26 18:29gkaAssigned Togka => skl
2018-09-26 18:29gkaStatusresolved => assigned
2018-09-26 19:16gkaNote Added: 0079418
2018-09-27 08:15gitNote Added: 0079426
2018-09-27 08:16sklNote Added: 0079427
2018-09-27 08:16sklAssigned Toskl => gka
2018-09-27 08:16sklStatusassigned => resolved
2018-09-27 16:56sklNote Added: 0079455
2018-09-27 17:01gkaNote Added: 0079456
2018-09-27 17:01gkaAssigned Togka => bugmaster
2018-09-27 17:01gkaStatusresolved => reviewed
2018-09-27 19:23bugmasterNote Added: 0079458
2018-09-27 19:23bugmasterStatusreviewed => tested
2018-09-27 19:25bugmasterTest case number => Not needed
2018-09-30 18:26bugmasterChangeset attached => occt master a3506de7
2018-09-30 18:26bugmasterStatustested => verified
2018-09-30 18:26bugmasterResolutionopen => fixed
2018-09-30 18:47gitNote Added: 0079506
2018-09-30 18:48gitNote Added: 0079525
2018-09-30 22:21kgvRelationship addedrelated to 0030180
2018-10-09 11:02kgvRelationship addedrelated to 0030221
2018-12-08 19:38kgvRelationship addedparent of 0030401
2018-12-12 16:13kgvRelationship addedparent of 0030409
2018-12-12 17:47kgvRelationship addedrelated to 0030411

Notes
(0079013)
git   
2018-09-06 12:41   
Branch CR30115 has been created by skl.

SHA-1: 9ca6468f9105871054ff48c16f678c598cd4eabf


Detailed log of new commits:

Author: skl
Date: Thu Sep 6 11:18:13 2018 +0300

    0030115: Implementation of import from XCAF to VRML.
(0079014)
kgv   
2018-09-06 13:00   
+    if (aFace.IsNull() == Standard_False) {

Please don't use this style in new code - IsNull() returns a "bool" and there is no need to compare it with "true" or "false" like this.

+  filebuf aFoc;
+  ostream outStream(&aFoc);
+  if (aFoc.open(theFile, ios::out))

This is broken for working with UNICODE file paths on Windows - please use OSD_OpenStream() instead (and correct the other place in file too).
(0079016)
git   
2018-09-06 14:02   
Branch CR30115 has been updated forcibly by skl.

SHA-1: 4a83b140a5dd6da2e7372cca355f66d25c9c7bae
(0079080)
git   
2018-09-10 11:59   
Branch CR30115 has been updated forcibly by skl.

SHA-1: 25f30ecc8193f1a7f0c56a7c3965383ce8db03d0
(0079081)
git   
2018-09-10 12:14   
Branch CR30115 has been updated forcibly by skl.

SHA-1: 877ae5347f373464afc6739ddbcaa36ddbbdfdd9
(0079128)
git   
2018-09-11 17:17   
Branch CR30115_1 has been created by anv.

SHA-1: a72abface182dc355ac5d1bd8ccea483a03fee76


Detailed log of new commits:

Author: anv
Date: Tue Sep 11 17:14:24 2018 +0300

    OCCT Samples dependencies fix
(0079131)
kgv   
2018-09-11 18:15   
--- a/samples/CSharp/OCCTProxy_D3D/OCCTProxy_D3D.vcxproj
+++ b/samples/CSharp/OCCTProxy_D3D/OCCTProxy_D3D.vcxproj
@@ -94,6 +94,7 @@
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
+      <AdditionalDependencies>TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
       
<OutputFile>$(OutDir)OCCTProxy_D3D.dll</OutputFile>

This is inconsistent to other linkage properties of projects OCCTProxy.vcxproj, OCCTProxy_D3D.vcxproj, which defined libraries using pragma in .cpp.
(0079132)
kgv   
2018-09-11 18:50   
(edited on: 2018-09-11 18:51)
> VRML provides no capability to define units of measure.
> All linear distances are assumed to be in meters and all angles are in radians.

  /**
   * Constructor.
   * @param theScene
   *   Scene receiving all Vrml data.
   * @param theScale
   *   Scale factor, considering that VRML standard specifies coordinates in
   *   meters. So if your data are in mm, you should provide theScale=0.001
   */
  inline VrmlData_ShapeConvert (VrmlData_Scene&     theScene,
                                const Standard_Real theScale = 1.)
    : myScene (theScene),
      myScale (theScale)
  {}

I don't see unit scale being set within the patch, so that supposedly generated file has wrong length units
(considering that OCCT uses millimeters ("xstep.gui.unit") by default and VRML is forced to meters).

(0079148)
git   
2018-09-12 12:52   
Branch CR30115_1 has been updated forcibly by anv.

SHA-1: 231e9406454f7cfbe75521ebe2415108984b9f50
(0079301)
git   
2018-09-21 07:30   
Branch CR30115 has been updated forcibly by skl.

SHA-1: 558c581b84d6734ca0b788b107a658d40fa4ea52
(0079312)
git   
2018-09-21 14:19   
Branch CR30115 has been updated by skl.

SHA-1: aad3f40e5102e0eb88a35ce902090399fe806ae2


Detailed log of new commits:

Author: anv
Date: Tue Sep 11 17:14:24 2018 +0300

    OCCT Samples dependencies fix

(0079319)
kgv   
2018-09-21 16:37   
Please don't forget about OSD_OpenStream() remark.
(0079368)
git   
2018-09-24 16:11   
Branch CR30115 has been updated by skl.

SHA-1: b5ae45bea5e85272002ee6d80788a70ea90acebd


Detailed log of new commits:

Author: skl
Date: Mon Sep 24 16:10:31 2018 +0300

    Correction for VRML writer.

(0079370)
git   
2018-09-24 17:27   
Branch CR30115 has been updated forcibly by skl.

SHA-1: e69c78aadd16157bd6f1a2d3b68d6a5813164c6e
(0079410)
skl   
2018-09-26 14:45   
Branch CR30115 and CR30115prod are ready to be reviewed.

Results of tests:
http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30115-CR30115prod-SKL/view/COMPARE/ [^]
(0079416)
git   
2018-09-26 17:25   
Branch CR30115 has been updated forcibly by skl.

SHA-1: 639c3685dce51f05f87867a9b36f3c81f45dfef4
(0079418)
gka   
2018-09-26 19:16   
File VrmlData_ShapeConvert.cxx:
Please:
Remove redundant commented lines 282-406.
Add comment in line 456.
Correct lines 784-799 to define variable findColor by conditional expression.
Replace lines 828-833, 868-871 on the method gp_Trsf::SetScaleFactor
Remove empty "if" expression from lines 893-895
Remove redundant "if" expression from lines 993-995
(0079426)
git   
2018-09-27 08:15   
Branch CR30115 has been updated forcibly by skl.

SHA-1: 6d3d6a7f9dd15a43908338f069abb83281570e67
(0079427)
skl   
2018-09-27 08:16   
Branch CR30115 and CR30115prod are ready to be reviewed.
(0079455)
skl   
2018-09-27 16:56   
Results of tests:
http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30115-CR30115prod-SKL/view/COMPARE/ [^]
(0079456)
gka   
2018-09-27 17:01   
Branch CR30115 and CR30115prod were reviewed
(0079458)
bugmaster   
2018-09-27 19:23   
Combination -
OCCT branch : CR30115 SHA - 6d3d6a7f9dd15a43908338f069abb83281570e67
Products branch : CR30115prod SHA - 565c4463227b5d904cea1fa269fca32b5f2dee60
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: 17403.139999999785 / 17379.439999999933 [+0.14%]
Products
Total CPU difference: 7465.760000000061 / 7467.690000000077 [-0.03%]
Windows-64-VC14:
OCCT
Total CPU difference: 17520.285108798456 / 17536.33761169853 [-0.09%]
Products
Total CPU difference: 8367.706438799994 / 8382.276932199968 [-0.17%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0079506)
git   
2018-09-30 18:47   
Branch CR30115 has been deleted by inv.

SHA-1: 6d3d6a7f9dd15a43908338f069abb83281570e67
(0079525)
git   
2018-09-30 18:48   
Branch CR30115_1 has been deleted by inv.

SHA-1: 231e9406454f7cfbe75521ebe2415108984b9f50