1
#ifndef _RHEO_COMPUTE_BBOX_H
2
#define _RHEO_COMPUTE_BBOX_H
4
/// This file is part of Rheolef.
6
/// Copyright (C) 2000-2009 Pierre Saramito <Pierre.Saramito@imag.fr>
8
/// Rheolef is free software; you can redistribute it and/or modify
9
/// it under the terms of the GNU General Public License as published by
10
/// the Free Software Foundation; either version 2 of the License, or
11
/// (at your option) any later version.
13
/// Rheolef is distributed in the hope that it will be useful,
14
/// but WITHOUT ANY WARRANTY; without even the implied warranty of
15
/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
/// GNU General Public License for more details.
18
/// You should have received a copy of the GNU General Public License
19
/// along with Rheolef; if not, write to the Free Software
20
/// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22
/// =========================================================================
24
// used by cad and geo classes
38
typedef typename Point::float_type float_type;
39
typedef typename iterator_traits<PointIterator>::value_type Point1;
41
for (Size j = 0; j < dim; j++) {
42
xmin[j] = std::numeric_limits<float_type>::max();
43
xmax[j] = -std::numeric_limits<float_type>::max();
45
for (Size j = dim+1; j < 3; j++) {
46
xmin [j] = xmax [j] = 0;
48
while (iter_p != last_p) {
49
const Point1& p = *iter_p++;
50
for (Size j = 0 ; j < dim; j++) {
51
xmin[j] = min(p[j], xmin[j]);
52
xmax[j] = max(p[j], xmax[j]);
56
#endif // _RHEO_BBOX_H