MantisBT - Open CASCADE
View Issue Details
0030691Open CASCADE[OCCT] OCCT:Data Exchangepublic2019-05-05 01:312019-12-02 15:06
kgv 
bugmaster 
normalfeature 
closedfixed 
 
[OCCT] 7.4.0[OCCT] 7.4.0 
de_mesh/gltf_read
0030691: Data Exchange - implement import of mesh data from files in glTF format
It is desired providing a reader of mesh data from glTF format.

> Coordinate System and Units

> glTF uses a right-handed coordinate system, that is, the cross product of +X and +Y yields +Z. glTF defines +Y as up.
> The front of a glTF asset faces +Z.
> The units for all linear distances are meters.
> All angles are in radians.
> Positive rotation is counterclockwise.
N/A
No tags attached.
related to 0029902verified apn Open CASCADE Data Exchange, XCAF - provide extended Material definition for visualization purposes 
related to 0030953verified bugmaster Open CASCADE Data Exchange - implement export of mesh data into glTF 2.0 format 
parent of 0030692closed bugmaster Open CASCADE Data Exchange - introduce base framework RWMesh for importing mesh data formats into XDE document 
parent of 0030811closed apn Open CASCADE Data Exchange, RWGltf_CafReader - fix inaccessibility of properties 
parent of 0030821closed kgv Open CASCADE Data Exchange, RWGltf_CafReader - fallback to Mesh name in case of Node name is empty 
parent of 0030888closed bugmaster Open CASCADE Data Exchange, RWGltf_CafReader - fix misprint in condition while iterating binary glTF 2.0 chunks 
parent of 0031100new kgv Open CASCADE Data Exchange, RWGltf_CafReader - support reading information from EXT_lights_image_based 
related to 0030700verified apn Open CASCADE Visualization, TKOpenGl - support PBR Metallic-Roughness shading model 
Not all the children of this issue are yet resolved or closed.
7z 2CylinderEngine.glb.7z (311,227) 2019-05-05 22:39
https://tracker.dev.opencascade.org/
7z Buggy.glb.7z (614,434) 2019-05-05 22:39
https://tracker.dev.opencascade.org/
? OrientationTest.glb (38,920) 2019-05-05 22:51
https://tracker.dev.opencascade.org/
7z BrainStem.gltf.7z (909,024) 2019-05-05 22:56
https://tracker.dev.opencascade.org/
? Lantern.glb (9,872,848) 2019-05-05 22:57
https://tracker.dev.opencascade.org/
7z DamagedHelmet.gltf.7z (3,376,656) 2019-05-05 22:58
https://tracker.dev.opencascade.org/
png gltf_coordinate_system.png (98,823) 2019-05-09 22:38
https://tracker.dev.opencascade.org/
Issue History
2019-05-05 01:31kgvNew Issue
2019-05-05 01:31kgvAssigned To => kgv
2019-05-05 01:31kgvRelationship addedchild of 0028364
2019-05-05 13:15kgvRelationship addedrelated to 0029902
2019-05-05 20:15gitNote Added: 0084160
2019-05-05 20:29kgvRelationship addedparent of 0030692
2019-05-05 20:40gitNote Added: 0084161
2019-05-05 21:10gitNote Added: 0084166
2019-05-05 22:01gitNote Added: 0084168
2019-05-05 22:31gitNote Added: 0084169
2019-05-05 22:37gitNote Added: 0084170
2019-05-05 22:39kgvFile Added: 2CylinderEngine.glb.7z
2019-05-05 22:39kgvFile Added: BrainStem.gltf.7z
2019-05-05 22:39kgvFile Added: Buggy.glb.7z
2019-05-05 22:39kgvFile Added: DamagedHelmet.gltf.7z
2019-05-05 22:39kgvFile Added: Lantern.glb.7z
2019-05-05 22:47kgvNote Added: 0084171
2019-05-05 22:47kgvAssigned Tokgv => abv
2019-05-05 22:47kgvStatusnew => resolved
2019-05-05 22:51kgvFile Added: OrientationTest.glb
2019-05-05 22:51gitNote Added: 0084172
2019-05-05 22:56kgvFile Deleted: BrainStem.gltf.7z
2019-05-05 22:56kgvFile Added: BrainStem.gltf.7z
2019-05-05 22:56kgvFile Deleted: Lantern.glb.7z
2019-05-05 22:57kgvFile Added: Lantern.glb
2019-05-05 22:57kgvFile Deleted: DamagedHelmet.gltf.7z
2019-05-05 22:58kgvFile Added: DamagedHelmet.gltf.7z
2019-05-05 22:59gitNote Added: 0084173
2019-05-05 23:02gitNote Added: 0084174
2019-05-05 23:03gitNote Added: 0084175
2019-05-07 14:23kgvRelationship addedrelated to 0030700
2019-05-07 15:53gitNote Added: 0084230
2019-05-08 09:08gitNote Added: 0084235
2019-05-08 21:15gitNote Added: 0084268
2019-05-09 13:40gitNote Added: 0084270
2019-05-09 15:52gitNote Added: 0084271
2019-05-09 22:37kgvDescription Updatedbug_revision_view_page.php?rev_id=21164#r21164
2019-05-09 22:38kgvDescription Updatedbug_revision_view_page.php?rev_id=21165#r21165
2019-05-09 22:38kgvFile Added: gltf_coordinate_system.png
2019-05-10 17:09gitNote Added: 0084282
2019-05-10 17:11gitNote Added: 0084283
2019-05-11 07:55gitNote Added: 0084289
2019-05-13 14:44gitNote Added: 0084302
2019-05-28 08:40kgvAssigned Toabv => msv
2019-06-03 20:18gitNote Added: 0084780
2019-06-03 21:52gitNote Added: 0084781
2019-06-04 12:24gitNote Added: 0084811
2019-06-04 22:16gitNote Added: 0084829
2019-06-18 17:50kgvAssigned Tomsv => osa
2019-06-18 18:07osaNote Added: 0085130
2019-06-18 18:07osaAssigned Toosa => bugmaster
2019-06-18 18:07osaStatusresolved => reviewed
2019-06-18 19:42gitNote Added: 0085132
2019-06-18 19:47gitNote Added: 0085134
2019-06-18 19:49gitNote Added: 0085135
2019-06-19 20:06bugmasterTest case number => de_mesh/gltf_read
2019-06-19 20:08bugmasterNote Added: 0085150
2019-06-19 21:38gitNote Added: 0085152
2019-06-20 09:41bugmasterNote Added: 0085157
2019-06-20 09:41bugmasterAssigned Tobugmaster => kgv
2019-06-20 09:41bugmasterStatusreviewed => assigned
2019-06-20 12:21gitNote Added: 0085170
2019-06-20 12:27kgvNote Added: 0085171
2019-06-20 12:27kgvAssigned Tokgv => bugmaster
2019-06-20 12:27kgvStatusassigned => resolved
2019-06-20 12:27kgvStatusresolved => reviewed
2019-06-20 15:13gitNote Added: 0085180
2019-06-20 18:16bugmasterStatusreviewed => tested
2019-06-21 09:55gitNote Added: 0085188
2019-06-21 10:08gitNote Added: 0085189
2019-06-21 12:54gitNote Added: 0085191
2019-06-21 17:40gitNote Added: 0085207
2019-06-22 16:18bugmasterChangeset attached => occt master 0a419c51
2019-06-22 16:18bugmasterStatustested => verified
2019-06-22 16:18bugmasterResolutionopen => fixed
2019-06-22 16:22gitNote Added: 0085214
2019-06-22 16:22gitNote Added: 0085217
2019-06-22 16:22gitNote Added: 0085225
2019-06-22 16:22gitNote Added: 0085227
2019-06-22 16:23gitNote Added: 0085228
2019-06-26 11:53kgvRelationship addedparent of 0030811
2019-07-01 12:43kgvRelationship addedparent of 0030821
2019-08-10 09:08kgvRelationship addedparent of 0030888
2019-09-06 12:22kgvRelationship addedrelated to 0030953
2019-10-23 12:49kgvRelationship addedrelated to 0031100
2019-10-23 12:49kgvRelationship replacedparent of 0031100

Notes
(0084160)
git   
2019-05-05 20:15   
Branch CR30691_1 has been created by kgv.

SHA-1: c11e0a80d2c09a5c09e89ed11ee7fbbb7fa541a2


Detailed log of new commits:

Author: kgv
Date: Sun May 5 20:08:39 2019 +0300

    0030691: Data Exchange - implement import of mesh data from files in glTF format
    
    Added RWGltf_CafReader class implementing glTF reader.
    Added readgltf Draw Harness command for reading glTF files.
(0084161)
git   
2019-05-05 20:40   
Branch CR30691_2 has been created by kgv.

SHA-1: 13f4865502820751210f4aae182f5461f3d1a751


Detailed log of new commits:

Author: kgv
Date: Sun May 5 20:08:39 2019 +0300

    0030691: Data Exchange - implement import of mesh data from files in glTF format
    
    Added RWGltf_CafReader class implementing glTF reader.
    Added readgltf Draw Harness command for reading glTF files.

Author: kgv
Date: Sun May 5 20:31:35 2019 +0300

    0029296: Data Exchange - implement import of mesh data from files in OBJ format
    
    RWObj_Reader and RWObj_CafReader - added new classes reading triangulation from OBJ file.

Author: kgv
Date: Fri May 3 17:50:28 2019 +0300

    0030692: Data Exchange - introduce base framework RWMesh for importing mesh data formats into XDE document
    
    RWMesh_CafReader - added new interface class for common workflow for reading mesh data files into XDE document.
    
    OSD_Path - added auxiliary methods splitting path into folder+file pair
    and checking relative/absolute path semantically:
    OSD_Path::FolderAndFileFromPath(), ::IsRelativePath(), ::IsAbsolutePath().
(0084166)
git   
2019-05-05 21:10   
Branch CR30691_2 has been updated forcibly by kgv.

SHA-1: 508678918894cb2396c3386c6567d72cc5f304e9
(0084168)
git   
2019-05-05 22:01   
Branch CR30691_2 has been updated forcibly by kgv.

SHA-1: deda206225b0c70af676f96ab5b3654919982ac6
(0084169)
git   
2019-05-05 22:31   
Branch CR30691_2 has been updated forcibly by kgv.

SHA-1: 7625eef0300f09333826490a7bf5eb62a2ed4e4e
(0084170)
git   
2019-05-05 22:37   
Branch CR30691_2 has been updated forcibly by kgv.

SHA-1: 31451963320b30b26c8de96bd1d32e0a8b2fda8b
(0084171)
kgv   
2019-05-05 22:47   
Patch is ready for review.

For testing, USE_RAPIDJSON should be enabled in CMake scripts on Jenkins and attached sample files should be copied.

The samples are comping from public source:
https://github.com/KhronosGroup/glTF-Sample-Models [^]
(0084172)
git   
2019-05-05 22:51   
Branch CR30691_2 has been updated forcibly by kgv.

SHA-1: 035ed60ce1ca655a4cc9374ce836322bff002d04
(0084173)
git   
2019-05-05 22:59   
Branch CR30691_2 has been updated forcibly by kgv.

SHA-1: 3f930a16161dc5772be252eb22b08907aa015d37
(0084174)
git   
2019-05-05 23:02   
Branch CR30691_2 has been updated forcibly by kgv.

SHA-1: 569fe6585c32bc73c78b740635deda6d8df96775
(0084175)
git   
2019-05-05 23:03   
Branch CR30691_2 has been updated forcibly by kgv.

SHA-1: b4edd7f6958230e5b950e5e0b09176a07ec65639
(0084230)
git   
2019-05-07 15:53   
Branch CR30691_2 has been updated forcibly by kgv.

SHA-1: a97298abb73537cd36f21314158c76856d367f2d
(0084235)
git   
2019-05-08 09:08   
Branch CR30691_2 has been updated forcibly by kgv.

SHA-1: 9ba887821044c1b0515949ad47ff2f89463fd07b
(0084268)
git   
2019-05-08 21:15   
Branch CR30691_2 has been updated forcibly by kgv.

SHA-1: c6052df8c677b31e69adb4defe66b1bb5801b93a
(0084270)
git   
2019-05-09 13:40   
Branch CR30691_2 has been updated by kgv.

SHA-1: 72f573597f7d3764f57956d0b8016622a1ef7d81


Detailed log of new commits:

Author: kgv
Date: Thu May 9 13:33:33 2019 +0300

    # 0030692 Move RWMesh_DocumentExplorer -> XCAFPrs_DocumentExplorer

(0084271)
git   
2019-05-09 15:52   
Branch CR30691_2 has been updated by kgv.

SHA-1: bb544684d33b6f401848d37f30074dc5be090c96


Detailed log of new commits:

Author: kgv
Date: Thu May 9 13:41:06 2019 +0300

    # 0030692 - remarks for OSD_Path

(0084282)
git   
2019-05-10 17:09   
Branch CR30691_3 has been created by kgv.

SHA-1: cdf8ad77f202240ad83aefa6085e1ebd17a573a9


Detailed log of new commits:

Author: kgv
Date: Fri May 10 17:01:55 2019 +0300

    # 0030691 - revise coordinate system conversion

Author: kgv
Date: Fri May 10 17:00:05 2019 +0300

    # 0029296 - revise coordinate system conversion

Author: kgv
Date: Fri May 10 16:47:14 2019 +0300

    # 0030692 - revise Coordinate System converter - use gp_Ax3

Author: kgv
Date: Fri May 10 11:33:29 2019 +0300

    # 0030692 - revise coordinate system convertor
    
    V3d_TypeOfOrientation enumeration has been extended with aliases
    (like front/left) for Z-up and Y-up conentions.
    V3d_View::SetProj() now accepts argument for asking Y-up instead of Z-up.
    
    Added command vviewproj defining standard camera direction.
    Commands vaxo, vleft, vright, vtop, vbottom, vfront, vbottom now redirect to vviewproj.

Author: kgv
Date: Fri May 10 09:24:20 2019 +0300

    # 0030691 - rename ReadGltf command

Author: kgv
Date: Fri May 10 09:23:51 2019 +0300

    # 0029296 - add readobj command

Author: kgv
Date: Fri May 10 09:23:02 2019 +0300

    # 0030692 - add SingleShape() method

Author: kgv
Date: Sun May 5 20:08:39 2019 +0300

    0030691: Data Exchange - implement import of mesh data from files in glTF format
    
    Added RWGltf_CafReader class implementing glTF reader.
    Added readgltf Draw Harness command for reading glTF files.
(0084283)
git   
2019-05-10 17:11   
Branch CR30691_4 has been created by kgv.

SHA-1: 3d211ac543b5a1d0dec54e3419f4c471baf6b078


Detailed log of new commits:

Author: kgv
Date: Sun May 5 20:08:39 2019 +0300

    0030691: Data Exchange - implement import of mesh data from files in glTF format
    
    Added RWGltf_CafReader class implementing glTF reader.
    Added readgltf Draw Harness command for reading glTF files.

Author: kgv
Date: Sun May 5 20:31:35 2019 +0300

    0029296: Data Exchange - implement import of mesh data from files in OBJ format
    
    RWObj_Reader and RWObj_CafReader - added new classes reading triangulation from OBJ file.

Author: kgv
Date: Fri May 3 17:50:28 2019 +0300

    0030692: Data Exchange - introduce base framework RWMesh for importing mesh data formats into XDE document
    
    RWMesh_CafReader - added new interface class for common workflow for reading mesh data files into XDE document.
    
    OSD_Path - added auxiliary methods splitting path into folder+file pair
    and checking relative/absolute path semantically:
    OSD_Path::FolderAndFileFromPath(), ::IsRelativePath(), ::IsAbsolutePath().
    
    V3d_TypeOfOrientation enumeration has been extended with aliases
    (like front/left) for Z-up and Y-up conentions.
    V3d_View::SetProj() now accepts argument for asking Y-up instead of Z-up.
    
    Added command vviewproj defining standard camera direction.
    Commands vaxo, vleft, vright, vtop, vbottom, vfront, vbottom now redirect to vviewproj.
(0084289)
git   
2019-05-11 07:55   
Branch CR30691_4 has been updated forcibly by kgv.

SHA-1: 8272972ee8b350709502769637d186fe5db75f69
(0084302)
git   
2019-05-13 14:44   
Branch CR30691_4 has been updated forcibly by kgv.

SHA-1: 229442a5791ef8276883f1e1596eda7983ea8a9d
(0084780)
git   
2019-06-03 20:18   
Branch CR30691_4 has been updated forcibly by kgv.

SHA-1: c1fb55589d3189fce7f9af95d3ea7657b9e2fd2d
(0084781)
git   
2019-06-03 21:52   
Branch CR30691_4 has been updated forcibly by kgv.

SHA-1: a543bba280b1d96eba002815951712e591c4c6e7
(0084811)
git   
2019-06-04 12:24   
Branch CR30691_4 has been updated forcibly by kgv.

SHA-1: dc1c7ab9913f48416ca0cc272329191a422e1dea
(0084829)
git   
2019-06-04 22:16   
Branch CR30691_4 has been updated forcibly by kgv.

SHA-1: dcd557679f89a71e368bb4f4d745ac4e8bab509e
(0085130)
osa   
2019-06-18 18:07   
Reviewed without remarks
(0085132)
git   
2019-06-18 19:42   
Branch CR30691_4 has been updated forcibly by kgv.

SHA-1: d9953e351b6cf463685eaa3878c5690df29afe50
(0085134)
git   
2019-06-18 19:47   
Branch CR30691_4 has been updated forcibly by kgv.

SHA-1: e824b08022cd587eca7b711077420399d26afa79
(0085135)
git   
2019-06-18 19:49   
Branch CR30691_4 has been updated forcibly by kgv.

SHA-1: 4f9fe8c7e72cdcffd425fb6c52c490a53b5dea4c
(0085150)
bugmaster   
2019-06-19 20:08   
Combination -
OCCT branch : CR30691_4
master SHA - a543bba280b1d96eba002815951712e591c4c6e7
d67d4b811012eef8913d3c535c29654d0acf3c4c
Products branch : master SHA - c337118ac41004248abf27585e4c0e972f1a923e
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: 16322.850000000059 / 16313.930000000051 [+0.05%]
Products
Total CPU difference: 10496.410000000058 / 10490.14000000005 [+0.06%]
Windows-64-VC14:
OCCT
Total CPU difference: 17725.09375 / 17714.90625 [+0.06%]
Products
Total CPU difference: 12065.875 / 12054.984375 [+0.09%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0085152)
git   
2019-06-19 21:38   
Branch CR30691_5 has been created by inv.

SHA-1: 6b8ed99832782ec8331154213a5c78ce63c2bc22


Detailed log of new commits:

Author: kgv
Date: Tue Jun 18 19:41:15 2019 +0300

    0030691: Data Exchange - implement import of mesh data from files in glTF format
    
    Added RWGltf_CafReader class implementing glTF reader.
    Added readgltf Draw Harness command for reading glTF files.
(0085157)
bugmaster   
2019-06-20 09:41   
I tried to compile CR30694_4 in the scope of WEEK-25 and got errors of compilation. I rebased it on WEEK-25 and pushed as CR30694_5. I launch it in jenkins and got errors of compilation.

http://jenkins-test-12.nnov.opencascade.com/view/CR30691_5-master-INV/view/OCCT%20compile/ [^]
(0085170)
git   
2019-06-20 12:21   
Branch CR30691_5 has been updated forcibly by kgv.

SHA-1: 1ef8bcc09c30db5c04c35645e5dc10aa7316a6cb
(0085171)
kgv   
2019-06-20 12:27   
Compilation should be fixed now.
(0085180)
git   
2019-06-20 15:13   
Branch CR30691_5 has been updated by inv.

SHA-1: b608e6870460ecf42f71e8e89a4a9878cef47bb5


Detailed log of new commits:

Author: bugmaster
Date: Thu Jun 20 15:12:47 2019 +0300

    Update of test cases

(0085188)
git   
2019-06-21 09:55   
Branch CR30691_5 has been updated by kgv.

SHA-1: 0884cb622a0e6a30c8215368d9cf4e8ca4752f13


Detailed log of new commits:

Author: kgv
Date: Fri Jun 21 09:54:56 2019 +0300

    # workaround for vc9

(0085189)
git   
2019-06-21 10:08   
Branch CR30691_5 has been updated by kgv.

SHA-1: 0c505fce87e62f56e305c97fbad0bc620597cad3


Detailed log of new commits:

Author: kgv
Date: Fri Jun 21 10:07:26 2019 +0300

    # 0030691 workaround compilation issues on old GCC

(0085191)
git   
2019-06-21 12:54   
Branch CR30691_5 has been updated forcibly by kgv.

SHA-1: 492ddd550f0e1a3bf33a172fb9c799174f68a0a3
(0085207)
git   
2019-06-21 17:40   
Branch CR30691_5 has been updated by kgv.

SHA-1: 6d25f575d20c51c5608c37b490741400e079dc5c


Detailed log of new commits:

Author: kgv
Date: Fri Jun 21 17:39:50 2019 +0300

    # suppress vc9 32-bit compilation warnings

(0085214)
git   
2019-06-22 16:22   
Branch CR30691_5 has been deleted by inv.

SHA-1: 6d25f575d20c51c5608c37b490741400e079dc5c
(0085217)
git   
2019-06-22 16:22   
Branch CR30691_4 has been deleted by inv.

SHA-1: 4f9fe8c7e72cdcffd425fb6c52c490a53b5dea4c
(0085225)
git   
2019-06-22 16:22   
Branch CR30691_3 has been deleted by inv.

SHA-1: cdf8ad77f202240ad83aefa6085e1ebd17a573a9
(0085227)
git   
2019-06-22 16:22   
Branch CR30691_2 has been deleted by inv.

SHA-1: bb544684d33b6f401848d37f30074dc5be090c96
(0085228)
git   
2019-06-22 16:23   
Branch CR30691_1 has been deleted by inv.

SHA-1: c11e0a80d2c09a5c09e89ed11ee7fbbb7fa541a2