]> Creatis software - CreaPhase.git/blobdiff - octave_packages/geometry-1.5.0/io/private/lineLoopGeo.m
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / geometry-1.5.0 / io / private / lineLoopGeo.m
diff --git a/octave_packages/geometry-1.5.0/io/private/lineLoopGeo.m b/octave_packages/geometry-1.5.0/io/private/lineLoopGeo.m
new file mode 100644 (file)
index 0000000..92f5350
--- /dev/null
@@ -0,0 +1,32 @@
+%% Copyright (c) 2010 Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
+%% 
+%%    This program is free software: you can redistribute it and/or modify
+%%    it under the terms of the GNU General Public License as published by
+%%    the Free Software Foundation, either version 3 of the License, or
+%%    any later version.
+%%
+%%    This program is distributed in the hope that it will be useful,
+%%    but WITHOUT ANY WARRANTY; without even the implied warranty of
+%%    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+%%    GNU General Public License for more details.
+%%
+%%    You should have received a copy of the GNU General Public License
+%%    along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+%% -*- texinfo -*-
+%% @deftypefn {Function File} @var{str} =  lineLoopGeo (@var{id}, @var{nl}, @var{lns})
+%% Generates a string for Gmsh Line Loop format.
+%%
+%% The third elementary entity is the surface. In order to define a
+%% simple rectangular surface from defined lines, a
+%% line loop has first to be defined. A line loop is a list of
+%% connected lines, a sign being associated with each line (depending
+%% on the orientation of the line). @var{id} is an indentifier for the loop.
+%% @var{nl} is the number of lines in the loop. @var{lns} is the list of lines.
+%%
+%% @end deftypefn
+
+function str = lineLoopGeo(id,nl,lns)
+    substr = repmat(',%d',1,nl-1);
+    str = sprintf(['Line Loop(%d) = {%d' substr '};\n'],id,lns);
+end