QUAOAR STUDIO // Mobius API
core_BBox.h
1
//-----------------------------------------------------------------------------
2
// Created on: 25 June 2021
3
//-----------------------------------------------------------------------------
4
// Copyright (c) 2021-present, Sergey Slyadnev
5
// All rights reserved.
6
//
7
// Redistribution and use in source and binary forms, with or without
8
// modification, are permitted provided that the following conditions are met:
9
//
10
// * Redistributions of source code must retain the above copyright
11
// notice, this list of conditions and the following disclaimer.
12
// * Redistributions in binary form must reproduce the above copyright
13
// notice, this list of conditions and the following disclaimer in the
14
// documentation and/or other materials provided with the distribution.
15
// * Neither the name of Sergey Slyadnev nor the
16
// names of all contributors may be used to endorse or promote products
17
// derived from this software without specific prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
// DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY
23
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
//-----------------------------------------------------------------------------
30
31
#ifndef core_BBox_HeaderFile
32
#define core_BBox_HeaderFile
33
34
// Core includes
35
#include <mobius/core_XYZ.h>
36
37
namespace
mobius
{
38
42
struct
core_BBox
43
{
44
bool
IsVoid
;
45
t_xyz
minPt
;
46
t_xyz
maxPt
;
47
48
core_BBox
() :
IsVoid
(true) {}
49
50
mobiusCore_EXPORT
void
51
Get(
double
& xmin,
double
& ymin,
double
& zmin,
52
double
& xmax,
double
& ymax,
double
& zmax)
const
;
53
54
mobiusCore_EXPORT
void
55
Add(
const
t_xyz
& P);
56
57
mobiusCore_EXPORT
void
58
Add(
const
double
x,
const
double
y,
const
double
z);
59
60
mobiusCore_EXPORT
bool
61
IsOut(
const
t_xyz
& P,
62
const
double
tolerance)
const
;
63
64
mobiusCore_EXPORT
bool
65
IsOut(
const
core_BBox
& other,
66
const
double
tolerance)
const
;
67
68
};
69
70
}
71
72
#endif
mobius
Defines an exception class C1 that inherits an exception class C2.
Definition:
bspl_Decompose.h:41
mobius::core_XYZ
Definition:
core_XYZ.h:45
mobius::core_BBox::minPt
t_xyz minPt
Min corner point.
Definition:
core_BBox.h:45
mobius::core_BBox::maxPt
t_xyz maxPt
Max corner point.
Definition:
core_BBox.h:46
mobius::core_BBox::IsVoid
bool IsVoid
Am I empty?
Definition:
core_BBox.h:44
mobius::core_BBox
Definition:
core_BBox.h:42
src
core
primitives
core_BBox.h