ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cv/mgflib/3ds2mgf.c
(Generate patch)

Comparing ray/src/cv/mgflib/3ds2mgf.c (file contents):
Revision 1.3 by greg, Fri Feb 9 11:02:29 1996 UTC vs.
Revision 1.8 by greg, Wed Sep 5 01:36:37 2007 UTC

# Line 1 | Line 1
1 + #ifndef lint
2 + static const char       RCSid[] = "$Id$";
3 + #endif
4   /*
5 <      3DS2POV.C  Copyright (c) 1996 Steve Anger and Jeff Bowermaster
5 >      3DS2POV.C  by Steve Anger and Jeff Bowermaster
6                          MGF output added by Greg Ward
7  
8        Reads a 3D Studio .3DS file and writes a POV-Ray, Vivid,
# Line 10 | Line 13
13        Compiled with MSDOS GNU C++ 2.4.1 or generic ANSI-C compiler
14   */
15  
13 #ifndef lint
14 static char SCCSid[] = "$SunId$ LBL";
15 #endif
16
16   #include <stdio.h>
17   #include <stdlib.h>
18   #include <math.h>
# Line 47 | Line 46 | extern unsigned _stklen = 16384;
46   #define MGF      4
47   #define RAW      99
48  
49 < #define DEG(x) ((180.0/M_PI)*(x))
50 < #define RAD(x) ((M_PI/180.0)*(x))
49 > #define DEG(x) ((double)(180.0/M_PI)*(x))
50 > #define RAD(x) ((double)(M_PI/180.0)*(x))
51  
52   #ifndef M_PI
53   #define M_PI (3.14159265358979323846)
# Line 351 | Line 350 | char *read_string (void);
350   float findfov (float lens);
351   int read_mgfmatname (char *s, int n, FILE *f);
352  
353 + char *progname;
354  
355 +
356   int main (int argc, char *argv[])
357   {
358      char meshfname[128];
# Line 453 | Line 454 | int main (int argc, char *argv[])
454   void process_args (int argc, char *argv[])
455   {
456      int i;
456    char *progname;
457      char *env_opt, *option;
458  
459      printf("\n\nAutodesk 3D Studio to Raytracer file Translator. Feb/96\n");
# Line 926 | Line 926 | void write_summary (FILE *f)
926          case MGF:
927              comstr = "# ";
928              break;
929 +        default:
930 +                printf ("Illegal format in write_summary() '%c'\n", format);
931 +                exit(1);
932      }
933      fprintf (f, "%s   Object    CenterX    CenterY    CenterZ    LengthX    LengthY    LengthZ\n", comstr);
934      fprintf (f, "%s ---------- ---------- ---------- ---------- ---------- ---------- ----------\n", comstr);
# Line 1600 | Line 1603 | void write_mgf_material (FILE *f, MatProp *m)
1603   /* Write a mesh file */
1604   void write_mesh (FILE *f, Mesh *mesh)
1605   {
1603    FILE *fi;
1606      int i;
1607      char curmat[80];
1608      Vector va, vb, vc;
# Line 2376 | Line 2378 | void parse_3ds (Chunk *mainchunk)
2378  
2379      do  {
2380          start_chunk (&chunk);
2381 <
2381 >        if (feof(in)) {
2382 >                fprintf(stderr, "%s: unexpected EOF\n", progname);
2383 >                break;
2384 >        }
2385          if (chunk.end <= mainchunk->end) {
2386              switch (chunk.tag) {
2387                  case 0x3D3D: parse_mdata (&chunk);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines