class SPLICE_ALG


Flattened version is here



Public


Readonly Shareds
shared DTblV, DTblE:ARRAY{INT};
**** table of distance on the band. See setDTblV and setDTblE.
shared DTblV, DTblE:ARRAY{INT};
**** table of distance on the band. See setDTblV and setDTblE.
shared KnotCT:KNOT;
**** KnotCT[] is a table of crossing condition on the band in original picture.
shared KnotP0:KNOT;
**** work
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared numberOfCrossing:INT;
**** In setCrossingTbl, count number of crossings max size of new Knot can be
____(Knot.length+(s01-s00)+8*numberOfCrossing)
shared rot0, rot1:INT;
**** rotation around band attaching pts
shared rot0, rot1:INT;
**** rotation around band attaching pts
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared vx, vx0,vy, vy0:INT;
**** vextor
shared vx, vx0,vy, vy0:INT;
**** vextor
shared vx, vx0,vy, vy0:INT;
**** vextor
shared vx, vx0,vy, vy0:INT;
**** vextor

Writable Shareds
shared DTblV, DTblE:ARRAY{INT};
**** table of distance on the band. See setDTblV and setDTblE.
shared DTblV, DTblE:ARRAY{INT};
**** table of distance on the band. See setDTblV and setDTblE.
shared KnotCT:KNOT;
**** KnotCT[] is a table of crossing condition on the band in original picture.
shared KnotP0:KNOT;
**** work
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared numberOfCrossing:INT;
**** In setCrossingTbl, count number of crossings max size of new Knot can be
____(Knot.length+(s01-s00)+8*numberOfCrossing)
shared rot0, rot1:INT;
**** rotation around band attaching pts
shared rot0, rot1:INT;
**** rotation around band attaching pts
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared s00, s01, s10, s11, b0, b1:INT;
**** band
shared vx, vx0,vy, vy0:INT;
**** vextor
shared vx, vx0,vy, vy0:INT;
**** vextor
shared vx, vx0,vy, vy0:INT;
**** vextor
shared vx, vx0,vy, vy0:INT;
**** vextor

Constants
const bdEnd:INT:=3;
**** end
const bdInn:INT:=1;
**** inner of band core
const bdStp:INT:=2;
**** start
const divL:INT:=3;
****
const left:INT:= 1;
const maxD:INT:=maxhw0*divL;
**** max distance in DTblV and DTblE
const maxhw0:INT:=16;
**** max of half width of the band
const right:INT:=-1;

Features
SpliceK(inout Knot:KNOT, i:INT)
SpliceK1(inout Knot:KNOT, i:INT)
checkS(knot:KNOT,s:STR)
checkSw(knot:KNOT)
copyK(inout Knot:KNOT, i1, i2, dir:INT)
exg(inout Knot:KNOT, w,w1,cn:INT):BOOL
set(Knot:KNOT, si:INT, x,y,l:INT)
setBoundary(Knot:KNOT)
**** knot is modified to rot0(rot near the start point b0) be +1. set boundary of the band s00..s01, s10..s11 d0:INT; --distance d:INT;
setBoundaryPt(Knot:KNOT, side,btype:INT,inout d0:INT, d,si:INT)
**** Before use this, Set d,vx,vy, d0,vx0,vy0 See last of this procedure.
setCr(inout Knot:KNOT, k0, k1:INT, dir:INT):BOOL
setCrossingTbl(inout Knot:KNOT)
setDTblE(Knot:KNOT,side:INT)
**** DTblE[ki] be the table of min( distance(edge Knot[ki]-Knot[ki+1], vertex Knot[i]))
setDTblV(Knot:KNOT)
**** DTblV[ki] be the table of min( disttance(vertex Knot[ki], edge Knot[i]-Knot[i+1]))
setbds(Knot:KNOT,side:INT)
**** set boundaries
setdE(Knot:KNOT,side:INT, ki:INT)
****
setdV(Knot:KNOT, ki:INT)

The Sather Home Page