rollout igorznag_view_rez "View rez"
(
button btn_apply "Apply" pos:[50,50]
spinner sp_view_units "View units:" fieldWidth:60 range:[0, 1e9,100] pos:[5,5] type:#worldunits
spinner sp_render_pixels "Render pixels:" fieldWidth:45 range:[1, 32768,100] pos:[5,30] type:#integer
on btn_apply pressed do
(
views_array=#(#view_iso_user,#view_top,#view_bottom,#view_right,#view_left,#view_front,#view_back)
vt=viewport.getType()
if(finditem views_array vt !=0)then
(
dsf=displaySafeFrames; displaySafeFrames=true; completeRedraw();
asp_res=(renderWidth as float)/renderHeight
view_width=(getViewSize())[1]
view_height=(getViewSize())[2]
screen_center=[view_width/2,view_height/2]
asp_view=(view_width as float)/view_height
if(asp_res<asp_view)then view_width=view_height*asp_res
if(asp_res>asp_view)then view_height=view_width/asp_res
screen_p1=screen_center-[view_width/2,view_height/2]
screen_p2=screen_center+[view_width/2,view_height/2]
p1=mapScreenToView screen_p1 0
p2=mapScreenToView screen_p2 0
world_width=abs(p2.x-p1.x);
world_height=abs(p2.y-p1.y)
if(sp_view_units.value!=0)then
(
asp_pixels_units=(sp_render_pixels.value as float)/sp_view_units.value
rw=ceil (world_width*asp_pixels_units)
rh=ceil (world_height*asp_pixels_units)
if(rw>0 and rw<32768 and rh>0 and rh<32768)then
(renderWidth=rw; renderHeight=rh)
)--if(sp_view_units.value!=0)then
displaySafeFrames=dsf; completeRedraw()
renderSceneDialog.update()
)--if(finditem views_array vt !=0)then
)--on btn_apply pressed do
); createDialog igorznag_view_rez 140 80