Get from Ico-github-logo

Highlights from
Export figure to 3D interactive PDF

  • [strmodelshading, strface...
  • check_file_extension(fnam...
    See also CLEAR_FILE_EXTENSION, ISFILEXTENSION.
  • clear_file_extension(fnam...
    See also CHECK_FILE_EXTENSION, ISFILEXTENSION.
  • create_marker_lines(h, ty...
  • cut_line_to_pieces(x, npe...
  • doc_examples
  • draw_crystal_lattice
  • examples
  • fig2idtf(filename,...
    FIG2IDTF Save figure in IDTF format.
  • fig2latex(ax, fname, medi...
    FIG2LATEX Convert axes to U3D file, generating LaTeX code including it.
  • fig2pdf3d(ax, filename, m...
    FIG2PDF3D Convert axes to PDF with embedded interactive 3D image.
  • fig2u3d(ax, fname, imgtyp...
    FIG2U3D Convert figure to U3D file.
  • get_line_xyz(h)
  • get_quiver_data
  • heart3d
  • idtf2u3d(idtffile, u3dfile)
    IDTF2U3D Convert IDTF to U3D file.
  • idtf_model_nodes(n_meshes...
  • isfilextension(fname, ext...
    See also CHECK_FILE_EXTENSION, CLEAR_FILE_EXTENSION.
  • latex2pdf3d(fname, latex_...
    LATEX2PDF3D Compile LaTeX code to PDF.
  • line_pieces(vertices_all,...
    % See also u3d_pre_line, u3d_pre_contourgroup.
  • mesh_normals(points,faces)
    MESH_NORMALS compute mesh normals
  • populate_line_resource_st...
    % See also FACE_VERTEX_DATA_EQUALS_NPOINTS, VERBATIM.
  • populate_mesh_resource_st...
    % See also FACE_VERTEX_DATA_EQUALS_NPOINTS, MESH_NORMALS, VERBATIM.
  • populate_point_resource_s...
  • shaders_materials_modifie...
    File: shaders_materials_modifiers.m
  • single_mesh_resource_str(...
    % See also u3d_pre_patch.
  • test_hexagram_shape
  • u3d_in_latex(fname, media...
    U3D_IN_LATEX LaTeX code which includes a U3D file.
  • u3d_pre_contourgroup(ax)
    U3D_PRE_CONTOURGROUP Preprocess contour output to u3d.
  • u3d_pre_line(ax)
    U3D_PRE_LINE Preprocess line output to u3d.
  • u3d_pre_patch(ax)
    U3D_PRE_PATCH Preprocess surface output to u3d.
  • u3d_pre_quivergroup(ax)
    U3D_PRE_QUIVERGROUP Preprocess quiver output to u3d.
  • u3d_pre_surface(ax)
    U3D_PRE_SURFACE Preprocess surface output to u3d.
  • verbatim
    VERBATIM Get the text that appears in the next comment block.
  • view2vws(ax, filename, pa...
    VIE2VWS Saves current view in a views file for LaTeX media9 package.
  • test_fig2u3d_contour_surf.m
    function [] = test_fig2u3d_contour_surf
  • test_spiral.m
    function [] = test_fig2u3d_spiral
  • View all files
image thumbnail

Export figure to 3D interactive PDF

by

 

27 Jul 2012 (Updated )

Export figure as U3D file or directly to 3D interactive graphics within PDF.

verbatim
function str = verbatim
%VERBATIM  Get the text that appears in the next comment block.
%  Returns the text of the first comment block following the call.  The
%  block comment delimiters, %{ and %}, must appear on lines by themselves
%  (optionally preceded by white space).
%
%  If you want a final end-of-line character then leave a blank line before
%  the %}.
%
%  If both comment delimiters are preceded by the same white space (same
%  combination of spaces and tabs) then that white space will be deleted
%  (if possible) from the beginning of each line of the commented text.
%  This is so the whole block can be indented.
%
%  Example,
%
%      str = verbatim;
%          %{
%          This is the text
%          that will be returned by verbatim.
%          %}
%
%  VERBATIM can only be used in an m-file.


% Version: 1.1, 22 March 2009
% Author:  Douglas M. Schwarz
% Email:   dmschwarz=ieee*org, dmschwarz=urgrad*rochester*edu
% Real_email = regexprep(Email,{'=','*'},{'@','.'})


% Get the function call stack.
[dbs,thisWorkspace] = dbstack('-completenames');
assert(length(dbs) > 1,'VERBATIM must be called from an M-file.')
dbs = dbs(thisWorkspace + 1);
lines = repmat({''},1,100);

% Open the file.
fid = fopen(dbs.file);

try
	% Skip lines up to the current line in the calling function.
	textscan(fid,'%*s',0,'HeaderLines',dbs.line,'Delimiter','');

	% Read lines until one begins with '%{'.
	line = '';
	while ~isequal(line,-1) && isempty(regexp(line,'^\s*%{','once'))
		line = fgetl(fid);
	end

	% Read and save lines until one begins with '%}'.  Leave first cell
	% empty.
	k = 1;
	while true
		k = k + 1;
		lines{k} = fgetl(fid);
		if isequal(lines{k},-1) || ...
				~isempty(regexp(lines{k},'^\s*%}','once'))
			break
		end
	end

	% Close the file.
	fclose(fid);

catch err
	% Close the file and rethrow the error.
	fclose(fid);
	rethrow(err)
end

% If white space preceeding '%{' and '%}' is the same then delete it from
% the beginning of each line of the commented text so you can have indented
% code.
white_space1 = regexp(line,'^\s*','match','once');
white_space2 = regexp(lines{k},'^\s*','match','once');
if strcmp(white_space1,white_space2)
	lines = regexprep(lines,['^',white_space1],'');
end

% Construct the output string.
str = [sprintf('%s\n',lines{2:k-2}),lines{k-1}];

Contact us