Revision: 35464
http://brlcad.svn.sourceforge.net/brlcad/?rev=35464&view=rev
Author: irpguardian
Date: 2009-08-04 14:59:47 +0000 (Tue, 04 Aug 2009)
Log Message:
-----------
Added command line arguments for each measurement for use with the wizard.
Modified Paths:
--------------
brlcad/trunk/src/proc-db/human.c
Modified: brlcad/trunk/src/proc-db/human.c
===================================================================
--- brlcad/trunk/src/proc-db/human.c 2009-08-04 13:26:40 UTC (rev 35463)
+++ brlcad/trunk/src/proc-db/human.c 2009-08-04 14:59:47 UTC (rev 35464)
@@ -1389,12 +1389,12 @@
int read_args(int argc, char **argv, struct human_data_t *dude, fastf_t
*percentile, fastf_t *location, fastf_t *stance, fastf_t *troops, fastf_t
*showBoxes)
{
char c = 'a';
- char *options="AbH:hLlmn:N:O:o:p:s:w";
+ char
*options="AbH:hLlmn:N:O:o:p:s:w1:2:3:4:5:6:7:8:9:0:=:+:_:):(:*:&:^:%:$:#:@:";
float height=0;
int soldiers=0;
int pose=0;
int percent=50;
- int man = 0;
+ fastf_t x = 0;
/* don't report errors */
bu_opterr = 0;
@@ -1494,6 +1494,124 @@
fflush(stdin);
break;
+ /* These 22 arguments are for the wizard program, allowing easy access
to each variable.
+ * as they will only be callable by using a number (eg 1 = head, 2=neck
width, 3=neck height etc)
+ * and should not be called otherwise
+ */
+ case '1':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->head.headSize = x;
+ break;
+ case '2':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->head.neckLength = x;
+ break;
+ case '3':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->head.neckWidth = x;
+ break;
+ case '4':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->torso.topTorsoLength=x;
+ break;
+ case '5':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->torso.lowTorsoLength=x;
+ dude->torso.torsoLength = dude->torso.topTorsoLength +
dude->torso.lowTorsoLength;
+ break;
+ case '6':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->torso.shoulderWidth=x;
+ break;
+ case '7':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->torso.abWidth=x;
+ break;
+ case '8':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->torso.pelvisWidth=x;
+ break;
+ case '9':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->arms.upperArmWidth=x;
+ break;
+ case '0':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->arms.upperArmLength=x;
+ break;
+ case '=':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->arms.lowerArmLength=x;
+ break;
+ case '+':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->arms.elbowWidth=x;
+ break;
+ case '_':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->arms.wristWidth=x;
+ break;
+ case ')':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->arms.handLength=x;
+ dude->arms.armLength=dude->arms.upperArmLength +
dude->arms.lowerArmLength + dude->arms.handLength;
+ break;
+ case '(':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->arms.handWidth=x;
+ break;
+ case '*':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->legs.thighLength=x;
+ break;
+ case '&':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->legs.thighWidth=x;
+ break;
+ case '^':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->legs.calfLength=x;
+ dude->legs.legLength = dude->legs.thighLength +
dude->legs.calfLength;
+ break;
+ case '%':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->legs.kneeWidth=x;
+ break;
+ case '$':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->legs.footLength=x;
+ break;
+ case '#':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->legs.ankleWidth=x;
+ break;
+ case '@':
+ sscanf(bu_optarg, "%lf", &x);
+ x*=IN2MM;
+ dude->legs.toeWidth=x;
+ break;
+
default:
show_help(*argv, options);
bu_log("%s: illegal option -- %c\n", bu_getprogname(), c);
@@ -1501,6 +1619,7 @@
fflush(stdin);
break;
}
+ dude->height = (dude->legs.legLength + dude->torso.torsoLength +
dude->head.headSize) / IN2MM;
}
fflush(stdout);
return(bu_optind);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits