/* Copyright (C) 2012-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: dk3bb.ctr */ /** @file dk3bb.h Header file for the dk3bb module. */ #ifndef DK3BB_H_INCLUDED /** Avoid multiple inclusions. */ #define DK3BB_H_INCLUDED 1 #line 8 "dk3bb.ctr" #ifdef __cplusplus extern "C" { #endif /** Reset a bounding box. @param bb Bounding box to reset. */ void dk3bb_reset(dk3_bb_t *bb); /** Add x value to bounding box. @param bb Bounding box to modify. @param x Value to add. */ void dk3bb_add_x(dk3_bb_t *bb, double x); /** Add y value to bounding box. @param bb Bounding box to modify. @param y Value to add. */ void dk3bb_add_y(dk3_bb_t *bb, double y); /** Add x value with radius. @param bb Bounding box to modify. @param x X value to add. @param r Radius. @return 1 on success, 0 on error. */ int dk3bb_add_x_width(dk3_bb_t *bb, double x, double r); /** Add y value with radius. @param bb Bounding box to modify. @param y Y value to add. @param r Radius. @return 1 on success, 0 on error. */ int dk3bb_add_y_width(dk3_bb_t *bb, double y, double r); /** Add point. @param bb Bouding box to grow. @param x X value of point. @param y Y value of point. */ void dk3bb_point(dk3_bb_t *bb, double x, double y); /** Add point with radius. @param bb @param x @param y @param r @return 1 on success, 0 on error (math overflow). */ int dk3bb_point_width(dk3_bb_t *bb, double x, double y, double r); /** Merge two bounding boxes. @param dbb Destination bounding box. @param sbb Source bounding box to merge into dbb. */ void dk3bb_merge(dk3_bb_t *dbb, dk3_bb_t const *sbb); #ifdef __cplusplus } #endif #endif