Effacer les filtres
Effacer les filtres

How to create a patch object without actually plotting it.

14 vues (au cours des 30 derniers jours)
luc
luc le 1 Mai 2015
Commenté : luc le 1 Mai 2015
Hello everyone!
I have some data, say [X,Y,Z] and when I use the Patch command it creates a figure and gives me a shape.
I would like to supress the actual figure, and make the code display it later on.
My two problems are: 1) How do I supress the plotting of the patch? 2) How do I display a patch object in a new figure?
Thanks in advance!

Réponse acceptée

pfb
pfb le 1 Mai 2015
h=patch(X,Y,Z,'r','visible','off');
and then, when you need it
set(h,'visible','on');
  3 commentaires
luc
luc le 1 Mai 2015
Okay, the visibility off worked well, the part where I display it.. not that much.
My current code
Patch_s=patch(XXX_s,YYY_s,ZZZ_s,1,'visible','off');
if m==1
fv_combined1=Patch_s;
end
nv1=length(fv_combined1.Vertices);
fv_combined1.Vertices=[fv_combined1.Vertices;Patch_s.Vertices];
fv_combined1.Faces=[fv_combined1.Faces; Patch_s.Faces+nv1];
This is placed in a loop where I update the patch figure "fv_combined1" via its vertices and Faces.
I can't the code to display the fv_combined1.
figure(1)
copyobj(fv_combined1,1)
set(fv_combined1,'visible','on');
set(Patch_s,'visible','on');
This does not work :(
It gives me this error:
Error using copyobj
Patch cannot be a child of Figure.
Error in patchobjecttest (line 92)
copyobj(fv_combined1,1)
luc
luc le 1 Mai 2015
Ignore comment. I removed the copyobject and everything was fine!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by