A Computer Graphics Metafile (CGM) Conformance Analysis Tool

MetaCheck™ is a standalone program for analyzing Computer Graphics Metafiles (CGMs). MetaCheck™ contains a set of optional industry profiles to provide the additional capability of verifying conformance to CALS and NITFS, ATA, PIP, J2008, and the ISO Model. MetaCheck interprets CGM version 1, version 2, and version 3 in all three encodings. It is the only tool chosen by the US National Institute of Standards and Technology (NIST) for its CGM validation and conformance testing program - NIST uses MetaCheck to validate metafiles (thus making a MetaCheck report an official test document), and to verify CGM output from metafile generators undergoing certification testing.

A CGM contains a device independent representation of a picture. Nineteen graphical primitive elements and thirty-five primitive attribute elements may be used in describing a picture. A single CGM may contain many pictures.

The CGM Standard

Computer Graphics Metafile (CGM) is an ANSI/ISO 8632:1992 and FIPS PUB 128-1 standard for storage, transmission and archival of graphics information. The standard defines a rich set of graphical elements and attributes; specifying encodings as well as element representation and storage formats.

CGM Encodings

There are three metafile encodings: binary, character and clear text. Binary CGMs are compact and intended for fast generation and interpretation. Element data in binary CGMs is independent of the CPU architecture - a binary CGM may be transported between computer systems, as long as the CGM contents are not altered. Character encoding is intended for situations where binary transmission is not available. Clear Text CGMs are verbose and human-readable. They may be edited with normal text editing tools.

MetaCheck is capable of analyzing CGMs in any of the three encodings. Further, the encoding is detected automatically when the CGM is first opened.

An Invaluable Tool for Developers and Users

Software developers who are required to support output of CGMs from their applications need to be sure that a CGM generated by the application is syntactically correct, conforms to the standard and contains an accurate representation of the intended picture. It is possible to use a CGM viewer for basic verification, but the process is not rigorous and is limited by subjective verification. MetaCheck can be employed to not only subject the CGM to a rigorous conformance check, but to list the contents of the CGM in full, verifying that the data in the CGM is indeed accurate.

Users of CGMs may also use MetaCheck to resolve problems in importing and viewing CGMs to one of three sources - a CGM may be non-conforming, it may contain incorrect information, or the CGM import software may be defective. A MetaCheck report will be able to pinpoint the source of the problem unambiguously.

Reporting Options

MetaCheck can be depolyed at five reporting levels:

A Sample Metacheck Report

MetaCheck Version 5.00 -- CGM Conformance Analyzer
Copyright 1988-94 CGM Technology Software
Execution Date: 11/01/93	Time: 10:00:51 
Metafile Examined	: gks0002.cgm
Message File		: metachek.msg
Registration File	: metachek.reg
Pictures Examined	: All
Elements Examined	: All
Bytes Examined		: All
======================= Trace Report========================
   1:BEGIN METAFILE		Offset:0	Length:7
    P1 : Metafile Name		Value: >b3.met<
. . . . . 
   5:BEGIN PICTURE		Offset:36	Length:13
    P1 : Picture Identifier	Value: >Picture 1
   6:VDC EXTENT			Offset:52	Length:8
    P1 : First Corner Point	Value:	 24,24
    P2 : Second Corner Point	Value: 32743,24546
   7:BEGIN PICTURE BODY		Offset:62	Length:0
   8:PATTERN INDEX		Offset:64	Length:2
    P1 : Pattern Index		Value: -1000
Error 6114: CGM Conformance Violation.
The Pattern Index is invalid; it must be positive.
   9:HATCH INDEX		Offset:68	Length:2
    P1 : Hatch Index	   Value:		VERTICAL (2)
. . . . . 
1136:END PICTURE		   Offset:19616	Length:0
1137:END METAFILE		   Offset:19618	Length:0
================ Element Use Summary Report=================
. . . . . 
   Total Graphical Primitive Elements (Class 4). . 1116
   POLYLINE. . . . . . . . . . . . . . . . . . . . 1112
   TEXT. . . . . . . . . . . . . . . . . . . . . . 2
   RECTANGLE . . . . . . . . . . . . . . . . . . . 2
. . . . . 
============= CGM Conformance Violation Report==============
Error 6114: Element Class/ID: 5/25 Offset: 64 octets Element No. 8
The Pattern Index is invalid; it must be positive.
================ Conformance Summary Report=================
MetaCheck Version 5.00 -- CGM Conformance Analyzer
Copyright 1988-94 CGM Technology Software 
Execution Date: 11/01/93 Time: 10:00:55 
Name of CGM under test: gks0002.cgm
Encoding		      : Binary
Pictures Examined		:All
Elements Examined		:All
Bytes Examined			:All
BEGIN METAFILE string : >b3.met<
Picture 1 starts at octet offset 36: >Picture 1
Conformance Summary : This file is not a conforming CGM.
Summary of Testing Performed and Errors Found:
	1 Pictures Tested
	1137 Elements Tested
	19620 Octets Tested
	0 Illegal CGM Elements				1000 - 1999
	0 Incorrect CGM Element Lengths			2000 - 2999
	0 CGM State Errors				3000 - 3499
	0 Required CGM Elements Missing or Wrong	4000 - 4499
	1 CGM Parameter Values Out of Range		6000 - 6499
	0 CGM Structure Errors				7000 - 7499
	1	***	CGM Errors Found (total)	***
	1 distinct error(s) and warning(s) reported.
================ End of Conformance Report==================

Use MetaCheck with Filters

MetaCheck output is designed and formatted so that its report generating power can be multiplied by applying common filters to the output. Condensed subset reports relating to specific topics of interest may be generated. For example, a list of all line type elements in a CGM may be extracted. MetaCheck may be invoked to accept input and direct its output to standard input and output streams.

Total CGM Solutions

ATC is fully committed to the CGM standard and offers a complete family of CGM products. Generate CGMs from your application using GRAFPAK-CGM. Use Metacheck to verify conformance of your CGMs to the standard, or to any of the industry profiles (CALS, ATA, PIP, ISO). Incorporate the MDL/I product into your application and read in element-level information from CGMs. Use CGM-Spooler to view the CGMs and generate hardcopy. By using CGM solutions from ATC, you will be in the company of leading CAD vendors who obtain CGM technology from ATC. For more information on MetaCheck or any of our other products, contact an ATC account representative today.

Copyright © 1995 Advanced Technology Center /