BRL-CAD
boolean.h
Go to the documentation of this file.
1 /* B O O L E A N . H
2  * BRL-CAD
3  *
4  * Copyright (c) 2007-2024 United States Government as represented by
5  * the U.S. Army Research Laboratory.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public License
9  * version 2.1 as published by the Free Software Foundation.
10  *
11  * This library is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this file; see the file named COPYING for more
18  * information.
19  */
20 /** @addtogroup brep_boolean
21  * @brief
22  * Boolean Operations for Non-Uniform Rational
23  * B-Spline (NURBS) Boundary Representations.
24  */
25 #ifndef BREP_BOOLEAN_H
26 #define BREP_BOOLEAN_H
27 
28 #include "common.h"
29 #include "brep/defines.h"
30 
31 /** @{ */
32 /** @file brep/boolean.h */
33 
34 #ifdef __cplusplus
35 
36 extern "C++" {
37 
38 enum op_type {
42  BOOLEAN_XOR = 3
43 };
44 
45 /**
46  * Evaluate NURBS boolean operations.
47  *
48  * @param brepO [out]
49  * @param brepA [in]
50  * @param brepB [in]
51  * @param operation [in]
52  */
53 extern BREP_EXPORT int
54 ON_Boolean(ON_Brep *brepO, const ON_Brep *brepA, const ON_Brep *brepB, op_type operation);
55 
56 } /* extern C++ */
57 #endif
58 
59 #endif /* BREP_BOOLEAN_H */
60 /** @} */
61 /*
62  * Local Variables:
63  * mode: C
64  * tab-width: 8
65  * indent-tabs-mode: t
66  * c-file-style: "stroustrup"
67  * End:
68  * ex: shiftwidth=4 tabstop=8
69  */
Header file for the BRL-CAD common definitions.
op_type
Definition: boolean.h:38
int ON_Boolean(ON_Brep *brepO, const ON_Brep *brepA, const ON_Brep *brepB, op_type operation)
@ BOOLEAN_INTERSECT
Definition: boolean.h:40
@ BOOLEAN_DIFF
Definition: boolean.h:41
@ BOOLEAN_UNION
Definition: boolean.h:39
@ BOOLEAN_XOR
Definition: boolean.h:42