prevnext   » SZS: Wiimms SZS Toolset » wkclt: Wiimms KCL Tool » wkclt check

wkclt check

Read the entered KCL files (text or binary) and and make a plausibility check. Wildcards and pipe characters are parsed. Hints and warnings are written to standard output. The exit status is 'DIFFER' if at least one KMP warning found.


1.   Syntax

wkclt CHECK source...

2.   Options

Option Param Description
--no-wildcards Disable wildcard parsing and use each filename exactly as specified.
--in-order Process the input files in order of the command line and don't delete duplicates.
-i --ignore Ignore non existing source files without warning.
--colors [=modus] Define the modus for colored text output. Allowed keywords are: OFF or NO-COLORS to disable colors, AUTO (default) for automatic detection, ON for automatic detection but never OFF, 8-COLORS and 256-COLORS to force 8 or 256 color support. Without parameter, ON is used.

AUTO will enable colorized output only for terminals. AUTO and ON use environment variable TERM to find the correct color modus.

If a command is prefixed by 'C-', then --color=ON is used implicitly as default.

--no-colors Deactive colorized text. This is the default, if an output file is not a terminal.
-B --brief Print only warnings and suppress hints.
-l --long Be verbose and print more statistics.
-q --quiet Be quiet until the first warning or hint is found.
--no-echo Suppress output of @ECHO commands while scanning text files.
-N --no-check Do not make plausibility checks for KCL files.

3.   Description

For each valid input file (KCL, binary or object/text), a plausibility check is done. Archives are searched for sub file course.kcl. To understand what the check can do, you must know how the tools are read the files.

3.1   Mouth and Stomach

The naming Mouth and Stomach was created by Donald Knuth in his TeX Book. It should explain, how the data is read.

If opening a file, the data comes first into the mouth. The mouth will convert the incoming data to an internal dynamic data structure. First, the file type is analyzed. If it is a KCL text file, a parser environment is setup and the file is scanned. Binary KCL file are scanned directly with some validity checks. Errors in the mouth phase are always printed as warnings with a leading '!'. These errors are of kind syntax error.

After reading, the data comes into the stomach and is ready for checking, transforming and output, whatever the user want. And this means, that the KCL plausibility check sees only the fixed data and can only do some semantic checks.

3.2   List of tests

The following tests are done:

List of tests
Type Description
INFO The SZS Tools will write a signature if creating a new KCL. If this signature is found, it is printed.
HINT The number of face down triangles is printed. These are all triangels with a negative normal.
HINT The number of face down triangles with an angle >30° is printed. The number here is included in hint above.
HINT The number of obsolete triangles is printed. Obsolete triangels are not referenced by the octree and not seen by the game.
HINT The number of triangles with extreme values is printed. Extreme means, that the triangels are very very huge or very very thin.
WARN The number of triangles with invalid values is printed. This happens, if a vertex or normal in not a valid number, or if the length of a triangle is zero.
WARN The number of invalid triangle references is printed. This happens, if a the octree section links to a non existing triangle.