Mit GetVisibleThemes kann ich die sichtbaren Themen eines Views ermitteln. Wie kann ich feststellen, welche konkreten Dateien eines Indexthemas im aktuellen View sichtbar sind. Geht das überhaupt?
Bin dankbar für einen Tip.
Bin dankbar für einen Tip.
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Jürgen Evert am Fr., 25.07.2003 - 12:37
Permalink'Aktives Thema muss das Imagethema sein
theview=av.getactivedoc
if(theview.is(view).not) then return nil end
if(theview.getthemes.count=0) then return nil end
if(theview.getactivethemes.count=0) then return nil end
if(theview.getactivethemes.get(0).is(Itheme).not)then return nil end
if(theview.getactivethemes.get(0).GetImgSrc.is(imgcat).not) then return nil end
kartenthema=theview.getactivethemes.get(0)
leg=kartenthema.getlegend
cmap=leg.getcolormap
anz=cmap.count
cattab=vtab.make(kartenthema.getsrcname.getfilename,false,false)
qlist={}
a=cattab.findfield("xmin")
b=cattab.findfield("ymin")
c=cattab.findfield("xmax")
d=cattab.findfield("ymax")
for each rec in cattab
a1=cattab.returnvalue(a,rec)
b1=cattab.returnvalue(b,rec)
c1=cattab.returnvalue(c,rec)
d1=cattab.returnvalue(d,rec)
r=graphicshape.make(rect.makexy(a1,b1,c1,d1))
r.setobjecttag(cattab.returnvalue(cattab.findfield("Image"),rec))
qlist.add(r)
end
theView.SetSelectMode(#GRAPHICS_SELECT_VERTEX)
p = theView.getdisplay.Returnvisextent'UserPolygon
if (p.IsNull) then
return nil
else
gp = GraphicShape.Make(p).getshape
end
l={}
for each r in qlist
if(r.getshape.intersects(gp) )then
l.add(r.getobjecttag)
end
end
msgbox.listasstring(l,"geladene Rasterdaten","IMGCAT")
http://www.juergenevert.de