Portal:CoherencyTest: Difference between revisions
Jump to navigation
Jump to search
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{portalheader|title=COLLADA CoherencyTest|description= | {{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 | |||
properly | |||
http://sourceforge.net/projects/collada-dom | |||
It is developed in C/C++ and | It is developed in C/C++ and built using MSVC. | ||
If you have | If you have suggestions for what should go into the coherency test, please email me at [mailto:[email protected] [email protected]]. | ||
please email me at [email protected] | |||
==External links== | |||
* [https://collada.org/public_forum/viewtopic.php?t=552 Forum topic on Coherency Test] | |||
==List of Checks== | ==List of Checks== | ||
{| {{prettytable}} | |||
|- | |||
| Check_links | |||
|Checks whether all IDs are valid reference and whether we can resolveElement and getElement from a link | |||
|- | |||
Check_counts | | 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: | |||
Check_files | *skin vertex count should be = mesh vertex count | ||
*accessor has the right count on arrays from stride and counts. | |||
|- | |||
Check_textures | | 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_URI | |- | ||
| Check_schema | |||
|Checks whether the document validates against the Schema | |||
|- | |||
| Check_inputs | |||
Check_schema | |Checks whether the required number of input elements are present and that they have the correct semantic values for their sources. | ||
|- | |||
Check_inputs | | 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 | |||
Check_skin | |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_InstanceGeometry | |- | ||
| Check_Float_array | |||
|Checks whether NaN, INF, INF exist in all the float array | |||
|- | |||
Check_Controller | | Check_sid | ||
|Checks whether SIDs are valid SIDs | |||
|- | |||
| Check_morph | |||
| | |||
* Checks whether a morph has the same number of targets and target_weights. | |||
Check_Float_array | * Checks whether all targets have the same number of vertices. | ||
|} | |||
Check_sid | |||
Check_morph | |||
===User guide=== | ===User guide=== | ||
Line 102: | Line 94: | ||
Date Version Description | Date Version Description | ||
- 04-24-2007 1.0 Inital Version | - 04-24-2007 1.0 Inital Version | ||
- 04-26-2007 | - 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 | ||
Line 115: | Line 107: | ||
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 | - 06-11-2007 pass all collada_dom errors and warnings as | ||
CoherencyTest errors and warnings | CoherencyTest errors and warnings | ||
- 06-19-2007 | - 06-19-2007 update makefiles for linux build | ||
- 07-09-2007 | - 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 | - 07-18-2007 add -xmlschema option to use your own schema.xsd | ||
- 07-19-2007 | - 07-19-2007 remove dependency on iconv | ||
- 07-30-2007 1.2 if inputs that should reference to source is not | - 07-30-2007 1.2 if inputs that should reference to source is not | ||
reference to a source, report error | reference to a source, report error | ||
if Index_Range in CHECK_Index_Range() is 0, | if Index_Range in CHECK_Index_Range() is 0, | ||
[[Category:Portals]][[Category: | [[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
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 [email protected].
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:
|
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 |
|
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,