Ignore:
Timestamp:
Jun 22, 2016, 7:54:40 PM (8 years ago)
Author:
sommeria
Message:

various

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/plot_object.m

    r954 r955  
    150150            xline=[xline; ObjectData.Coord(1,1)];%closing the line
    151151            yline=[yline; ObjectData.Coord(1,2)];
    152         case {'plane','volume'}
     152        case {'plane','plane_z','volume'}
    153153            if ~isfield(ObjectData,'Angle')
    154154                ObjectData.Angle=[0 0 0];
    155155            end
    156             phi=ObjectData.Angle(3)*pi/180;%angle in radians
     156            if strcmp(ObjectData.Type,'plane_z')
     157                Angle_1=ObjectData.Angle(1);
     158                Angle_2=ObjectData.Angle(2);
     159                norm_angle=sqrt(Angle_1*Angle_1+Angle_2*Angle_2);
     160                cosphi=Angle_1/norm_angle;%angle in radians
     161                sinphi=Angle_2/norm_angle;%angle in radians
     162            else
     163                cosphi=cos(ObjectData.Angle(3)*pi/180);%angle in radians
     164                sinphi=sin(ObjectData.Angle(3)*pi/180);%angle in radians
     165            end
    157166            x0=xline(1); y0=yline(1);
    158167            xlim=get(haxes,'XLim');
     
    177186            % axes lines
    178187            xline=NaN(1,13);
    179             xline(1)=x0+min(0,XMin)*cos(phi); % min end of the x axes
    180             yline(1)=y0+min(0,XMin)*sin(phi);
    181             xline(2)=x0+XMax*cos(phi);% max end of the x axes
    182             yline(2)=y0+XMax*sin(phi);
    183             xline(8)=x0-min(0,YMin)*sin(phi);% min end of the y axes
    184             yline(8)=y0+min(0,YMin)*cos(phi);
    185             xline(9)=x0-YMax*sin(phi);% max end of the y axes
    186             yline(9)=y0+YMax*cos(phi);
     188            xline(1)=x0+min(0,XMin)*cosphi; % min end of the x axes
     189            yline(1)=y0+min(0,XMin)*sinphi;
     190            xline(2)=x0+XMax*cosphi;% max end of the x axes
     191            yline(2)=y0+XMax*sinphi;
     192            xline(8)=x0-min(0,YMin)*sinphi;% min end of the y axes
     193            yline(8)=y0+min(0,YMin)*cosphi;
     194            xline(9)=x0-YMax*sinphi;% max end of the y axes
     195            yline(9)=y0+YMax*cosphi;
    187196           
    188197            %arrows on x axis
    189198            arrow_scale=graph_scale/20;
     199            phi=acos(cosphi);
    190200            xline(3)=xline(2)-arrow_scale*cos(phi-pi/8);
    191201            yline(3)=yline(2)-arrow_scale*sin(phi-pi/8);
     
    247257    end
    248258end
    249 if ismember(ObjectData.Type,{'line','polyline','polygon','plane_z'})
     259if ismember(ObjectData.Type,{'line','polyline','polygon'})
    250260    if length(xline)<2
    251261        theta=0;
     
    462472                end
    463473            end
    464         case {'line','polyline','polygon','plane_z'}
     474        case {'line','polyline','polygon'}
    465475            hh=line(xline,yline,'Color',col);
    466476                PlotData.SubObject(1)=line(xinf,yinf,'Color',col,'LineStyle',SubLineStyle,'Tag','proj_object');%draw sub-lines
     
    470480                        col,'LineStyle','none','Marker','.','Tag','DeformPoint','SelectionHighlight','off','UserData',hh);
    471481                end
    472         case {'plane','volume'}
     482        case {'plane','volume','plane_z'}
    473483            hh=line(xline,yline,'Color',col);
    474484            PlotData.SubObject(1)=line(xsup,ysup,'Color',col,'LineStyle',SubLineStyle,'Tag','proj_object');
Note: See TracChangeset for help on using the changeset viewer.