-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathwriteOff.m
38 lines (33 loc) · 1.01 KB
/
writeOff.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function writeOff(varargin)
filename = varargin{1};
coords = varargin{2};
triangles = varargin{3};
if length(varargin)==4
color = varargin{4};
assert(length(color(:,1))==length(coords(:,1)));
end
num_V = length(coords(:,1));
num_T = length(triangles(:,1));
%%
fid = fopen(filename,'w');
if(nargin==4)
fprintf(fid,'%s\n','COFF');
fprintf(fid,'%d %d %d\n',[num_V num_T 0]);
for vi = 1:num_V
fprintf(fid,'%.8g %.8g %.8g %.8g %.8g %.8g %d\n',[coords(vi,:) color(vi,:) 255]);
end
for ti = 1:num_T
fprintf(fid,'%d %d %d %d\n',[3 triangles(ti,:)-1]);
end
else
fprintf(fid,'%s\n','OFF');
fprintf(fid,'%d %d %d\n',[num_V num_T 0]);
for vi = 1:num_V
fprintf(fid,'%.8g %.8g %.8g\n',coords(vi,:));
end
for ti = 1:num_T
fprintf(fid,'%d %d %d %d\n',[3 triangles(ti,:)-1]);
end
end
fclose(fid);
end