ucftools/matlab/convert_colmap_matlab2parav...

41 lines
2.2 KiB
Matlab

function [col] = convert_colmap_matlab2paraview(col)
% [col] = convert_colmap_matlab2paraview(col)
% Renames fieldnames of vector quantities, so that paraview
% recognizes them as vectors
colval = cell2mat(col.values);
keysold = col.keys;
keysnew = keysold;
keysnew = regexprep(keysnew,'^id$' ,'ID' );
keysnew = regexprep(keysnew,'^x$' ,'Coords_0' );
keysnew = regexprep(keysnew,'^y$' ,'Coords_1' );
keysnew = regexprep(keysnew,'^z$' ,'Coords_2' );
keysnew = regexprep(keysnew,'^r$' ,'Radius' );
keysnew = regexprep(keysnew,'^rho$' ,'Density' );
keysnew = regexprep(keysnew,'^ax$' ,'AxCoords_0' );
keysnew = regexprep(keysnew,'^ay$' ,'AxCoords_1' );
keysnew = regexprep(keysnew,'^az$' ,'AxCoords_2' );
keysnew = regexprep(keysnew,'^u$' ,'Velocity_0' );
keysnew = regexprep(keysnew,'^v$' ,'Velocity_1' );
keysnew = regexprep(keysnew,'^w$' ,'Velocity_2' );
keysnew = regexprep(keysnew,'^ox$' ,'AxVelocity_0' );
keysnew = regexprep(keysnew,'^oy$' ,'AxVelocity_1' );
keysnew = regexprep(keysnew,'^oz$' ,'AxVelocity_2' );
keysnew = regexprep(keysnew,'^fx$' ,'Force_0' );
keysnew = regexprep(keysnew,'^fy$' ,'Force_1' );
keysnew = regexprep(keysnew,'^fz$' ,'Force_2' );
keysnew = regexprep(keysnew,'^tx$' ,'Torque_0' );
keysnew = regexprep(keysnew,'^ty$' ,'Torque_1' );
keysnew = regexprep(keysnew,'^tz$' ,'Torque_2' );
keysnew = regexprep(keysnew,'^fxc$' ,'CollisionForce_0' );
keysnew = regexprep(keysnew,'^fyc$' ,'CollisionForce_1' );
keysnew = regexprep(keysnew,'^fzc$' ,'CollisionForce_2' );
keysnew = regexprep(keysnew,'^txc$' ,'CollisionTorque_0');
keysnew = regexprep(keysnew,'^tyc$' ,'CollisionTorque_1');
keysnew = regexprep(keysnew,'^tzc$' ,'CollisionTorque_2');
keysnew = regexprep(keysnew,'^s(?=\d*)','ScalarVal' );
keysnew = regexprep(keysnew,'^q(?=\d*)','ScalarFlux' );
col = containers.Map(keysnew,colval);
end