|
cdef extern from "region.h": |
|
ctypedef enum region_type "RegionType": |
|
EMTPY |
|
SPECIAL |
|
RECTANGEL |
|
POLYGON |
|
MASK |
|
|
|
ctypedef struct region_bounds: |
|
float top |
|
float bottom |
|
float left |
|
float right |
|
|
|
ctypedef struct region_rectangle: |
|
float x |
|
float y |
|
float width |
|
float height |
|
|
|
# ctypedef struct region_mask: |
|
# int x |
|
# int y |
|
# int width |
|
# int height |
|
# char *data |
|
|
|
ctypedef struct region_polygon: |
|
int count |
|
float *x |
|
float *y |
|
|
|
ctypedef union region_container_data: |
|
region_rectangle rectangle |
|
region_polygon polygon |
|
# region_mask mask |
|
int special |
|
|
|
ctypedef struct region_container: |
|
region_type type |
|
region_container_data data |
|
|
|
# ctypedef struct region_overlap: |
|
# float overlap |
|
# float only1 |
|
# float only2 |
|
|
|
# region_overlap region_compute_overlap(const region_container* ra, const region_container* rb, region_bounds bounds) |
|
|
|
float compute_polygon_overlap(const region_polygon* p1, const region_polygon* p2, float *only1, float *only2, region_bounds bounds) |
|
|