source: issm/branches/trunk-jpl-ad2/src/m/plot/export_gl.m@ 19305

Last change on this file since 19305 was 19305, checked in by Eric.Larour, 10 years ago

CHG: minor tweaks and improvements

File size: 2.5 KB
Line 
1function export_gl(md,varargin)
2
3 templist=plotoptions(varargin{:});
4 optionslist=templist.list;
5 options=optionslist{1};
6 options=checkplotoptions(md,options);
7
8 %Setup unique directory in present dir:
9 directory=getfieldvalue(options,'directory','./');
10 databasename=getfieldvalue(options,'database','webgl');
11
12 %scaling factor:
13 scaling_factor=getfieldvalue(options,'scaling_factor',50);
14
15 %Deal with title:
16 if exist(options,'title')
17 title=getfieldvalue(options,'title');
18 else
19 title='';
20 end
21
22 %initialize model:
23 model.title=title;
24 model.initialZoomFactor=getfieldvalue(options,'zoom',-.25);
25
26 %Deal with contour {{{
27
28 contour_lat=md.mesh.lat(md.mesh.segments(:,1));
29 contour_long=md.mesh.long(md.mesh.segments(:,1));
30 contour_surface=md.geometry.surface(md.mesh.segments(:,1));
31
32 R=6371000*ones(length(contour_surface),1)+scaling_factor*contour_surface;
33
34 contourx = R .* cosd(contour_lat) .* cosd(contour_long);
35 contoury = R .* cosd(contour_lat) .* sind(contour_long);
36 contourz = R .* sind(contour_lat);
37
38 model.contourx=contourx;
39 model.contoury=contoury;
40 model.contourz=contourz;
41
42 %}}}
43%Deal with mesh and results {{{
44
45
46 lat=md.mesh.lat;
47 long=md.mesh.long;
48 surface=md.geometry.surface;
49 numberofelements=md.mesh.numberofelements;
50 numberofvertices=md.mesh.numberofvertices;
51
52 R=6371000*ones(numberofvertices,1)+scaling_factor*surface;
53
54 x = R .* cosd(lat) .* cosd(long);
55 y = R .* cosd(lat) .* sind(long);
56 z = R .* sind(lat);
57
58
59 %Deal with triangulation:
60 model.index=md.mesh.elements;
61 model.x=x;
62 model.y=y;
63 model.z=z;
64 model.surface=surface;
65
66 %Deal with data:
67 results=struct([]);
68 for i=1:length(optionslist),
69 options=optionslist{i}; options=checkplotoptions(md,options);
70 data=getfieldvalue(options,'data');
71 results(i).data=data;
72 results(i).caxis=getfieldvalue(options,'caxis',[min(data(:)) max(data(:))]);
73
74 label=getfieldvalue(options,'label','');
75 if strcmpi(label,''),
76 %create generic label:
77 label=['data' num2str(i)];
78 end
79 results(i).label=label;
80
81 shortlabel=getfieldvalue(options,'shortlabel','');
82 if strcmpi(shortlabel,''),
83 %create generic short label:
84 shortlabel=['data' num2str(i)];
85 end
86 results(i).shortlabel=shortlabel;
87
88 if size(data,2)>1,
89 time_range=getfieldvalue(options,'time_range',[0 100]);
90 results(i).time_range=time_range;
91 end
92
93 unit=getfieldvalue(options,'unit','');
94 if strcmpi(unit,''),
95 %create generic unit:
96 unit='SI';
97 end
98 results(i).unit=unit;
99 end
100 model.results=results;
101
102 %Write model to javascript database file:
103 writejsfile([directory databasename '.js'],model,databasename);
104%}}}
Note: See TracBrowser for help on using the repository browser.