From: Jonathan S. <jjs...@us...> - 2005-04-29 16:46:06
|
Update of /cvsroot/octaviz/octaviz/Scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17197 Modified Files: vtk_axis.m Log Message: working on axis functionality Index: vtk_axis.m =================================================================== RCS file: /cvsroot/octaviz/octaviz/Scripts/vtk_axis.m,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- vtk_axis.m 29 Apr 2005 05:31:26 -0000 1.6 +++ vtk_axis.m 29 Apr 2005 16:45:58 -0000 1.7 @@ -34,10 +34,32 @@ f.axes_on = 1; elseif ( strcmp(arg, "off") ) f.axes_on = 0; + + elseif ( strcmp(arg, "auto") ) ## reset axes bounds + ## (working with just one Prop for now) + ## remove any clipping... how to do this elegently? + clipping = 0; + for i = 2:f.renderer.GetActors.GetNumberOfItems + actor = f.renderer.GetActors.GetItemAsObject(i-1); + if (!actor.GetVisibility) + clipping = 1; # maybe add this as a structure to figure, so don't need to test here + endif + endfor + ## if there has been clipping (as determined by some actors not being visible), + ## remove visible actors (the clipped ones) and make visible the others (unclipped) + if (clipping) + for i = 2:f.renderer.GetActors.GetNumberOfItems + actor = f.renderer.GetActors.GetLastActor; + if (actor.GetVisibility) + f.renderer.RemoveViewProp(actor); + else + actor.VisibilityOn + endif + endfor + endif + elseif ( strcmp(arg, "equal") || strcmp(arg, "normal") ) ## defaults in vtk ## (working with just one Prop for now) - ## remove any clipping... how to do that?????? - # probably will need to add a new structure to the figure object which contains uncut data ## reset scaling f.renderer.GetProps.GetLastProp.SetScale(1,1,1) f.axes.UseRangesOff @@ -52,12 +74,12 @@ ## (working with just one Prop for now) f.renderer.GetProps.GetLastProp.SetScale(1/span(1),1/span(2),1/span(3)) endif + else disp("manual setting of axis bounds not implemented yet") - ## attempt at clipping (only one Actor for now) - # needs to be redone so that original data can be recovered +# ## attempt at clipping (only one Actor for now) # plane = vtkPlane(); -# plane.SetOrigin(0, 0, 0); +# plane.SetOrigin(0, 0, 0); # trial case for now, will recode to use input values # plane.SetNormal(1, 0, 0); # clippoly = vtkClipPolyData; # clippoly.SetClipFunction(plane); @@ -65,12 +87,13 @@ # clippoly.GenerateClippedOutputOn(); # ##clippoly.SetValue(0.5); ?? # clippoly.SetInput(f.renderer.GetActors.GetLastActor.GetMapper.GetInput); -# ##f.renderer.GetActors.GetLastActor.GetMapper.SetInput(clippoly.GetOutput); ## this doesn't work because you can't recover original! +# ##f.renderer.GetActors.GetLastActor.GetMapper.SetInput(clippoly.GetOutput); # this doesn't work because you can't recover original! # clipmapper = vtkPolyDataMapper; # clipmapper.SetInput(clippoly.GetOutput); # clipactor = vtkActor; # clipactor.SetMapper(clipmapper); -# f.renderer.AddActor(clipactor); +# f.renderer.GetActors.GetLastActor.VisibilityOff; # turn unclipped actor off +# f.renderer.AddActor(clipactor); endif endfor |