Getting a numeric graphics handle for a patch?

5 views (last 30 days)
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 Comments
alan cheville
alan cheville on 15 Sep 2017
I need to create a unique numeric identifier for a graphics object.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 14 Sep 2017
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

More Answers (0)

Categories

Find more on Graphics Object Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!