Menu

Home

PCJohn

Open Inventor Tools is a set of utilities for Open Inventor and VRML files. You may find some of them really cool.

Most of the utilities were released together with SGI Inventor and can be distributed under LGPL license. They were ported to compile with Coin and to work on many platforms including Windows.

Utilities

ivAddVP - converts geometry into the Vertex Property node

ivcat - like standard unix 'cat' utility

ivfix - optimizes scene graph for performance

ivgraph - prints out the scene graph structure

ivinfo - prints some information, especially content of each SoInfo node

ivnorm - generates normals for all SoIndexedFaceSets that are missing them

ivperf - meassures rendering performance of a given model

ivToInclude - generates the header files from inventor models

ivview - viewer for Inventor and vrml files

ivvrml - convertor between iv/vrml1/vrml2 files

longToInt32 - converts files using "long" types to "int32_t" types

Download

License

ivAddVP, ivToInclude, ivcat, ivfix, ivinfo, ivnorm, ivperf, ivview, longToInt32: developed by SGI, license LGPL

ivvrml, ivgraph: develped by PCJohn, license public domain

ivAddVP

The utility converts Inventor files (version 2.0 and following) into the Inventor files that use the Vertex Property node.

The discussion can be whether SoVertexProperty node gives more performance. The decision is on the user of the utility.

The detailed description of the behaviour of the utility can be found in its README.

Usage: ivAddVP [-bch] [-o outfile] [infile]
-b : Output binary format (default ASCII)
-o : Write output to [filename]
-n : Keep unused normal vectors
-c : Make copies of instanced nodes
-h : This message (help)
If given a filename of '-' or if not given
any filenames, standard input will be read.

ivcat

The utility behaves like unix 'cat'. It can be used to:

  • concatenate several files into one output file
  • convert between ACSII and binary Inventor format

Usage: ivcat [-bfth] [-o outfile] [infiles]
-b : Output binary format (default ASCII)
-o : Write output to [filename]
-f : Expand File nodes
-t : Expand Texture2 nodes
-v : Verbose
-h : This message (help)
If not given any input file names or output file name
is not specified, they detaults to stdin and stdout.

ivfix

ivfix restructures Inventor scene graphs for improved rendering performance.

The utility is similar to ivquicken, but it should be even better in its job than ivquicken. However, ivquicken tries to preserve the overall structure of a scene graph, but ivfix does not bother with that.

The exhausting description can be found in its README.

Usage: ivfix [options] [infile] [outfile]
-a : Write out an ascii file. Default is binary
-d dir : Add 'dir' to the list of directories to search
-f : Produce independent faces rather than tri strips
-h : Print this message (help)
-n : Do not generate any normals
-p : Do not produce SoVertexProperty nodes for properties
-t : Do not generate any texture coordinates
-m : Use SoTransform instead of SoMatrixTransform
(for better file readability)
-v : (Verbose) Display status info during processing
-V : (Very verbose) Display more detailed status info
If no input or output file name is specified, stdin and stdout are used.

ivgraph

ivgraph prints out scene graph structure and some additional info.

Usage: ivgraph [-h] [infile]
-v, --verbose : Verbose error messages
-h, --help : This message (help)
If input file name is not specified, stdin is used.

ivinfo

ivinfo prints out information on an Inventor data file, including:

  • whether data is ASCII or binary
  • number of root nodes
  • number of nodes under each root
  • contents of any SoInfo nodes found in the data

Usage: ivinfo [-h] [file]
-h : Print this message (help)
If no filename is given, standard input will be read.

ivnorm

This program attempts to find outward-facing normals for all the
SoIndexedFaceSet nodesfound in an Inventor scene file that do not
ALREADY have Normal or NormalBinding nodes. It then computes face
normals for each face set, inserts them into the database, and writes
the result.

More detailed information about how it works can be found in ivnorm's README.

Usage: ivnorm [options] [infile] [outfile]
-c Assume counter-clockwise faces
-C Assume clockwise faces
-v Find vertex normals
-a angle Use angle (in degrees) as crease angle
-V verbose trace
-h This message (help)
If input or output file name is not specified,
stdin and stdout are used.

ivperf

ivperf reads in an Inventor scene graph and analyzes its rendering performance.
Its output can be graphically displayed in the form of a bar chart.

More details on meassuring can be found in ivperf's README.

Usage: ivperf [-b] [-f N] [-w X,Y] [infile]
-b display results as bar chart
-f N render N frames for each test (default 60)
-w X,Y make window size X by Y pixels (default 400x400)
If no input file name is given, stdin is used.

ivToInclude

ivToInclude takes the Inventor model and outputs standard-C file that can be included directly by your C/C++ project.

Typical usage is

ivToInclude foo \<model.iv >foo.h

It will produce foo.h file containing:

const unsigned char foo[] = {
0x23u,0x49u,0x6eu,0x76u,0x65u,0x6eu,0x74u,[...]
};

Unsigned char and "u" after each value is used for portability reasons.

You can include the file and make the models embeded in your executable, e.g. no external files.

Usage: ivToInclude [options] variableName \< inputFile.iv
-a : Output ascii
-h : This message (help)
variableName : The name of the variable in header file to create.

ivview

ivview reads an Inventor file (or files) and provides a simple interface to quickly view 3D data.

Windows note: Most of the functionality is of ivview is disabled (menu, etc.) since Motif compatible library is not present on Windows platform.

Usage: ivview [-hpw] [infiles]
-h : Print this message (help) and exit
-p : Enable performance meter
-w : Use walk viewer (examiner viewer is default) - ignored because
Coin does not support SoWalkViewer yet
If no input file name is given, stdin is used.

ivvrml

ivvrml is can be used for converting between following file formats:

  • Inventor ASCII
  • Inventor binary
  • VRML 1.0
  • VRML 2.0 / VRML97

Usage: ivvrml [options] [inputfile] [[-o] outputfile]
-i, --iv-ascii : Output Inventor ascii format
-b, --iv-binary : Output Inventor binary format
-1, --vrml-1 : Output VRML 1.0 format
-2, --vrml-2 : Output VRML2/VRML97 format
-o [filename] : Write output to [filename]
-v, --verbose : Print messages during the process
-h, --help : This message (help)
If input or output file name is not specified,
stdin and stdout are used.

longToInt32

longToInt32 utility is a perl script, used
to convert a list of files from using "long" types to "int32_t" types.
For more details see its README.

For usage details, see comments in the script.


Inventor and Open Inventor are trademarks of Silicon Graphics, Inc.


MongoDB Logo MongoDB