version 1.9, 2000/07/31 15:36:22
|
version 1.12, 2000/08/24 15:04:44
|
Line 9 Resource Assembly Tool
|
Line 9 Resource Assembly Tool
|
1/7,1/8,1/10,1/14,1/15,1/16,1/21,1/22,1/29,1/30,1/31, |
1/7,1/8,1/10,1/14,1/15,1/16,1/21,1/22,1/29,1/30,1/31, |
2/2,2/3,2/10,2/12,2/13,2/14,2/15,2/17,2/18,2/19,2/20,2/21,2/22, |
2/2,2/3,2/10,2/12,2/13,2/14,2/15,2/17,2/18,2/19,2/20,2/21,2/22, |
5/2,5/3,5/4,5/5,5/6,5/8,5/9,5/13,5/18,5/20,5/22,5/24,5/25, |
5/2,5/3,5/4,5/5,5/6,5/8,5/9,5/13,5/18,5/20,5/22,5/24,5/25, |
6/7,6/8,6/9,6/10,6/12,6/15,7/4,7/26,7/28,7/31 |
6/7,6/8,6/9,6/10,6/12,6/15,7/4,7/26,7/28,7/31,8/5,8/19,8/24 |
Gerd Kortemeyer with Scott Harrison |
Gerd Kortemeyer with Scott Harrison |
--> |
--> |
|
|
Line 62 var funny='|';
|
Line 62 var funny='|';
|
var reqaction=''; |
var reqaction=''; |
var canceltim; |
var canceltim; |
|
|
|
var expense=0; |
|
|
var data1=new Array(1024); |
var data1=new Array(1024); |
var data2=new Array(1024); |
var data2=new Array(1024); |
var data3=new Array(1024); |
var data3=new Array(1024); |
Line 75 var inf;
|
Line 77 var inf;
|
function insertrow(j,ex1,ex2) { |
function insertrow(j,ex1,ex2) { |
var kj; |
var kj; |
stored=0; |
stored=0; |
|
expense++; expense++; |
objects1=''; |
objects1=''; |
objects2=''; |
objects2=''; |
for (kj=0;kj<=maxrow;kj++) { |
for (kj=0;kj<=maxrow;kj++) { |
Line 220 function insertcol(j) {
|
Line 223 function insertcol(j) {
|
if ( col[kj]>j ) { col[kj]++; } |
if ( col[kj]>j ) { col[kj]++; } |
} |
} |
maxcol++; |
maxcol++; |
|
expense++; expense++; |
col[maxcol]=j+1; |
col[maxcol]=j+1; |
} |
} |
|
|
Line 343 function comingthru (jid,kid,dkid) {
|
Line 347 function comingthru (jid,kid,dkid) {
|
|
|
function insertport (obj1,d,inout,linkobj) { |
function insertport (obj1,d,inout,linkobj) { |
|
|
|
|
var k; var port; var revport; |
var k; var port; var revport; |
stored=0; |
stored=0; |
data1=obj[obj1].split('&'); |
data1=obj[obj1].split('&'); |
Line 422 function insertport (obj1,d,inout,linkob
|
Line 425 function insertport (obj1,d,inout,linkob
|
|
|
function addobj(kjid,objs) { |
function addobj(kjid,objs) { |
stored=0; |
stored=0; |
|
expense++; |
if (rowcont[kjid]!='') { rowcont[kjid]+=':'; } |
if (rowcont[kjid]!='') { rowcont[kjid]+=':'; } |
rowcont[kjid]+=obj.length; |
rowcont[kjid]+=obj.length; |
obj[obj.length]=objs; |
obj[obj.length]=objs; |
Line 481 function delobj(obj1) {
|
Line 485 function delobj(obj1) {
|
} |
} |
} |
} |
} |
} |
|
obj[obj1]=''; |
} |
} |
|
|
// --------------------------------------------------------- Garbage collection |
// --------------------------------------------------------- Garbage collection |
Line 627 function dellink (linknr) {
|
Line 632 function dellink (linknr) {
|
// Links obj1 with obj2, creates new objlink, marks all elements with number |
// Links obj1 with obj2, creates new objlink, marks all elements with number |
|
|
function joinres (obj1,obj2,cond) { |
function joinres (obj1,obj2,cond) { |
var k; var kr; var outcol; var incol; var d; |
|
stored=0; |
stored=0; |
|
var minexpense; |
|
var best; |
|
|
|
expense=0; |
|
tryjoin(obj1,obj2,cond,1,1); |
|
minexpense=expense; |
|
best=0; |
|
finishload(); |
|
|
|
expense=0; |
|
tryjoin(obj1,obj2,cond,1,-1); |
|
if (expense<minexpense) { |
|
best=1; |
|
minexpense=expense; |
|
} |
|
finishload(); |
|
|
|
expense=0; |
|
tryjoin(obj1,obj2,cond,-1,1); |
|
if (expense<minexpense) { |
|
best=2; |
|
minexpense=expense; |
|
} |
|
finishload(); |
|
|
|
expense=0; |
|
tryjoin(obj1,obj2,cond,-1,-1); |
|
if (expense<minexpense) { |
|
best=3; |
|
minexpense=expense; |
|
} |
|
|
|
|
|
if (best==0) { |
|
finishload(); |
|
tryjoin(obj1,obj2,cond,1,1); |
|
} |
|
if (best==1) { |
|
finishload(); |
|
tryjoin(obj1,obj2,cond,1,-1); |
|
} |
|
if (best==2) { |
|
finishload(); |
|
tryjoin(obj1,obj2,cond,-1,1); |
|
} |
|
|
|
} |
|
|
|
|
|
function tryjoin(obj1,obj2,cond,d1,d2) { |
|
var k; var kr; var outcol; var incol; var d; var dest; |
|
|
dest=objlinks.length; |
dest=objlinks.length; |
objlinks[dest]=obj1+':'+obj2+':'+cond; |
objlinks[dest]=obj1+':'+obj2+':'+cond; |
data3=obj[obj1].split('&'); |
|
sum=0; |
outcol=insertport(obj1,d1,2,dest); |
for (k=2;k<data3.length;k++) { sum+=col[data3[k].split(':')[0]]; } |
|
outmiddle=sum/(data3.length-2); |
|
data3=obj[obj2].split('&'); |
|
sum=0; |
|
for (k=2;k<data3.length;k++) { sum+=col[data3[k].split(':')[0]]; } |
|
inmiddle=sum/(data3.length-2); |
|
d=inmiddle-outmiddle; |
|
outcol=insertport(obj1,d,2,dest); |
|
insertcond(obj1,outcol,cond); |
insertcond(obj1,outcol,cond); |
incol=insertport(obj2,-d,1,dest); |
incol=insertport(obj2,d2,1,dest); |
if (row[inrow]==(row[outrow]+1)) { |
if (row[inrow]==(row[outrow]+1)) { |
insertrow(row[outrow],-1,-1); |
insertrow(row[outrow],-1,-1); |
} |
} |
Line 835 function delres (obj1,recon) {
|
Line 883 function delres (obj1,recon) {
|
thiscond+='('+outobjscond[k2]+')'; |
thiscond+='('+outobjscond[k2]+')'; |
} |
} |
condnr=0; |
condnr=0; |
if (thiscond!='') { condnr=newcondition(thiscond,'normal'); } |
if (thiscond!='') { condnr=newcondition(thiscond,'normal'); } |
|
save(); |
joinres(inobjs[k],outobjs[k2],condnr); |
joinres(inobjs[k],outobjs[k2],condnr); |
} |
} |
} |
} |
Line 1359 function insertreslink(infostr) {
|
Line 1408 function insertreslink(infostr) {
|
dellink(lnr); |
dellink(lnr); |
newresource(rid,cid,'','','false','normal'); |
newresource(rid,cid,'','','false','normal'); |
nobj=obj.length-1; |
nobj=obj.length-1; |
|
save(); |
joinres(fobj,nobj,cobj); |
joinres(fobj,nobj,cobj); |
|
save(); |
joinres(nobj,tobj,0); |
joinres(nobj,tobj,0); |
} |
} |
|
|
Line 1379 function insertcondlink(cid,lnr) {
|
Line 1430 function insertcondlink(cid,lnr) {
|
dellink(lnr); |
dellink(lnr); |
newresource(maxrow,cid,'','','false','normal'); |
newresource(maxrow,cid,'','','false','normal'); |
nobj=obj.length-1; |
nobj=obj.length-1; |
|
save(); |
joinres(fobj,nobj,cobj); |
joinres(fobj,nobj,cobj); |
|
save(); |
joinres(nobj,tobj,0); |
joinres(nobj,tobj,0); |
} |
} |
|
|
Line 1695 function graphreset() {
|
Line 1748 function graphreset() {
|
insertcol(-1); |
insertcol(-1); |
|
|
objcont[0]=''; |
objcont[0]=''; |
|
objlinks[0]=''; |
if (((objcont[1]==undefined)&&(objcont[2]==undefined)) || |
if (((objcont[1]==undefined)&&(objcont[2]==undefined)) || |
((objcont[1]=='')&&(objcont[2]==''))) { |
((objcont[1]=='')&&(objcont[2]==''))) { |
objcont[1]='Start::false:start:res' |
objcont[1]='Start::false:start:res' |
objcont[2]='Finish::false:finish:res'; |
objcont[2]='Finish::false:finish:res'; |
objlinks[0]=''; |
|
objlinks[1]='1:2:0'; |
|
} |
} |
|
|
graphdef='no'; |
graphdef='no'; |
|
|
} |
} |
Line 2121 function graphopt() {
|
Line 2172 function graphopt() {
|
row[k]=k; |
row[k]=k; |
} |
} |
maxrow=rowcont.length-1; |
maxrow=rowcont.length-1; |
|
|
var oldlinks=new Array(); |
var oldlinks=new Array(); |
for (k=0;k<objlinks.length;k++) { oldlinks[k]=objlinks[k]; } |
for (k=0;k<objlinks.length;k++) { |
|
oldlinks[k]=objlinks[k]; |
|
objlinks[k]=''; |
|
} |
objlinks.length=0; |
objlinks.length=0; |
objlinks[0]=''; |
objlinks[0]=''; |
|
graphdef='yes'; |
|
save(); |
|
|
for (k=0;k<objsorted.length;k++) { |
for (k=0;k<objsorted.length;k++) { |
kj=(objsorted[k].split(':'))[0]; |
wheelswitch(); |
|
message("Connecting Resources: "+funny); |
|
kj=(objsorted[k].split(':'))[0]; |
for (ij=1;ij<oldlinks.length;ij++) { |
for (ij=1;ij<oldlinks.length;ij++) { |
if (oldlinks[ij]) { |
if (oldlinks[ij]) { |
data1=oldlinks[ij].split(':'); |
data1=oldlinks[ij].split(':'); |
if (data1[0]==kj) { |
if (data1[0]==kj) { |
joinres(data1[0],data1[1],data1[2]); |
joinres(data1[0],data1[1],data1[2]); |
|
save(); |
} |
} |
} |
} |
} |
} |
} |
} |
graphdef='yes'; |
|
} |
} |
|
|
// ----------------------------------------------------------- Remove e-objects |
// ----------------------------------------------------------- Remove e-objects |
Line 2360 function leave() {
|
Line 2418 function leave() {
|
if (!inf.closed) { |
if (!inf.closed) { |
inf.close(); |
inf.close(); |
} |
} |
if (stored==0) { |
|
if (confirm('Store changes?')) { |
|
storechange(); |
|
} |
|
} |
|
} |
} |
|
|
</script> |
</script> |