patch object exceed axes when zoomed

2 ビュー (過去 30 日間)
Pengfei
Pengfei 2012 年 12 月 2 日
コメント済み: Silvia 2014 年 2 月 24 日
Hi, I found the same question on this forum, but no answer for that. So I'm reposting this, hopefully somebody can help!
I've a GUI containing two panels, one to the left and the other right. The right panel contains an axes, which in turn contains a 3d patch object. When zoomed in, the patch object would exceed the panel borders, and appears in the background on the left panel. How to contain the patch object strictly inside the panel so that it doesn't mess up with other components?
I tried change figure renderer, doesn't help.
Thank you!

回答 (2 件)

Walter Roberson
Walter Roberson 2012 年 12 月 3 日
Set the Clipping property of the uipanel to 'on'. See http://www.mathworks.com/help/matlab/ref/uipanelproperties.html#bqxrv_e_1
  1 件のコメント
Pengfei
Pengfei 2012 年 12 月 3 日
Sorry this doesn't help. I'm a little confused now, as for panel, there's a Clipping property; for the axes, also a clipping property, saying: "Clipping mode. This property has no effect on axes". Looks like when zoomed, the object can exceed the uipanel borders, but cannot overshadow other uicontrol components.

サインインしてコメントする。


Jan
Jan 2012 年 12 月 3 日
編集済み: Jan 2012 年 12 月 3 日
Try to set the Clipping property of the patch object, not of the axes. Then the patch should not be displayed outside the axes and in consequence not outside the panel also (when the axes do not exceed the panel also).
If this does not help, you could try to switch the renderer from OpenGL to ZBuffer.
  1 件のコメント
Silvia
Silvia 2014 年 2 月 24 日
Hi Jan,
Do you know if there is a way to solve it with renderer OpenGL? the problem is that the problem is solved with Zbuffer but if Zbuffer is used the patches with transparency are lost. thank you very much
Silvia

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGraphics Object Programming についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by