Line data Source code
1 0 : /* 2 : 3 : OOVoxel.h 4 : 5 : Mathematical framework for Oolite. 6 : 7 : Primitive functions used for octree intersection tests. 8 : 9 : Oolite 10 : Copyright (C) 2004-2013 Giles C Williams and contributors 11 : 12 : This program is free software; you can redistribute it and/or 13 : modify it under the terms of the GNU General Public License 14 : as published by the Free Software Foundation; either version 2 15 : of the License, or (at your option) any later version. 16 : 17 : This program is distributed in the hope that it will be useful, 18 : but WITHOUT ANY WARRANTY; without even the implied warranty of 19 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 : GNU General Public License for more details. 21 : 22 : You should have received a copy of the GNU General Public License 23 : along with this program; if not, write to the Free Software 24 : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 25 : MA 02110-1301, USA. 26 : 27 : */ 28 : 29 : 30 : #ifndef INCLUDED_OOMATHS_h 31 : #error Do not include OOVoxel.h directly; include OOMaths.h. 32 : #else 33 : 34 : 35 : #define CUBE_FACE_RIGHT 0x01 36 : #define CUBE_FACE_LEFT 0x02 37 : #define CUBE_FACE_TOP 0x04 38 : #define CUBE_FACE_BOTTOM 0x08 39 : #define CUBE_FACE_FRONT 0x10 40 : #define CUBE_FACE_BACK 0x20 41 : 42 : 43 : Vector lineIntersectionWithFace(Vector p1, Vector p2, long mask, GLfloat rd) CONST_FUNC; 44 : int lineCubeIntersection(Vector v0, Vector v1, GLfloat rd) CONST_FUNC; 45 : 46 : 47 : #endif