MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0025279Open CASCADE[OCCT] OCCT:Data Exchangepublic2014-09-26 17:362015-05-14 15:32
Reporteroan 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 6.9.0Fixed in Version[OCCT] 6.9.0 
Summary0025279: OCCT fails to read VRML file created by OCCT
DescriptionTry to create simple box and store to vrml. Restoring of stored file using Draw causes an error.
Steps To Reproducepload ALL
box b 10 10 10
writevrml b test.vrml

loadvrml test test.vrml
# ++ VRML Error: VrmlFormatError in line 7


Test script "bug25279" is attached
TagsNo tags attached.
Test case numberbugs stlvrml(018) bug25279
Attached Files? file icon test.vrml (4,779 bytes) 2014-09-26 17:36
? file icon bug25279 (850 bytes) 2015-01-21 13:18

- Relationships
parent of 0023328closedbugmaster Community Importing VRML files with "scaleOrientation" not possible 
related to 0025825closedabv Open CASCADE Draw Harness, XSDRAWSTLVRML - drop command tovrml and XSDRAWSTLVRML_ToVRML 
child of 0025050closedbugmaster Open CASCADE Shape can not be stored to VRML format 

-  Notes
(0036115)
akz (developer)
2015-01-15 16:56
edited on: 2015-01-15 17:21

"writevrml" command is an old functionality, which writes VRML files of version 1.0, but the reader can work only with version 2.0 as i understood.

Currently DRAW contains more recent command for writing a VRML files v2.0:
"storevrml"
This command write the file correctly, file can be read by reader after that.

(0036118)
abv (manager)
2015-01-15 17:28

Do I understand correctly that writevrml writes in VRML 1.0 format? Some customers apply to third-party solutions where they could use plain OCCT just because they think OCCT can not write VRML 2.0...

Please remove command storevrml so that all functionality (both 1.0 and 2.0 versions) were provided by command writevrml. Version can be switched by specific option (2.0 by default). Please also document option "type" in command storevrml.

Please also make API function (VrmlAPI::Write()) configurable to be able to write VRML 2.0.
(0036125)
akz (developer)
2015-01-15 18:14

Yes, all right - writevrml writes in format v1.0. I checked file test.vrml in the another tool (Cortona3D viewer), the file was read successfully.
(0036126)
abv (manager)
2015-01-15 18:27

One more point: please change comment written in VRML 2.0 to be same as put in 1.0: "Generated by Open CASCADE Technology 6.8" (naturally version number is macro). Now it reads "Created by OPEN CASCADE (tm) VrmlData API".
(0036208)
akz (developer)
2015-01-19 14:46

Due to suggestion http://tracker.dev.opencascade.org/view.php?id=25357#c36175 [^]
meshing will be removed from VRML as well.
(0036281)
git (administrator)
2015-01-20 22:14

Branch CR25279 has been created by akz.

SHA-1: ee4ba80818b2f3458b0c7d3695c3e83b72d79f37


Detailed log of new commits:

Author: akz
Date: Tue Jan 20 22:14:23 2015 +0300

    Meshing is removed from writers of both (v1.0 and v2.0) versions.
    
    Shaded representation is skipped in case when a mesh does not exist.
    Wireframe representation checks the existence of a mesh before. If the mesh exists, a deflected edges are taken from the mesh, otherwise - are generated with the default deflection.
    
    Also removed drawing of redundant edges in wireframe representation of VRML version 1.0 (a grid on non-plane surfaces does not match a real edges of TopoDS_Shape and does not match representation in version 2.0).

Author: akz
Date: Tue Jan 20 12:27:00 2015 +0300

    0025279: OCCT fails to read VRML file created by OCCT
    
    Unification of the command to write VRML of both versions.
    Now "writevrml" command can write VRLM files of v1.0 and v2.0, with wireframe/shaded/both representations. Parameter "Deflection" was removed (next commit will remove meshing, so parameter will be useless).
(0036309)
git (administrator)
2015-01-21 12:57

Branch CR25279 has been updated by akz.

SHA-1: c6b6cd1c7f36b7de5b9ffdbe5519d593d85b0fe9


Detailed log of new commits:

Author: akz
Date: Wed Jan 21 12:44:27 2015 +0300

    0025279: OCCT fails to read VRML file created by OCCT
    
    Return back the using Polygon3D for a free edges in VRML version 2.0

(0036316)
akz (developer)
2015-01-21 13:19

Branch CR25279 is ready to be reviewed
(0036370)
gka (developer)
2015-01-22 12:00

Possibility of writing VRML files different version (1.0 or 2.0) should be implemented in class VrmlAPI_Writer. This class should have input parameter number of version. This functionality should be added in in method VrmlAPI::Write(). Default version for writing VRML in VRMLAPI_Writer should be set to 2.0.
Dram command "writevrml" should only call VrmlAPI_Writer with specified in draw command version.(default value is equal to 2.0)
(0036401)
git (administrator)
2015-01-22 15:49

Branch CR25279 has been updated by akz.

SHA-1: 4aa85b445c91170eeb3c66b1f87668b946a34cc7


Detailed log of new commits:

Author: akz
Date: Thu Jan 22 15:48:57 2015 +0300

    0025279: OCCT fails to read VRML file created by OCCT
    
    Version of VRML format is added to VrmlAPI_Writer::Write() and VrmlAPI::Write() to allow use the both versions of the VRML by one writer.

(0036402)
akz (developer)
2015-01-22 15:51

Writer can write the both versions now. Please, review.
(0036403)
gka (developer)
2015-01-22 16:00

Branch CR25279 is ready to be tested
(0036404)
abv (manager)
2015-01-22 16:04

Please squash all your changes in one commit and rebase on current master. Note that instead of dynamically printing a string in

> sprintf(anInfo, "Generated by Open CASCADE Technology %s", OCC_VERSION_STRING);

you could use plain C string concatenated by C preprocessor:

"Generated by Open CASCADE Technology " OCC_VERSION_STRING
(0036410)
git (administrator)
2015-01-22 16:28

Branch CR25279_1 has been created by akz.

SHA-1: 59c905e127917bce80a2d1e6c753faf980ba6aca


Detailed log of new commits:

Author: akz
Date: Thu Jan 22 16:27:21 2015 +0300

    0025279: OCCT fails to read VRML file created by OCCT
    
    1) Version of VRML format is added to VrmlAPI_Writer::Write() and VrmlAPI::Write() to allow use the both versions of the VRML by one writer.
    2) Unification of the command to write VRML of both versions. Now "writevrml" command can write VRLM files of v1.0 and v2.0, with wireframe/shaded/both representations. Parameter "Deflection" was removed (next commit will remove meshing, so parameter will be useless).
    3) Meshing is removed from writers of both (v1.0 and v2.0) versions. Shaded representation is skipped in case when a mesh does not exist.
    Wireframe representation checks the existence of a mesh before. If the mesh exists, a deflected edges are taken from the mesh, otherwise - are generated with the default deflection.
    4) Drawing of redundant edges is removed in wireframe representation of VRML version 1.0 (a grid on non-plane surfaces does not match a real edges of TopoDS_Shape and does not match representation in version 2.0).
(0036411)
git (administrator)
2015-01-22 16:28

Branch CR25279 has been deleted by akz.

SHA-1: 4aa85b445c91170eeb3c66b1f87668b946a34cc7
(0036412)
akz (developer)
2015-01-22 16:30

All changes are squashed and rebased into branch CR25279_1
(0036415)
abv (manager)
2015-01-22 16:46

No remarks, please test
(0036912)
git (administrator)
2015-01-30 16:51

Branch CR25279_1 has been updated forcibly by mkv.

SHA-1: fe1fcd02e12f48c8983a790b0ebde457df8c61ba
(0037049)
mkv (tester)
2015-02-04 12:24

Dear BugMaster,
Branch CR25279_1 was rebased on current master of occt git-repository.
(0037050)
mkv (tester)
2015-02-04 12:25

Dear BugMaster,
Branch CR25279_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: fe1fcd02e12f48c8983a790b0ebde457df8c61ba

Number of compiler warnings:

occt component :
Linux: 18 (18 on master)
Windows: 0 (0 on master)

products component :
Linux: 11 (11 on master)
Windows: 1 (1 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR25279-1-master-occt/Debian60-64/bugs/stlvrml/bug25279.html [^]
http://occt-tests/CR25279-1-master-occt/Windows-32-VC10/bugs/stlvrml/bug25279.html [^]
bugs stlvrml(018) bug25279: OK

Testing on Linux:
occt component :
Total MEMORY difference: 369766128 / 370076844
Total CPU difference: 54505.64999999997 / 49863.81000000002
products component :
Total MEMORY difference: 110199776 / 110223764
Total CPU difference: 16554.97 / 15770.609999999973

Testing on Windows:
occt component :
Total MEMORY difference: 275745776 / 276284192
Total CPU difference: 37042.90625 / 36894.109375
products component :
Total MEMORY difference: 72330324 / 71401072
Total CPU difference: 10985.265625 / 11731.96875

There are no differences in images found by testdiff.
(0037051)
git (administrator)
2015-02-04 12:25

Branch CR25279_1 has been updated by mkv.

SHA-1: fc6a547b57166ee56af40988595e6d6acafa1ad0


Detailed log of new commits:

Author: mkv
Date: Wed Feb 4 12:23:55 2015 +0300

    Test case for issue CR25279

(0038512)
git (administrator)
2015-03-18 13:33

Branch CR25279_1 has been deleted by inv.

SHA-1: fc6a547b57166ee56af40988595e6d6acafa1ad0

- Related Changesets
occt: master f5fa6b33
Timestamp: 2015-02-05 12:02:01
Author: akz
Committer: bugmaster
Details ] Diff ]
0025279: OCCT fails to read VRML file created by OCCT

1) Version of VRML format is added to VrmlAPI_Writer::Write() and VrmlAPI::Write() to allow use the both versions of the VRML by one writer.
2) Unification of the command to write VRML of both versions. Now "writevrml" command can write VRLM files of v1.0 and v2.0, with wireframe/shaded/both representations. Parameter "Deflection" was removed (next commit will remove meshing, so parameter will be useless).
3) Meshing is removed from writers of both (v1.0 and v2.0) versions. Shaded representation is skipped in case when a mesh does not exist.
Wireframe representation checks the existence of a mesh before. If the mesh exists, a deflected edges are taken from the mesh, otherwise - are generated with the default deflection.
4) Drawing of redundant edges is removed in wireframe representation of VRML version 1.0 (a grid on non-plane surfaces does not match a real edges of TopoDS_Shape and does not match representation in version 2.0).

Test case for issue CR25279
mod - src/VrmlAPI/VrmlAPI.cdl Diff ] File ]
mod - src/VrmlAPI/VrmlAPI.cxx Diff ] File ]
mod - src/VrmlAPI/VrmlAPI_Writer.cdl Diff ] File ]
mod - src/VrmlAPI/VrmlAPI_Writer.cxx Diff ] File ]
mod - src/VrmlConverter/VrmlConverter.cdl Diff ] File ]
mod - src/VrmlConverter/VrmlConverter_DeflectionCurve.cdl Diff ] File ]
mod - src/VrmlConverter/VrmlConverter_DeflectionCurve.cxx Diff ] File ]
mod - src/VrmlConverter/VrmlConverter_ShadedShape.cxx Diff ] File ]
mod - src/VrmlConverter/VrmlConverter_WFDeflectionShape.cxx Diff ] File ]
mod - src/VrmlData/VrmlData_Scene.cxx Diff ] File ]
mod - src/VrmlData/VrmlData_ShapeConvert.cxx Diff ] File ]
mod - src/XSDRAWSTLVRML/XSDRAWSTLVRML.cxx Diff ] File ]
add - tests/bugs/stlvrml/bug25279 Diff ] File ]

- Issue History
Date Modified Username Field Change
2014-09-26 17:36 oan New Issue
2014-09-26 17:36 oan Assigned To => gka
2014-09-26 17:36 oan File Added: test.vrml
2014-09-26 17:37 oan Relationship added child of 0025050
2014-09-26 18:12 abv Assigned To gka => dbv
2014-09-26 18:12 abv Status new => assigned
2014-09-26 18:12 abv Target Version 7.1.0 => 6.8.0
2014-10-29 06:57 abv Assigned To dbv => oan
2014-11-06 06:40 abv Target Version 6.8.0 => 7.1.0
2015-01-14 15:45 oan Relationship added parent of 0023328
2015-01-14 17:00 gka Assigned To oan => akz
2015-01-15 16:56 akz Note Added: 0036115
2015-01-15 16:56 akz Status assigned => feedback
2015-01-15 16:56 akz Assigned To akz => gka
2015-01-15 16:57 akz Note Edited: 0036115 View Revisions
2015-01-15 17:13 akz Note Edited: 0036115 View Revisions
2015-01-15 17:21 akz Note Edited: 0036115 View Revisions
2015-01-15 17:28 abv Note Added: 0036118
2015-01-15 17:36 gka Assigned To gka => akz
2015-01-15 17:36 gka Status feedback => assigned
2015-01-15 18:14 akz Note Added: 0036125
2015-01-15 18:27 abv Note Added: 0036126
2015-01-19 14:46 akz Note Added: 0036208
2015-01-20 22:14 git Note Added: 0036281
2015-01-21 12:57 git Note Added: 0036309
2015-01-21 13:18 akz File Added: bug25279
2015-01-21 13:19 akz Note Added: 0036316
2015-01-21 13:19 akz Assigned To akz => gka
2015-01-21 13:19 akz Status assigned => resolved
2015-01-21 13:19 akz Steps to Reproduce Updated View Revisions
2015-01-22 12:00 gka Note Added: 0036370
2015-01-22 12:00 gka Assigned To gka => akz
2015-01-22 12:00 gka Status resolved => assigned
2015-01-22 15:49 git Note Added: 0036401
2015-01-22 15:51 akz Note Added: 0036402
2015-01-22 15:51 akz Assigned To akz => gka
2015-01-22 15:51 akz Status assigned => resolved
2015-01-22 16:00 gka Note Added: 0036403
2015-01-22 16:00 gka Assigned To gka => bugmaster
2015-01-22 16:00 gka Status resolved => reviewed
2015-01-22 16:04 abv Note Added: 0036404
2015-01-22 16:04 abv Assigned To bugmaster => akz
2015-01-22 16:04 abv Status reviewed => assigned
2015-01-22 16:28 git Note Added: 0036410
2015-01-22 16:28 git Note Added: 0036411
2015-01-22 16:30 akz Note Added: 0036412
2015-01-22 16:30 akz Assigned To akz => gka
2015-01-22 16:30 akz Status assigned => resolved
2015-01-22 16:46 abv Note Added: 0036415
2015-01-22 16:46 abv Assigned To gka => bugmaster
2015-01-22 16:46 abv Status resolved => reviewed
2015-01-30 14:43 mkv Assigned To bugmaster => mkv
2015-01-30 16:51 git Note Added: 0036912
2015-02-04 12:24 mkv Note Added: 0037049
2015-02-04 12:25 mkv Note Added: 0037050
2015-02-04 12:25 mkv Assigned To mkv => bugmaster
2015-02-04 12:25 mkv Status reviewed => tested
2015-02-04 12:25 git Note Added: 0037051
2015-02-04 12:25 mkv Test case number => bugs stlvrml(018) bug25279
2015-02-06 15:38 bugmaster Changeset attached => occt master f5fa6b33
2015-02-06 15:38 bugmaster Status tested => verified
2015-02-06 15:38 bugmaster Resolution open => fixed
2015-02-09 11:04 bugmaster Target Version 7.1.0 => 6.9.0
2015-02-13 11:49 kgv Relationship added related to 0025825
2015-03-18 13:33 git Note Added: 0038512
2015-05-14 15:29 aiv Status verified => closed
2015-05-14 15:32 aiv Fixed in Version => 6.9.0


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker