2 * SOLID - Software Library for Interference Detection
4 * Copyright (C) 2001-2003 Dtecta. All rights reserved.
6 * This library may be distributed under the terms of the Q Public License
7 * (QPL) as defined by Trolltech AS of Norway and appearing in the file
8 * LICENSE.QPL included in the packaging of this file.
10 * This library may be distributed and/or modified under the terms of the
11 * GNU General Public License (GPL) version 2 as published by the Free Software
12 * Foundation and appearing in the file LICENSE.GPL included in the
13 * packaging of this file.
15 * This library is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18 * Commercial use or any other use of this library not covered by either
19 * the QPL or the GPL requires an additional license from Dtecta.
20 * Please contact info@dtecta.com for enquiries about the terms of commercial
21 * use of this library.
27 #include "SOLID_types.h"
33 DT_DECLARE_HANDLE(BP_SceneHandle);
34 DT_DECLARE_HANDLE(BP_ProxyHandle);
36 typedef void (*BP_Callback)(void *client_data,
40 typedef bool (*BP_RayCastCallback)(void *client_data,
42 const DT_Vector3 source,
43 const DT_Vector3 target,
46 extern DECLSPEC BP_SceneHandle BP_CreateScene(void *client_data,
47 BP_Callback beginOverlap,
48 BP_Callback endOverlap);
50 extern DECLSPEC void BP_DestroyScene(BP_SceneHandle scene);
52 extern DECLSPEC BP_ProxyHandle BP_CreateProxy(BP_SceneHandle scene,
55 const DT_Vector3 max);
57 extern DECLSPEC void BP_DestroyProxy(BP_SceneHandle scene,
58 BP_ProxyHandle proxy);
60 extern DECLSPEC void BP_SetBBox(BP_ProxyHandle proxy,
62 const DT_Vector3 max);
64 extern DECLSPEC void *BP_RayCast(BP_SceneHandle scene,
65 BP_RayCastCallback objectRayCast,
67 const DT_Vector3 source,
68 const DT_Vector3 target,