This is an old revision of the document! Table of Contents
Scripts > GetDesignMapLayer
Script contentshvar hDM set hDM <GetMap "DM"> assert <cast bool <map.GetWidth hDM>> "Design map not initialised!" // allow user to select layer combosel CS combosel.InitCS &CS "Altitude|PeakNoise|FracNoise|Cliffs|Erosion|Lakes|Climate|SpecType|SpecParam|" "Altitude" if <not <EditUI &CS "Select DM layer">> return 0 endif // determine layer ID int LayerID set LayerID -1 string LayerName string PaletteName set PaletteName "Greyscale" set LayerName <combosel.GetCurSel &CS> if <iseq 0 <strcmp LayerName "Altitude">> set LayerID 0 elseif <iseq 0 <strcmp LayerName "PeakNoise">> set LayerID 1 elseif <iseq 0 <strcmp LayerName "FracNoise">> set LayerID 2 elseif <iseq 0 <strcmp LayerName "Cliffs">> set LayerID 3 elseif <iseq 0 <strcmp LayerName "Erosion">> set LayerID 4 set PaletteName "EGA-VGA" elseif <iseq 0 <strcmp LayerName "Lakes">> set LayerID 5 set PaletteName "Blue" elseif <iseq 0 <strcmp LayerName "Climate">> set LayerID 6 set PaletteName "EGA-VGA" elseif <iseq 0 <strcmp LayerName "SpecType">> set LayerID 7 set PaletteName "EGA-VGA" elseif <iseq 0 <strcmp LayerName "SpecParam">> set LayerID 8 set PaletteName "EGA-VGA" else assert false "Invalid layer selection!" endif // get or create the map layer string MapName set MapName <strcat "DM-" LayerName> hvar hLayer set hLayer <GetMap MapName> if <not hLayer> set hLayer <project.CreateMapH MapName> endif assert hLayer "Can neither get nor create map layer!" // free layer if initialised if <map.GetWidth hLayer> map.Free hLayer endif assert <calc.DM.GetLayer hDM hLayer LayerID> "Cannot extract design map layer!" // set the display palette hvar hSettings set hSettings <project.GetSettingsListH> if hSettings hvar hStr set hStr <varlist.GetOrCreateItem hSettings string <strcat <strcat "MapViewOptions." MapName> ".IndexedPalette">> set *hStr PaletteName endif // and now show & edit the map layer view.ShowMap MapName CommentsNone. Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
|