27 |
<< fract << " " |
<< fract << " " |
28 |
<< show1 << "\n" ; |
<< show1 << "\n" ; |
29 |
params.resize(0); |
params.resize(0); |
30 |
|
DBG(dbg) << "Resized\n"; |
31 |
params.reserve(7*ninds); |
params.reserve(7*ninds); |
32 |
|
DBG(dbg) << "Reserved\n"; |
33 |
cs.resize(ninds/3); |
cs.resize(ninds/3); |
34 |
|
DBG(dbg) << "Resized2\n"; |
35 |
root = new RootCoords(); |
root = new RootCoords(); |
36 |
cs[0] = root; |
cs[0] = root; |
37 |
for(int i=3; i<ninds; i+=3) { |
DBG(dbg) << "setroot\n"; |
38 |
|
for(int i=3; i+3<ninds; i+=3) { |
39 |
|
DBG(dbg) << "loop "<<i<<"\n"; |
40 |
int parind = params.size(); |
int parind = params.size(); |
41 |
int tp = inds1[i]; |
int tp = inds1[i]; |
42 |
int npars = nparams(tp); |
int npars = nparams(tp); |
43 |
int parent = inds1[i+1]; |
int parent = inds1[i+1]; |
44 |
CoordSys *parentcs = cs[parent]; |
CoordSys *parentcs = cs[parent]; |
45 |
if(parentcs == 0) continue; // If parent's not interpolating, neither are we. |
if(parentcs == 0) { |
46 |
|
DBG(dbg) << "Parent not interp\n"; |
47 |
|
continue; // If parent's not interpolating, neither are we. |
48 |
|
} |
49 |
int ind1 = inds1[i+2]; |
int ind1 = inds1[i+2]; |
50 |
int csind2 = (interpinds ? interpinds[i/3] : -1); |
int csind2 = (interpinds ? interpinds[i/3] : -1); |
51 |
|
DBG(dbg) << "inds: "<<parind<<" "<<tp<<" "<<npars<<" "<<parent<<" "<<parentcs<<" "<<ind1<<" "<<csind2<<"\n"; |
52 |
if(csind2 <= 0) { |
if(csind2 <= 0) { |
53 |
if(show1) { |
if(show1) { |
54 |
for(int j = 0; j<npars; j++) { |
for(int j = 0; j<npars; j++) { |
68 |
c->setSuper(parentcs); |
c->setSuper(parentcs); |
69 |
c->setParams(&(params[0]) + parind); |
c->setParams(&(params[0]) + parind); |
70 |
} |
} |
71 |
|
DBG(dbg) << "end\n"; |
72 |
} |
} |
73 |
|
|
74 |
} |
} |