Determine if polyshape boundary is a hole
polyshape
TF = ishole(polyin)
TF = ishole(polyin,I)
example
TF = ishole(polyin) returns a logical vector whose elements are 1 (true) if the corresponding boundary of polyin is a hole.
TF
polyin
true
TF = ishole(polyin,I) returns a logical vector corresponding to the boundaries of polyin indexed by I. TF is the same length as I.
I
collapse all
Create a polygon containing one solid region and one hole, and determine which region is a hole.
t = 0.05:0.5:2*pi; x1 = cos(t); y1 = sin(t); x2 = 0.5*cos(t); y2 = 0.5*sin(t); polyin = polyshape({x1,x2},{y1,y2})
polyin = polyshape with properties: Vertices: [27x2 double] NumRegions: 1 NumHoles: 1
plot(polyin)
TF = 2x1 logical array 0 1
To query one boundary at a time, use the boundary index as a second argument.
TF = ishole(polyin,2)
TF = logical 1
Input polyshape, specified as a scalar.
Data Types: polyshape
Boundary index, specified as a scalar integer or vector of integers. Each element of I corresponds to a single boundary of the input polyshape.
Data Types: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
double
single
int8
int16
int32
int64
uint8
uint16
uint32
uint64
holes | polyshape
holes
You have a modified version of this example. Do you want to open this example with your edits?