replmarks(1) replace triangular markers in a RADIANCE scene description


replmarks [ -e ][ -m newmod ][ -s scale ] { -x objfile | -i octree | -I mesh } modname .. [ file .. ]


Replmarks replaces triangular markers identified by the modifier modname in each scene description file and writes the result to the standard output. The -x option indicates that each marker should be replaced by an appropriate xform(1) command on objfile. The -i option indicates that each marker should be replaced by an instance of octree. The -I option indicates that each marker should be replaced by an instance of the Radiance mesh mesh. One of these three options must appear on the command line, along with modname, the modifier used by markers in the file.

Multiple modifiers may be given, as long as each one is preceded by its own -x or -i option.

The transformation for each marker is determined by its location and orientation. A marker should be a right triangle pointing like a half-arrow in the direction of the transformed x-axis, x'. The longest side is the hypoteneuse, the second longest side is the x'-axis, and the third longest side indicates the direction of the y'-axis. Any additional sides will be ignored (ie. a quadrilateral may be used instead of a triangle if the extra side is small). The z'-axis is determined by the cross product of the x' and y' axes, and the origin is the common vertex between x' and y'.

The size of the marker is ignored unless the -s option is used, where scale is a multiplier for the x'-axis length to indicate the total scale factor. For example, a scale value of 5 with a marker length of .5 would result in a total scale factor of 2.5 to be used in the transformation.

The -e option causes commands in the file to be expanded, and is required to replace markers from commands in the input file. Even with this option, replmarks will not examine objects for markers. Specifically, an object included by replmarks as a result of a -x expansion will be transferred verbatim, without regard to any surfaces therein that might have been considered as marks if they were on the main input.

The -m option causes all replaced objects to be given the modifier newmod. Otherwise, the new object surfaces will use their originally defined modifiers. A different replacement modifier may be given for each marker type. The marker modifier name itself is only used to identify markers, and will not appear in the output in any form.

If no input file is given, the standard input is read.


To replace all polygons with the modifier ``knobs'' in the file input with a transformed ``knob.rad'' and write the result to output:
replmarks -x knob.rad knobs input > output

To use instances of ``tree.oct'' with scaling set to three times the tree marker length:

replmarks -s 3 -i tree.oct tree input > output


Greg Ward