00001 /****************************************************************************************/ 00002 /* Plane.h */ 00003 /* */ 00004 /* Author: John Pollard */ 00005 /* Description: Handy functions that deal with GFX_Plane's */ 00006 /* */ 00007 /* The contents of this file are subject to the Genesis3D Public License */ 00008 /* Version 1.01 (the "License"); you may not use this file except in */ 00009 /* compliance with the License. You may obtain a copy of the License at */ 00010 /* http://www.genesis3d.com */ 00011 /* */ 00012 /* Software distributed under the License is distributed on an "AS IS" */ 00013 /* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See */ 00014 /* the License for the specific language governing rights and limitations */ 00015 /* under the License. */ 00016 /* */ 00017 /* The Original Code is Genesis3D, released March 25, 1999. */ 00018 /* Genesis3D Version 1.1 released November 15, 1999 */ 00019 /* Copyright (C) 1999 WildTangent, Inc. All Rights Reserved */ 00020 /* */ 00021 /****************************************************************************************/ 00022 #ifndef GE_PLANE_H 00023 #define GE_PLANE_H 00024 00025 #include <Assert.h> 00026 #include <Windows.h> 00027 00028 #include "GBSPFile.h" 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 //===================================================================================== 00035 // Defines / Structure defines 00036 //===================================================================================== 00037 00038 //===================================================================================== 00039 // Function ProtoTypes 00040 //===================================================================================== 00041 geBoolean GENESISCC Plane_SetEngine(geEngine *Engine); 00042 geBoolean GENESISCC Plane_SetWorld(geWorld *World); 00043 geBoolean GENESISCC Plane_SetGBSP(World_BSP *BSP); 00044 00045 int32 GENESISCC Plane_FindLeaf(const geWorld *World, int32 Node, const geVec3d *POV); 00046 00047 geFloat GENESISCC Plane_PlaneDistanceFast(const GFX_Plane *Plane, const geVec3d *Point); 00048 geFloat GENESISCC Plane_FaceDistanceFast(const GFX_Face *Face, const geVec3d *Point); 00049 geFloat GENESISCC Plane_PlaneDistance(const GFX_Plane *Plane, const geVec3d *Point); 00050 void gePlane_SetFromVerts(GFX_Plane *Plane, const geVec3d *V1, const geVec3d *V2, const geVec3d *V3); 00051 00052 00053 #ifdef __cplusplus 00054 } 00055 #endif 00056 00057 #endif
1.3.2