📄 dosetup.m
字号:
function theResult = dosetup(self)% seagrid/dosetup -- Dialog for "seagrid" parameters.% setup(self) presents a dialog for self, a "seagrid"% object. % Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.% All Rights Reserved.% Disclosure without explicit written consent from the% copyright owner does not constitute publication. % Version of 07-Apr-1999 22:15:27.% Updated 10-Jan-2000 16:30:01.if nargin < 1, help(mfilename), return, endbusyif (0) theProjections = ... {'Geographic', 'Lambert Conformal Conic', 'Mercator', 'Stereographic'};endtheProjections = ... {'Mercator', 'Stereographic', '-', 'Lambert Equal Area'}; theProjection = psget(self, 'itsProjection');proj_code = 1;for i = 1:length(theProjections) if isequal(lower(theProjection), lower(theProjections{i})) proj_code = i; break; endendtheProjectionCenter = psget(self, 'itsProjectionCenter');if isempty(theProjectionCenter) theProjectionCenter = [0 0 0]; psset(self, 'itsProjectionCenter', theProjectionCenter)endtheLongitudeBounds = psget(self, 'itsLongitudeBounds');theLatitudeBounds = psget(self, 'itsLatitudeBounds');theGridSize = psget(self, 'itsGridSize');if length(theGridSize) == 1 theGridSize = theGridSize .* [1 1];endtheGridDensityFactor = psget(self, 'itsGridDensityFactor');theClippingDepths = psget(self, 'itsClippingDepths');theEndSlopeFlag = psget(self, 'itsEndSlopeFlag');useMexFile = psget(self, 'itUsesMexFile');s = [];s.Projection = {theProjections, proj_code};s.Proj.CentralLongitude = theProjectionCenter(1);s.Proj.CentralLatitude = theProjectionCenter(2);s.Proj.RotationAngle = theProjectionCenter(3);s.Proj.LongitudeMinMax = theLongitudeBounds;s.Proj.LatitudeMinMax = theLatitudeBounds;theGridSize = max(theGridSize, [6 6]); % Four cells minimum.theCellCount = theGridSize;s.Cells_Edge_1 = theCellCount(1);s.Cells_Edge_2 = theCellCount(2);s.MinimumDepth = theClippingDepths(1);s.MaximumDepth = theClippingDepths(2);s.EndSlopeFlag = {'checkbox', any(theEndSlopeFlag)};s.UseMexFile = {'checkbox', any(useMexFile)};SeaGrid_Setup = s;if (0)% s = uigetinfo(SeaGrid_Setup);else s = guido(SeaGrid_Setup);endif ~isempty(s) theNewProjection = getinfo(s, 'Projection'); if isequal(theNewProjection, '-') theNewProjection = theProjection; end t = s.Proj; theNewCenterLon = getinfo(t, 'CentralLongitude'); theNewCenterLat = getinfo(t, 'CentralLatitude'); theNewCenterAng = getinfo(t, 'RotationAngle'); theNewProjectionCenter = [theNewCenterLon theNewCenterLat theNewCenterAng]; psset(self, 'itsNewProjection', theNewProjection) psset(self, 'itsNewProjectionCenter', theNewProjectionCenter) doreproject(self) theLongitudeBounds = getinfo(s, 'Proj.LongitudeMinMax'); theLatitudeBounds = getinfo(s, 'Proj.LatitudeMinMax'); theCells_Edge_1 = getinfo(s, 'Cells_Edge_1'); theCells_Edge_2 = getinfo(s, 'Cells_Edge_2'); theGridLines_Edge_1 = theCells_Edge_1; theGridLines_Edge_2 = theCells_Edge_2; psset(self, 'itsLongitudeBounds', theLongitudeBounds) psset(self, 'itsLatitudeBounds', theLatitudeBounds) if ~isempty(theGridLines_Edge_1) & ~isempty(theGridLines_Edge_2) theGridSize = [theGridLines_Edge_1 theGridLines_Edge_2]; theGridSize = ceil(max(theGridSize, [6 6])); psset(self, 'itsGridSize', theGridSize) end theGridDensityFactor = getinfo(s, 'GridDensityFactor'); if 0 & ~isempty(theGridDensityFactor) psset(self, 'itsGridDensityFactor', theGridDensityFactor) end theClippingDepths = getinfo(s, 'ClippingDepths'); if 0 & ~isempty(theClippingDepths) psset(self, 'itsClippingDepths', theClippingDepths); end theMinimumDepth = getinfo(s, 'MinimumDepth'); theMaximumDepth = getinfo(s, 'MaximumDepth'); if ~isempty(theMinimumDepth) & ~isempty(theMaximumDepth) theClippingDepths = [theMinimumDepth theMaximumDepth]; psset(self, 'itsClippingDepths', theClippingDepths); end theEndSlopeFlag = getinfo(s, 'EndSlopeFlag'); if ~isempty(theEndSlopeFlag) psset(self, 'itsEndSlopeFlag', any(theEndSlopeFlag)) end useMexFile = getinfo(s, 'UseMexFile'); if ~isempty(useMexFile) psset(self, 'itUsesMexFile', any(useMexFile)); end psset(self, 'itNeedsUpdate', 1)else psset(self, 'itNeedsUpdate', 0)endif nargout > 0, theResult = self; endidle
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -