turdukulov@gmail.com wrote:
> OK, after applying golden rule - RFM (Read the F..ing Manual) and
> looking at the forum, finally I have decided to post my question.
> To start with- I am a beginner generally in programming and
> particularly in IDL. I could not find solution to following
> visualization problem.
> I have set of spheres (oOrb). Those spheres are icons representing
> regions extracted from images. Each sphere has x,y, time coordinates
> and radius proportional to one of the attribute of the region (e.g.
> size). There are also tubes connecting those spheres and showing
> relationship between regions (continuation, split, merge etc.). I used
> IDLgrModel and visualized it in XOBJVIEW. So far it works.
> Now, I wanted to add time slider and images to XOBJVIEW that will show
> up when user moves the slider. I have done it through IDLgrPolygon
> object with texture map property being a grayscale image (see code
> below, Input: 3D image (x,y, time)):
>
>
> for i=0, ntimes-1 do begin
> oImage=OBJ_NEW('IDLgrImage', image[*,*,i])
>
> oPoly=obj_new("IDLgrPolygon", number_x, number_y, i ,$
> STYLE=2,Texture_Map = oImage,$
> Texture_Coord = [[0,0],[0,1], [1,1], [1,0]], HIDE=1)
>
> oModel->Add, oPoly, POSITION=i
> Endfor
>
> And in the event_handler I change the property HIDE=1 into HIDE=0
> for that slider position.(through POSITION keyword).
>
> Now my question: The resulted image looks black, without any texture. I
> have tried to add the COLOR keyword [255,255,255], but it didn't
> help. Seems I am missing something simple here, but I am just
> lost...That's why I have decided to ask the group. Any help would be
> appreciated,
>
> Thanks,
> Ulan
>
Hello,
I think the trick is buried in the ORB object's handling of texture
coords... otherwise you seem to be just fine with your code. I *really*
don't understand ORB at all, but I wish that it became an "offical" part
of IDL along with a lot of simple shapes like cylinders, ellipsoids, etc.
The following works if you specify the TEX_COORDS keyword at the
instantiation of the ORB object.
Cheers,
Ben
****START HERE****
pro textmap
dim = [50,75]
number_x = [0,0,dim[0]-1,dim[0]-1]
number_y = [0, dim[1]-1, dim[1]-1, 0]
omodel = obj_new('idlgrmodel')
nTimes = 5
image = rebin(bytscl(hanning(dim[0],dim[1])), dim[0], dim[1], nTimes)
for i=0, ntimes-1 do begin
oImage=OBJ_NEW('IDLgrImage', image[*,*,i])
orb = obj_new('orb', POS = [0,0, i*2], /TEX_COORDS)
orb->GetProperty, pObj = opoly
oPoly->SetProperty, $
COLOR = [255,255,255], $
Texture_Map = oImage
oModel->Add, orb
Endfor
xobjview, omodel, /block
obj_destroy, omodel
End
****END HERE****
|