Graphics Reference
In-Depth Information
for e in E do
begin
fc := PseudoFacetItDefines (e); { Delete e and possibly other edges from E }
if NotNull (fc) then Add fc to F;
end
end ;
pseudofacet function PseudoFacetItDefines ( edge e0)
begin
pseudofacet fc;
face
f, lastf;
edge
e;
boolean
more;
Delete e0 from E;
Initialize fc to z, the intersection of e0 with x-y plane;
for each face f adjacent to e0 do flag the e0 in Exs[f] as SEEN;
(lastf,e) := face lastf is adjacent to e0 and edge e in Exs[lastf] is not yet SEEN;
more := true ;
while more do
begin
Delete e from E;
Add intersection z of e with x-y plane to end of fc;
for each face f adjacent to e do flag the e in Exs[f] as SEEN;
if some face f (π lastf) adjacent to e has edge (π e) in Exs[f] marked SEEN
then more := false
else
begin
lastf := face adjacent to e;
e is edge in Exs[lastf];
end ;
end ;
Delete all references to edges in all Exs[] which were marked as SEEN;
return (fc);
end ;
Algorithm 13.4.3.1. Continued
Search WWH ::




Custom Search