- initial commit of Genesis3D 1.6
[genesis3d.git] / G3D / World / PLANE.H
1 /****************************************************************************************/\r
2 /*  Plane.h                                                                             */\r
3 /*                                                                                      */\r
4 /*  Author: John Pollard                                                                */\r
5 /*  Description: Handy functions that deal with GFX_Plane's                             */\r
6 /*                                                                                      */\r
7 /*  The contents of this file are subject to the Genesis3D Public License               */\r
8 /*  Version 1.01 (the "License"); you may not use this file except in                   */\r
9 /*  compliance with the License. You may obtain a copy of the License at                */\r
10 /*  http://www.genesis3d.com                                                            */\r
11 /*                                                                                      */\r
12 /*  Software distributed under the License is distributed on an "AS IS"                 */\r
13 /*  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See                */\r
14 /*  the License for the specific language governing rights and limitations              */\r
15 /*  under the License.                                                                  */\r
16 /*                                                                                      */\r
17 /*  The Original Code is Genesis3D, released March 25, 1999.                            */\r
18 /*  Genesis3D Version 1.1 released November 15, 1999                                 */\r
19 /*  Copyright (C) 1999 WildTangent, Inc. All Rights Reserved           */\r
20 /*                                                                                      */\r
21 /****************************************************************************************/\r
22 #ifndef GE_PLANE_H\r
23 #define GE_PLANE_H\r
24 \r
25 #include <Assert.h>\r
26 #include <Windows.h>\r
27 \r
28 #include "GBSPFile.h"\r
29 \r
30 #ifdef __cplusplus\r
31 extern "C" {\r
32 #endif\r
33 \r
34 //=====================================================================================\r
35 //      Defines / Structure defines\r
36 //=====================================================================================\r
37 \r
38 //=====================================================================================\r
39 //      Function ProtoTypes\r
40 //=====================================================================================\r
41 geBoolean GENESISCC Plane_SetEngine(geEngine *Engine);\r
42 geBoolean GENESISCC Plane_SetWorld(geWorld *World);\r
43 geBoolean GENESISCC Plane_SetGBSP(World_BSP *BSP);\r
44 \r
45 int32 GENESISCC Plane_FindLeaf(const geWorld *World, int32 Node, const geVec3d *POV);\r
46 \r
47 geFloat GENESISCC Plane_PlaneDistanceFast(const GFX_Plane *Plane, const geVec3d *Point);\r
48 geFloat GENESISCC Plane_FaceDistanceFast(const GFX_Face *Face, const geVec3d *Point);\r
49 geFloat GENESISCC Plane_PlaneDistance(const GFX_Plane *Plane, const geVec3d *Point);\r
50 void gePlane_SetFromVerts(GFX_Plane *Plane, const geVec3d *V1, const geVec3d *V2, const geVec3d *V3);\r
51 \r
52 \r
53 #ifdef __cplusplus\r
54 }\r
55 #endif\r
56 \r
57 #endif\r