Difference between revisions of "Portal:CoherencyTest"

From COLLADA Public Wiki
Jump to: navigation, search
(User guide)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{portalheader|title=COLLADA CoherencyTest|description=It is a simple test that check if a COLLADA document is properly composed}}
+
{{portalheader|title=COLLADA CoherencyTest|description=Links to, and information about, a simple test that checks whether a COLLADA document is properly composed}}
 
__NOTOC__
 
__NOTOC__
 
<div style="background-color: #eeeeee;  border:1px solid #999999; color:#000; padding-top: 3px; padding-left:5px; padding-right:5px; padding-bottom: 3px;">
 
<div style="background-color: #eeeeee;  border:1px solid #999999; color:#000; padding-top: 3px; padding-left:5px; padding-right:5px; padding-bottom: 3px;">
  
COLLADA Coherency Test is a command line version of CoherencyTest from
+
'''COLLADA Coherency Test''' is a command-line version of CoherencyTest from [[COLLADA Refinery]]. It checks whether a [[COLLADA dae file]] is coherent (properly composed). It is built using the [[COLLADA DOM]] library from http://sourceforge.net/projects/collada-dom.
COLLADA Refinery. It will check if a Collada dae files is coherent or
 
properly compose. It is build using Collada Dom Library from  
 
http://sourceforge.net/projects/collada-dom  
 
  
It is developed in C/C++ and build using MSVC.
+
It is developed in C/C++ and built using MSVC.
  
If you have any sugguest of what should go into the coherencytest,
+
If you have suggestions for what should go into the coherency test, please email me at [mailto:herbert_law@playstation.sony.com herbert_law@playstation.sony.com].
please email me at herbert_law@playstation.sony.com
+
 
 +
==External links==
 +
* [https://collada.org/public_forum/viewtopic.php?t=552  Forum topic on Coherency Test]
  
 
==List of Checks==
 
==List of Checks==
Check_links     -It checks if all id are valid reference and if we can resolveElement and getElement from a link     
+
{| {{prettytable}}
 
+
|-
Check_unique_id -It checks if all Ids in each document are unique     
+
| Check_links    
 
+
|Checks whether all IDs are valid reference and whether we can resolveElement and getElement from a link     
Check_counts -It checks number counts are correctly set, eg. skin vertex count should be = mesh vertex count accessor has the right count on arrays from stride and counts.
+
|-
 
+
| Check_unique_id
Check_files     -It checks if the image files, cg/fx files, and other non-dae files that the document referenced exist     
+
|Checks whether all IDs in each document are unique     
 
+
|-
Check_textures   -It checks if the textures are correctly defined/used (image, surface, sampler, instancing...) <texture> shouldn't directly reference to <image> id. It should reference <newparam>'s sid, and have <sampler2D> with <source> reference to another <newparam>'s sid that have <surface> with <init_from> refernce to <image> id.
+
Check_counts
 
+
|It checks that the number counts are correctly set; for example:
Check_URI       -It checks if the URI are correct. It should also  
+
*skin vertex count should be = mesh vertex count
                  check for unescaped spaces because a xml validator  
+
*accessor has the right count on arrays from stride and counts.
                  won't catch the problem. Reference  
+
|-
                  http://www.w3.org/TR/xmlschema-2/#anyURI
+
Check_files    
 
+
|Checks whether the image files, cg/fx files, and other non-dae files that the document reference exist     
Check_schema     -It checks if the document validates against the Schema   
+
|-
 
+
Check_textures
Check_inputs     -It checks if the required number of input elements  
+
|Checks whether the textures are correctly defined/used (image, surface, sampler, instancing...) <texture> shouldn't directly reference to <image> ID. It should reference <newparam>'s SID, and have <sampler2D> with <source> reference to another <newparam>'s SID that have <surface> with <init_from> reference to <image> ID.
                  are present and that they have the correct semantic  
+
|-
                  values for their sources.   
+
Check_URI      
 
+
|Checks whether URIs are correct. It should also check for unescaped spaces because an XML validator won't catch the problem. Reference http://www.w3.org/TR/xmlschema-2/#anyURI
Check_skin       -It will check if values in name_array should only  
+
|-
                  reference to an existing SID, and values in  
+
Check_schema  
                  IDREF_array should only reference to an existing ID   
+
|Checks whether the document validates against the Schema   
 
+
|-
Check_InstanceGeometry -It checks if all Intance_geometry has
+
Check_inputs  
                  bind_material that has a correct matching  
+
|Checks whether the required number of input elements are present and that they have the correct semantic values for their sources.   
                  bind_material between symbol and target
+
|-
 
+
Check_skin    
Check_Controller -It checks if skin have same number of vertices  
+
|Checks that values in name_array reference only to an existing SID, and values in IDREF_array reference only to an existing ID   
                  weight as the vertices number of geometry. It  
+
|-
                  checks if morph have same number of vertices  
+
Check_InstanceGeometry
                  from source geometry as number of vertices in  
+
|Checks whether all Instance_geometry have  bind_material that has a correct matching bind_material between symbol and target
                  all other target geometry.
+
|-
 
+
Check_Controller
Check_Float_array -It checks if NaN, INF, -INF exist in all the float array   
+
|Checks whether skin have same number of vertices weight as the vertices number of geometry. It checks whether morph has the same number of vertices from source geometry as number of vertices in all other target geometry.
 
+
|-
Check_sid   -It checks if a sid is a valid sid 
+
Check_Float_array
 
+
|Checks whether NaN, INF, INF exist in all the float array   
Check_morph       -It checks if a morph have same number of targets and target_weights
+
|-
                  -It checks if all targets have the same number of vertices.
+
Check_sid
 
+
|Checks whether SIDs are  valid SIDs 
 
+
|-
 
+
Check_morph    
 +
|
 +
* Checks whether a morph has the same number of targets and target_weights.
 +
* Checks whether all targets have the same number of vertices.
 +
|}
  
 
===User guide===
 
===User guide===
Usage: coherencytest filename.dae ... [OPTION]...
+
Usage: coherencytest filename.dae ... [OPTION]...
 
  option:                          \n"
 
  option:                          \n"
 
  filename.dae   - check collada file filename.dae,  
 
  filename.dae   - check collada file filename.dae,  
Line 89: Line 92:
 
==Changes (for developer)==
 
==Changes (for developer)==
  
  Date      Version   Description
+
  Date      Version   Description
- 04-24-2007 1.0       Inital Version
+
- 04-24-2007 1.0       Inital Version
- 04-26-2007 printf date and time when test starts
+
- 04-26-2007           printf date and time when test starts
Add separator in log file between on differen
+
                        Add separator in log file between on differen
file checks
+
                        file checks
- 05-07-2007           add #ifdef and -ctf support
+
- 05-07-2007           add #ifdef and -ctf support
Split into header files
+
                        Split into header files
 
                         catch all daeErrorhandler errors as test fails
 
                         catch all daeErrorhandler errors as test fails
 
                         Fix Accessor CHECK_count
 
                         Fix Accessor CHECK_count
size of param should be <= stride
+
                        size of param should be <= stride
size of param + offset should be <= stride
+
                        size of param + offset should be <= stride
size of data_array should be reference from  
+
                        size of data_array should be reference from  
 
                         accessor source instead of the one within the  
 
                         accessor source instead of the one within the  
same source.
+
                        same source.
- 05-09-2007 1.1       Add make files to build in linux
+
- 05-09-2007 1.1       Add make files to build in linux
- 06-11-2007         pass all collada_dom errors and warnings as
+
- 06-11-2007           pass all collada_dom errors and warnings as
CoherencyTest errors and warnings
+
                        CoherencyTest errors and warnings
 
+
- 06-19-2007           update makefiles for linux build
- 06-19-2007 update makefiles for linux build
+
- 07-09-2007           Add check_Sid if Sid contains any illegal characters
- 07-09-2007 Add check_Sid if Sid contains any illegal characters
+
                        add Check_bind_material to check if <instance_controller>
add Check_bind_material to check if <instance_controller>
+
                        has <bind_material> correctly.
has <bind_material> correctly.
+
                        add check if controller has skin or morph.
add check if controller has skin or morph.
+
- 07-18-2007           add -xmlschema option to use your own schema.xsd
- 07-18-2007 add -xmlschema option to use your own schema.xsd
+
- 07-19-2007           remove dependency on iconv
- 07-19-2007 remove dependency on iconv
+
- 07-30-2007 1.2       if inputs that should reference to source is not
 
+
                        reference to a source, report error
- 07-30-2007 1.2 if inputs that should reference to source is not
+
                        if Index_Range in CHECK_Index_Range() is 0,
reference to a source, report error
 
if Index_Range in CHECK_Index_Range() is 0,
 
  
  
[[Category:Portals]][[Category:CoherencyTest|*]]
+
[[Category:Portals]][[Category:Coherency testing]][[Category:Tools]]
 
</div> <!-- of portal background formatting -->
 
</div> <!-- of portal background formatting -->

Latest revision as of 05:34, 2 December 2008

Welcome to the COLLADA CoherencyTest portal
Links to, and information about, a simple test that checks whether a COLLADA document is properly composed

Portals:  • Products  • Extensions  • Tools  • Conditioners  • COLLADA DOM  • Coherency Test  • Tech topics  • Tutorials

COLLADA Coherency Test is a command-line version of CoherencyTest from COLLADA Refinery. It checks whether a COLLADA dae file is coherent (properly composed). It is built using the COLLADA DOM library from http://sourceforge.net/projects/collada-dom.

It is developed in C/C++ and built using MSVC.

If you have suggestions for what should go into the coherency test, please email me at herbert_law@playstation.sony.com.

External links

List of Checks

Check_links Checks whether all IDs are valid reference and whether we can resolveElement and getElement from a link
Check_unique_id Checks whether all IDs in each document are unique
Check_counts It checks that the number counts are correctly set; for example:
  • skin vertex count should be = mesh vertex count
  • accessor has the right count on arrays from stride and counts.
Check_files Checks whether the image files, cg/fx files, and other non-dae files that the document reference exist
Check_textures Checks whether the textures are correctly defined/used (image, surface, sampler, instancing...) <texture> shouldn't directly reference to <image> ID. It should reference <newparam>'s SID, and have <sampler2D> with <source> reference to another <newparam>'s SID that have <surface> with <init_from> reference to <image> ID.
Check_URI Checks whether URIs are correct. It should also check for unescaped spaces because an XML validator won't catch the problem. Reference http://www.w3.org/TR/xmlschema-2/#anyURI
Check_schema Checks whether the document validates against the Schema
Check_inputs Checks whether the required number of input elements are present and that they have the correct semantic values for their sources.
Check_skin Checks that values in name_array reference only to an existing SID, and values in IDREF_array reference only to an existing ID
Check_InstanceGeometry Checks whether all Instance_geometry have bind_material that has a correct matching bind_material between symbol and target
Check_Controller Checks whether skin have same number of vertices weight as the vertices number of geometry. It checks whether morph has the same number of vertices from source geometry as number of vertices in all other target geometry.
Check_Float_array Checks whether NaN, INF, INF exist in all the float array
Check_sid Checks whether SIDs are valid SIDs
Check_morph
  • Checks whether a morph has the same number of targets and target_weights.
  • Checks whether all targets have the same number of vertices.

User guide

Usage: coherencytest filename.dae ... [OPTION]...
option:                           \n"
filename.dae		   - check collada file filename.dae, 
                            filename.dae should be a url format
-log filename.log         - log warnings and errors in filename.log          
-check SCHEMA COUNTS ..   - check SCHEMA and COUNTS only, test all 
                            if not specify any
                            available checks:              
                            SCHEMA						
                            UNIQUE_ID 					
                            COUNTS						
                            LINKS							
                            TEXTURE					
                            FILES						
                            SKIN						
                            FLOAT_ARRAY				
                            CIRCULR_REFERENCE			
                            INDEX_RANGE
                            SID
                            MORPH
-ignore SCHEMA COUNTS ..  - ignore SCHEMA and COUNTS only, test all
                            if not specify any
-quiet -q                 - disable printfs and MessageBox
-version                  - print version and copyright information
-xmlschema schema.xsd     - use your own version of schema.xsd to do schema check
                          - the defualt schema is http://www.collada.org/2005/11/COLLADASchema.xsd

Changes (for developer)

  Date       Version   Description
- 04-24-2007 1.0       Inital Version
- 04-26-2007           printf date and time when test starts
                       Add separator in log file between on differen
                       file checks
- 05-07-2007           add #ifdef and -ctf support
                       Split into header files
                       catch all daeErrorhandler errors as test fails
                       Fix Accessor CHECK_count
                       size of param should be <= stride
                       size of param + offset should be <= stride
                       size of data_array should be reference from 
                       accessor source instead of the one within the 
                       same source.
- 05-09-2007 1.1       Add make files to build in linux
- 06-11-2007           pass all collada_dom errors and warnings as
                       CoherencyTest errors and warnings
- 06-19-2007           update makefiles for linux build
- 07-09-2007           Add check_Sid if Sid contains any illegal characters
                       add Check_bind_material to check if <instance_controller>
                       has <bind_material> correctly.
                       add check if controller has skin or morph.
- 07-18-2007           add -xmlschema option to use your own schema.xsd
- 07-19-2007           remove dependency on iconv
- 07-30-2007 1.2       if inputs that should reference to source is not
                       reference to a source, report error
                       if Index_Range in CHECK_Index_Range() is 0,