Top | ![]() |
![]() |
![]() |
![]() |
#define | GO_GEOMETRY_ANGLE_TOLERANCE |
enum | GOGeometrySide |
enum | GOGeometryRotationType |
GOGeometryOBR | |
typedef | GOGeometryAABR |
enum | GODirection |
void go_geometry_cartesian_to_polar (double x
,double y
,double *rho
,double *theta
);
Converts cartesion coordinates to polar coordinates.
double go_geometry_point_to_segment (double xp
,double yp
,double xs
,double ys
,double w
,double h
);
void go_geometry_AABR_add (GOGeometryAABR *aabr0
,GOGeometryAABR const *aabr1
);
Computes the Axis Aligned Bounding Rectangle of aabr0 and aabr1, and stores result in aabr0.
void go_geometry_OBR_to_AABR (GOGeometryOBR const *obr
,GOGeometryAABR *aabr
);
Stores Axis Aligned Bouding Rectangle of obr
in aabr
.
gboolean go_geometry_test_OBR_overlap (GOGeometryOBR const *obr0
,GOGeometryOBR const *obr1
);
Overlap test of Oriented Bounding Rectangles by the separating axis method.
GOGeometryRotationType
go_geometry_get_rotation_type (double alpha
);
Calculates rotation type for handling of special angles (alpha = n * pi / 2)
GOGeometrySide go_geometry_calc_label_position (GOGeometryOBR *obr
,double alpha
,double offset
,GOGeometrySide side
,GOGeometrySide anchor
);
Convenience routine that computes position of a label relative to an axis.
GOGeometrySide go_geometry_calc_label_anchor (GOGeometryOBR *obr
,double alpha
);