219
|
1 // $HeadURL$
|
|
2 // $Date$
|
|
3 // $Author$
|
|
4
|
|
5 // @author@ h3r3tic <foo@bar.baz>
|
|
6 // @date@ 2004-12-26
|
|
7 // @uri@ news:cqmufn$26oj$1@digitaldaemon.com
|
|
8 // @url@ nntp://digitalmars.com/digitalmars.D.bugs/2606
|
|
9
|
|
10 // __DSTRESS_DFLAGS__ -inline
|
|
11
|
|
12 module dstress.run.bug_20041226_E;
|
|
13
|
248
|
14 version(none){
|
|
15 import std.stdio;
|
|
16 }else{
|
219
|
17 void writefln(...){
|
|
18 }
|
|
19 }
|
|
20
|
|
21 struct vec3{
|
|
22 vec3 opSub(vec3 a){
|
|
23 vec3 x;
|
|
24 return x;
|
|
25 }
|
|
26 }
|
|
27
|
|
28 struct Face{
|
|
29 vec3 a;
|
|
30 }
|
|
31
|
|
32 struct Mesh{
|
|
33 Face[] faces;
|
|
34 }
|
|
35
|
|
36 struct GeomObject{
|
|
37 Mesh mesh;
|
|
38 char[] name;
|
|
39 vec3 xlate;
|
|
40 }
|
|
41
|
|
42 class AseLoader{
|
|
43 this(){
|
|
44 GeomObject go;
|
|
45 go.name = "NODE";
|
|
46 geomObjects ~= go;
|
|
47 }
|
|
48
|
|
49 GeomObject[] geomObjects;
|
|
50 }
|
|
51
|
|
52
|
|
53 void extractTriangles(GeomObject geomObj){
|
|
54 void foobar(){
|
|
55 try{
|
|
56 writefln("name: ", geomObj.name);
|
|
57
|
|
58 return;
|
|
59 }catch(Object err){
|
|
60 throw err;
|
|
61 }
|
|
62 }
|
|
63
|
|
64 foobar();
|
|
65 }
|
|
66
|
|
67 int main(){
|
|
68 try{
|
|
69 AseLoader al = new AseLoader;
|
|
70
|
|
71 foreach(GeomObject go; al.geomObjects){
|
|
72 writefln("processing ", go.name);
|
|
73 extractTriangles(go);
|
|
74 }
|
|
75 }catch(Object err){
|
|
76 writefln("Exception caught:", err);
|
|
77 }
|
|
78
|
|
79 return 0;
|
|
80 }
|