Getting a numeric graphics handle for a patch?

I need to get a numeric handle to a patch object in R2017A. Both get(gca,'Children') and findobj return a struct with all the graphic object properties except the handle. A post referring to R2014 mentions I can get this using the 'Number' property, but this doesn't seem to exist anymore. Here is the link to the article: https://www.mathworks.com/help/matlab/graphics_transition/graphics-handles-are-now-objects-not-doubles.html#budq3uo-1
This seems like it should be simple but I am stuck!
Thanks, Alan

2 commentaires

Steven Lord
Steven Lord le 15 Sep 2017
Why do you need the numeric handle?
I need to create a unique numeric identifier for a graphics object.

Connectez-vous pour commenter.

 Réponse acceptée

double() the handle. You can handle() the result to get back the object.
Note: the Number property applies only for figures.
>> aaa = patch(nan,nan,nan)
aaa =
Patch with properties:
FaceColor: 'flat'
FaceAlpha: 1
EdgeColor: [0 0 0]
LineStyle: '-'
Faces: 1
Vertices: [NaN NaN]
Show all properties
>> double(aaa)
ans =
0.0001220703125
>> handle(ans)
ans =
Patch with properties:
FaceColor: 'flat'
FaceAlpha: 1
EdgeColor: [0 0 0]
LineStyle: '-'
Faces: 1
Vertices: [NaN NaN]
Show all properties

1 commentaire

Brilliant, that worked well. Thanks for the fast response.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by