Illustrt

Section: illustration (-)
Updated: Simple
Index Return to Main Contents

 6 "IRIT Version 6.0"   

NAME

Illustrt - Simple line illustration filter

 

Introduction

illustrt is a filter that processes IRIT data files and dumps out modified IRIT data files. illustrt can be used to make simple nice illustrations of data. The features of illustrt include depth sorting, hidden line clipping at intersection points, and vertex enhancements. illustrt is designed to closely interact with irit2ps, although it is not neceessary to use irit2ps on illustrt output.

 

Command line options


   illustrt [-I #IsoLines] [-S #SampPerCrv] [-s] [-M] [-P] [-p]
            [-l MaxLnLen] [-a] [-t TrimInter] [-o OutName] [-Z InterSameZ]
            [-m] [-z] DFiles

-I #IsoLines: Specifies number of isolines per surface, per direction. -S #SampPerCrv: Specifies the samples per (iso)curve. -s: sorts the data in Z depth order that emulates hidden line removal once the data are drawn. -M: Dumps the control mesh/polygon as well. -P: Dumps the curve/surface as isocurves. -p: Dumps vertices of polygons/lines as points. -l MaxLnLen: breaks long lines into shorter ones with maximal length of MaxLnLen. This option is necessary to achieve good depth depending line width in the '-d' option of irit2ps. -a: takes into account the angle between the two (poly)lines that intersect when computing how much to trim. See also -t. -t TrimInter: Each time two (poly)line segments intersect in the projection plane, the (poly)line that is farther away from the viewer is clipped TrimInter amount from both sides. See also -a. -o OutName: Name of output file. Default is stdout. -Z InterSameZ: The maximal Z depth difference of intersection curves to be be considered invalid. -m: More talkative mode. Prints processing information. -z: Prints version number and current defaults.

 

Usage

illustrt is a simple line illustration tool. It process geometry such as polylines and surfaces and dumps geometry with attributes that will make nice line illustrations. illustrt is geared mainly toward its use with irit2ps to create postscript illustrations. Here is a simple example:


 illustrt -s -l 0.1 solid1.dat | irit2ps -W 0.05 -d 0.2 0.6 -u - > solid.ps

make sure all segments piped into irit2ps are shorter than 0.1 and sort them in order to make sure hidden surface removal is correctly applied. Irit2ps is invoked with depth cueing activated, and a default width of 0.05.

illustrt dumps out regular IRIT data files, so output can be handled like any other data set. illustrt does the following processing to the input data set:

Converts surfaces to isocurves ('-I' flag) and isocurves and curves to polylines ('-S' flag), and converts polygons to polylines. Polygonal objects are considered closed and even though each edge is shared by two polygons, only a single one is generated. Finds the intersection location in the projection plane of all segments in the input data set and trims away the far segment at both sides of the intersection point by an amount controlled by the '-t' and '-a' flags. Breaks polylines and long lines into short segments, as specified via the (see irit2ps's '-d' flag) as well as the Z sorting. Generates vertices of polygons in the input data set as points in output data controlled via the '-p' flag. set. Applies a Z sort to the output data, if '-s', so drawing in order of the data will produce a properly hidden surface removal drawing.

Here is a more complex example. Make sure tubular is properly set via "attrib(solid1, "tubular", 0.7);" and invoke:


 illustrt -s -p -l 0.1 -t 0.05 solid1.dat |
     irit2ps -W 0.05 -d 0.2 0.6 -p h 0.05 -u - > solid.ps

makes sure all segments piped into irit2ps are shorter than 0.1, generates points for the vertices, sorts the data in order to make sure hidden surface removal is correctly applied, and trims the far edge by 0.05 at an intersection point. Irit2ps is invoked with depth cueing activated and a default width of 0.05, points are drawn as hollowed circles of default size 0.05, and lines are drawn tubular.

Objects in the input stream that have an attribute by the name of "IllustrtNoProcess" are passed to the output unmodified. Objects in the input stream that have an attribute by the name of "SpeedWave" will have a linear segments added that emulate fast motion with the following attributes,
 "Randomness,DirX,DirY,DirZ,Len,Dist,LenRandom,DistRandom,Width". Objects in the input stream that have an attribute by the name of "HeatWave" will have a spiral curves added that emulate a heat wave in the +Z axis with the following attributes,
 "Randomness,Len,Dist,LenRandom,DistRandom,Width". Examples:


 attrib(Axis, "IllustrtNoProcess", "");
 attrib(Obj, "SpeedWave", "0.0005,1,0,0,5,3,3,2,0.05");
 attrib(Obj, "HeatWave", "0.015,0.1,0.03,0.06,0.03,0.002");


 

Index

NAME
Introduction
Command line options
Usage

This document was created by man2html, using the manual pages.
Time: 07:27:19 GMT, October 17, 2022