Difference between revisions of "Portal:CoherencyTest"

From COLLADA Public Wiki
Jump to: navigation, search
(List of Checks)
(List of Checks)
Line 14: Line 14:
  
 
==List of Checks==
 
==List of Checks==
Check_links      -It checks if all id are valid reference and if we  
+
Check_links      -It checks if all id are valid reference and if we  
 
                   can resolveElement and getElement from a link     
 
                   can resolveElement and getElement from a link     
  
Check_unique_id -It checks if all Ids in each document are unique     
+
Check_unique_id -It checks if all Ids in each document are unique     
  
Check_counts -It checks number counts are correctly set, eg.  
+
Check_counts -It checks number counts are correctly set, eg.  
 
                   skin vertex count should be = mesh vertex count     
 
                   skin vertex count should be = mesh vertex count     
 
                   accessor has the right count on arrays from stride
 
                   accessor has the right count on arrays from stride
 
                   and counts.
 
                   and counts.
  
Check_files      -It checks if the image files, cg/fx files, and other
+
Check_files      -It checks if the image files, cg/fx files, and other
 
                   non-dae files that the document referenced exist     
 
                   non-dae files that the document referenced exist     
  
Check_textures  -It checks if the textures are correctly defined/used
+
Check_textures  -It checks if the textures are correctly defined/used
 
                   (image, surface, sampler, instancing...) <texture>  
 
                   (image, surface, sampler, instancing...) <texture>  
 
                   shouldn't directly reference to <image> id.
 
                   shouldn't directly reference to <image> id.
Line 35: Line 35:
 
                   <init_from> refernce to <image> id.
 
                   <init_from> refernce to <image> id.
  
Check_URI        -It checks if the URI are correct. It should also  
+
Check_URI        -It checks if the URI are correct. It should also  
 
                   check for unescaped spaces because a xml validator  
 
                   check for unescaped spaces because a xml validator  
 
                   won't catch the problem. Reference  
 
                   won't catch the problem. Reference  
 
                   http://www.w3.org/TR/xmlschema-2/#anyURI
 
                   http://www.w3.org/TR/xmlschema-2/#anyURI
  
Check_schema    -It checks if the document validates against the Schema   
+
Check_schema    -It checks if the document validates against the Schema   
  
Check_inputs    -It checks if the required number of input elements  
+
Check_inputs    -It checks if the required number of input elements  
 
                   are present and that they have the correct semantic  
 
                   are present and that they have the correct semantic  
 
                   values for their sources.   
 
                   values for their sources.   
  
Check_skin      -It will check if values in name_array should only  
+
Check_skin      -It will check if values in name_array should only  
 
                   reference to an existing SID, and values in  
 
                   reference to an existing SID, and values in  
 
                   IDREF_array should only reference to an existing ID   
 
                   IDREF_array should only reference to an existing ID   
  
Check_InstanceGeometry -It checks if all Intance_geometry has  
+
Check_InstanceGeometry -It checks if all Intance_geometry has  
 
                   bind_material that has a correct matching  
 
                   bind_material that has a correct matching  
 
                   bind_material between symbol and target
 
                   bind_material between symbol and target
  
Check_Controller -It checks if skin have same number of vertices  
+
Check_Controller -It checks if skin have same number of vertices  
 
                   weight as the vertices number of geometry. It  
 
                   weight as the vertices number of geometry. It  
 
                   checks if morph have same number of vertices  
 
                   checks if morph have same number of vertices  
Line 60: Line 60:
 
                   all other target geometry.
 
                   all other target geometry.
  
Check_Float_array -It checks if NaN, INF, -INF exist in all the float  
+
Check_Float_array -It checks if NaN, INF, -INF exist in all the float  
 
                   array   
 
                   array   
  
Check_sid   -It checks if a sid is a valid sid   
+
Check_sid   -It checks if a sid is a valid sid   
  
Check_morph      -It checks if a morph have same number of targets and target_weights
+
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.
 
                   -It checks if all targets have the same number of vertices.
  

Revision as of 21:27, 30 July 2007

Welcome to the COLLADA CoherencyTest portal
It is a simple test that check if 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 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.

If you have any sugguest of what should go into the coherencytest, please email me at herbert_law@playstation.sony.com

List of Checks

Check_links      -It checks if all id are valid reference and if we 
                 can resolveElement and getElement from a link    
Check_unique_id -It checks if all Ids in each document are unique     
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_files      -It checks if the image files, cg/fx files, and other
                 non-dae files that the document referenced exist     
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_URI        -It checks if the URI are correct. It should also 
                 check for unescaped spaces because a xml validator 
                 won't catch the problem. Reference 
                 http://www.w3.org/TR/xmlschema-2/#anyURI
Check_schema     -It checks if the document validates against the Schema   
Check_inputs     -It checks if the required number of input elements 
                 are present and that they have the correct semantic 
                 values for their sources.   
Check_skin       -It will check if values in name_array should only 
                 reference to an existing SID, and values in 
                 IDREF_array should only reference to an existing ID  
Check_InstanceGeometry -It checks if all Intance_geometry has 
                 bind_material that has a correct matching 
                 bind_material between symbol and target
Check_Controller -It checks if skin have same number of vertices 
                 weight as the vertices number of geometry. It 
                 checks if morph have same number of vertices 
                 from source geometry as number of vertices in 
                 all other target geometry.
Check_Float_array -It checks if NaN, INF, -INF exist in all the float 
                 array  
Check_sid	  -It checks if a sid is a valid sid   
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.


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,