[brlcad-commits] SF.net SVN: brlcad: [29960] brlcad/trunk/src/proc-db
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <br...@us...> - 2008-01-16 21:03:17
|
Revision: 29960 http://brlcad.svn.sourceforge.net/brlcad/?rev=29960&view=rev Author: brlcad Date: 2008-01-16 13:03:23 -0800 (Wed, 16 Jan 2008) Log Message: ----------- add an example of creating geometry using basic shell scripting. the example shows several ways for passing modeling commands to mged, creates the .g geometry file, sets material properties, and renders the model to an image. don't install it, just an example. Modified Paths: -------------- brlcad/trunk/src/proc-db/Makefile.am Added Paths: ----------- brlcad/trunk/src/proc-db/sgi.sh Modified: brlcad/trunk/src/proc-db/Makefile.am =================================================================== --- brlcad/trunk/src/proc-db/Makefile.am 2008-01-16 18:26:42 UTC (rev 29959) +++ brlcad/trunk/src/proc-db/Makefile.am 2008-01-16 21:03:23 UTC (rev 29960) @@ -56,13 +56,8 @@ ${OPENNURBS} brickwall_SOURCES = brickwall.c -brickwall_LDADD = ${WDB} - clutter_SOURCES = clutter.c common.c - contours_SOURCES = contours.c -contours_LDADD = ${WDB} - fence_SOURCES = fence.c globe_SOURCES = globe.c kurt_SOURCES = kurt.c @@ -96,7 +91,9 @@ man_MANS = picket_fence.1 -EXTRA_DIST = $(man_MANS) +EXTRA_DIST = \ + $(man_MANS) \ + sgi.sh include $(top_srcdir)/misc/Makefile.defs Added: brlcad/trunk/src/proc-db/sgi.sh =================================================================== --- brlcad/trunk/src/proc-db/sgi.sh (rev 0) +++ brlcad/trunk/src/proc-db/sgi.sh 2008-01-16 21:03:23 UTC (rev 29960) @@ -0,0 +1,100 @@ +#!/bin/sh +# s g i . s h +# +# Create and render the SGI cube (tm) logo as BRL-CAD geometry. +# The SGI cube is a registered trademark of SGI. +# +# Author - +# Christopher Sean Morrison +# +# This script is in the public domain. +# +##################################################################### + +SGI="`basename $0`" +rm -f $SGI.* + +# cube dimensions +i=1000 ; j=700 ; radius=125 + +# starting position +x=0 ; y=0 ; z=0 + +# functions to create geometry for each direction of the cube's path +right ( ) { + old=$x + x=$((old + $2)) + mged -c $SGI.g in rcc.$1 rcc $old $y $z $((x - old)) 0 0 $radius + mged -c $SGI.g in sph.$1 sph $x $y $z $radius +} +left ( ) { + old=$x + x=$((old - $2)) + mged -c $SGI.g in rcc.$1 rcc $old $y $z $((x - old)) 0 0 $radius + mged -c $SGI.g in sph.$1 sph $x $y $z $radius +} +forward ( ) { + old=$y + y=$((old + $2)) + mged -c $SGI.g in rcc.$1 rcc $x $old $z 0 $((y - old)) 0 $radius + mged -c $SGI.g in sph.$1 sph $x $y $z $radius +} +back ( ) { + old=$y + y=$((old - $2)) + mged -c $SGI.g in rcc.$1 rcc $x $old $z 0 $((y - old)) 0 $radius + mged -c $SGI.g in sph.$1 sph $x $y $z $radius +} +up ( ) { + old=$z + z=$((old + $2)) + mged -c $SGI.g in rcc.$1 rcc $x $y $old 0 0 $((z - old)) $radius + mged -c $SGI.g in sph.$1 sph $x $y $z $radius +} +down ( ) { + old=$z + z=$((old - $2)) + mged -c $SGI.g in rcc.$1 rcc $x $y $old 0 0 $((z - old)) $radius + mged -c $SGI.g in sph.$1 sph $x $y $z $radius +} + +########################### +echo "Creating the cube..." + +forward 100 $i +left 101 $j +down 102 $i +right 103 $i +up 104 $j +back 105 $i +down 106 $i +forward 107 $j +left 108 $i +back 109 $i +right 110 $j +up 111 $i +left 112 $i +down 113 $j +forward 114 $i +up 115 $i +back 116 $j +right 117 $i + +mged -c $SGI.g g cube.c rcc.* sph.* +mged -c $SGI.g r cube.r u cube.c +mged -c $SGI.g mater cube.r \"cook re=.8 di=1 sp=1 ri=10\" 250 250 250 0 + +########################### +echo "Rendering the cube..." + +cat <<EOF | mged -c $SGI.g +B cube.r +ae 135 -40 180 +saveview $SGI.rt +EOF + +./$SGI.rt -s1024 +pix-fb -s1024 $SGI.rt.pix + +rm -f $SGI.rt* && mv $SGI.g sgi.g +echo "The SGI cube is in the sgi.g BRL-CAD geometry database file." Property changes on: brlcad/trunk/src/proc-db/sgi.sh ___________________________________________________________________ Name: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |