Woolz Image Processing  Version 1.8.3
WlzBoundingBox.c File Reference

Functions for computing the axis aligned bounding box of objects. More...

Functions

WlzIBox2 WlzBoundingBox2I (WlzObject *inObj, WlzErrorNum *dstErr)
 Computes the 2D integer axis aligned bounding box of the given object. More...
 
WlzDBox2 WlzBoundingBox2D (WlzObject *inObj, WlzErrorNum *dstErr)
 Computes the 2D double precision axis aligned bounding box of the given object. More...
 
WlzIBox3 WlzBoundingBox3I (WlzObject *inObj, WlzErrorNum *dstErr)
 Computes the integer 3D axis aligned bounding box of the given object. More...
 
WlzDBox3 WlzBoundingBox3D (WlzObject *inObj, WlzErrorNum *dstErr)
 Computes the double precision 3D axis aligned bounding box of the given object. More...
 
WlzDBox3 WlzBoundingBoxVtx3D (int nVtx, WlzDVertex3 *vtx, WlzErrorNum *dstErr)
 Computes the bounding box of the given 3D double precision vertices. More...
 
WlzIBox3 WlzBoundingBoxVtx3I (int nVtx, WlzIVertex3 *vtx, WlzErrorNum *dstErr)
 Computes the bounding box of the given 3D integer vertices. More...
 
WlzDBox3 WlzBoundingBoxGModel3D (WlzGMModel *model, WlzErrorNum *dstErr)
 Computes the 3D axis aligned bounding box of the 3D geometric model. It is an error if the model is not a 3D model. More...
 
WlzDBox2 WlzBoundingBoxGModel2D (WlzGMModel *model, WlzErrorNum *dstErr)
 Computes the 2D axis aligned bounding box of the 2D geometric model. It is an error if the model is not a 2D model. More...
 
WlzIBox2 WlzBoundingBox2DTo2I (WlzDBox2 bBox2D)
 Converts a 2D double precision bounding box to an integer bounding box. There is no checking done for underflows or overflows. More...
 
WlzDBox2 WlzBoundingBox2ITo2D (WlzIBox2 bBox2I)
 Converts a 2D integer bounding box to an double precision bounding box. More...
 
WlzIBox3 WlzBoundingBox3DTo3I (WlzDBox3 bBox3D)
 Converts a 3D double precision bounding box to an integer bounding box. There is no checking done for underflows or overflows. More...
 
WlzDBox3 WlzBoundingBox3ITo3D (WlzIBox3 bBox3I)
 Converts a 3D integer bounding box to an double precision bounding box. More...
 
WlzFBox3 WlzBoundingBox3DTo3F (WlzDBox3 bBox3D)
 Converts a 3D double bounding box to a single precision bounding box. More...
 
WlzDBox3 WlzBoundingBox3FTo3D (WlzFBox3 bBox3F)
 Converts a 3D single bounding box to a double precision bounding box. More...
 
WlzIBox2 WlzBoundingBoxUnion2I (WlzIBox2 box0, WlzIBox2 box1)
 Computes the 2D integer bounding box which encloses the given pair of bounding boxes. More...
 
WlzFBox2 WlzBoundingBoxUnion2F (WlzFBox2 box0, WlzFBox2 box1)
 Computes the 2D single precision bounding box which encloses the given pair of bounding boxes. More...
 
WlzDBox2 WlzBoundingBoxUnion2D (WlzDBox2 box0, WlzDBox2 box1)
 Computes the 2D double precision bounding box which encloses the given pair of bounding boxes. More...
 
WlzIBox3 WlzBoundingBoxUnion3I (WlzIBox3 box0, WlzIBox3 box1)
 Computes the 3D integer bounding box which encloses the given pair of bounding boxes. More...
 
WlzFBox3 WlzBoundingBoxUnion3F (WlzFBox3 box0, WlzFBox3 box1)
 Computes the 3D single precision bounding box which encloses the given pair of bounding boxes. More...
 
WlzDBox3 WlzBoundingBoxUnion3D (WlzDBox3 box0, WlzDBox3 box1)
 Computes the 3D double precision bounding box which encloses the given pair of bounding boxes. More...
 

Detailed Description

Functions for computing the axis aligned bounding box of objects.

Author
Bill Hill
Date
March 1999
Version
Id
d1dbf76652a0c7abca066cb2c98c184682e5c7c0
Address: MRC Human Genetics Unit, MRC Institute of Genetics and Molecular Medicine, University of Edinburgh, Western General Hospital, Edinburgh, EH4 2XU, UK.
Copyright (C), [2012], The University Court of the University of Edinburgh, Old College, Edinburgh, UK.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Function Documentation

◆ WlzBoundingBoxVtx3D()

WlzDBox3 WlzBoundingBoxVtx3D ( int  nVtx,
WlzDVertex3 vtx,
WlzErrorNum dstErr 
)

Computes the bounding box of the given 3D double precision vertices.

Returns
Double precision 3D bounding box.
Parameters
nVtxNumber of vertices.
vtxVertices.
dstErrDestination error pointer, may be NULL.

References _WlzDVertex3::vtX, _WlzDVertex3::vtY, _WlzDVertex3::vtZ, WLZ_ERR_NONE, WLZ_ERR_PARAM_NULL, _WlzDBox3::xMax, _WlzDBox3::xMin, _WlzDBox3::yMax, _WlzDBox3::yMin, _WlzDBox3::zMax, and _WlzDBox3::zMin.

Referenced by WlzGeoModelGridWSpSet3D().

◆ WlzBoundingBoxVtx3I()

WlzIBox3 WlzBoundingBoxVtx3I ( int  nVtx,
WlzIVertex3 vtx,
WlzErrorNum dstErr 
)

Computes the bounding box of the given 3D integer vertices.

Returns
Integer 3D bounding box.
Parameters
nVtxNumber of vertices.
vtxVertices.
dstErrDestination error pointer, may be NULL.

References _WlzIVertex3::vtX, _WlzIVertex3::vtY, _WlzIVertex3::vtZ, WLZ_ERR_NONE, WLZ_ERR_PARAM_NULL, _WlzIBox3::xMax, _WlzIBox3::xMin, _WlzIBox3::yMax, _WlzIBox3::yMin, _WlzIBox3::zMax, and _WlzIBox3::zMin.