]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - tools/quake2/extra/qe4/select.h
Merge branch 'NateEag-master-patch-12920' into 'master'
[xonotic/netradiant.git] / tools / quake2 / extra / qe4 / select.h
1 /*
2 ===========================================================================
3 Copyright (C) 1997-2006 Id Software, Inc.
4
5 This file is part of Quake 2 Tools source code.
6
7 Quake 2 Tools source code is free software; you can redistribute it
8 and/or modify it under the terms of the GNU General Public License as
9 published by the Free Software Foundation; either version 2 of the License,
10 or (at your option) any later version.
11
12 Quake 2 Tools source code is distributed in the hope that it will be
13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Quake 2 Tools source code; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 ===========================================================================
21 */
22
23 typedef enum
24 {
25         sel_brush,
26         // sel_sticky_brush,
27         // sel_face,
28         sel_vertex,
29         sel_edge
30 } select_t;
31
32 typedef struct
33 {
34         brush_t         *brush;
35         face_t          *face;
36         float           dist;
37         qboolean        selected;
38 } trace_t;
39
40 #define SF_SELECTED_ONLY        1
41 #define SF_ENTITIES_FIRST       2
42 #define SF_SINGLEFACE           4
43
44
45 trace_t Test_Ray (vec3_t origin, vec3_t dir, int flags);
46
47 void Select_GetBounds (vec3_t mins, vec3_t maxs);
48 void Select_Brush (brush_t *b);
49 void Select_Ray (vec3_t origin, vec3_t dir, int flags);
50 void Select_Delete (void);
51 void Select_Deselect (void);
52 void Select_Clone (void);
53 void Select_Move (vec3_t delta);
54 void Select_SetTexture (texdef_t *texdef);
55 void Select_FlipAxis (int axis);
56 void Select_RotateAxis (int axis, float deg);
57 void Select_CompleteTall (void);
58 void Select_PartialTall (void);
59 void Select_Touching (void);
60 void Select_Inside (void);
61 void Select_MakeStructural (void);
62 void Select_MakeDetail (void);