]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - contrib/bobtoolz/DPatch.h
d04121ea9731062588732fc8fa4e84c5dcad5fd0
[xonotic/netradiant.git] / contrib / bobtoolz / DPatch.h
1 /*\r
2 BobToolz plugin for GtkRadiant\r
3 Copyright (C) 2001 Gordon Biggans\r
4 \r
5 This library is free software; you can redistribute it and/or\r
6 modify it under the terms of the GNU Lesser General Public\r
7 License as published by the Free Software Foundation; either\r
8 version 2.1 of the License, or (at your option) any later version.\r
9 \r
10 This library is distributed in the hope that it will be useful,\r
11 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
13 Lesser General Public License for more details.\r
14 \r
15 You should have received a copy of the GNU Lesser General Public\r
16 License along with this library; if not, write to the Free Software\r
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
18 */\r
19 \r
20 // DPatch.h: interface for the DPatch class.\r
21 //\r
22 //////////////////////////////////////////////////////////////////////\r
23 \r
24 #if !defined(AFX_DPATCH_H__26C6B083_CE5B_420B_836B_1DDA733C04CE__INCLUDED_)\r
25 #define AFX_DPATCH_H__26C6B083_CE5B_420B_836B_1DDA733C04CE__INCLUDED_\r
26 \r
27 #include "StdAfx.h"     // Added by ClassView\r
28 #if _MSC_VER > 1000\r
29 #pragma once\r
30 #endif // _MSC_VER > 1000\r
31 \r
32 typedef struct\r
33 {       \r
34         bool mergable;\r
35         int pos1;\r
36         int pos2;\r
37 } patch_merge_t;\r
38 \r
39 class DPatch  \r
40 {\r
41 public:\r
42         list<DPatch> Split(bool rows, bool cols);\r
43         void Transpose();\r
44         void Invert();\r
45         DPatch* MergePatches(patch_merge_t merge_info, DPatch* p1, DPatch* p2);\r
46         patch_merge_t IsMergable(DPatch* other);\r
47   bool ResetTextures(const char *oldTextureName, const char *newTextureName);\r
48         void RemoveFromRadiant(void);\r
49         brush_t* QER_brush;\r
50         void LoadFromBrush_t(brush_t* brush);\r
51         patchMesh_t* QER_patch;\r
52         void BuildInRadiant(void* entity = NULL);\r
53         void SetTexture(const char* textureName);\r
54         char texture[256];\r
55         int width, height;\r
56         drawVert_t points[MAX_PATCH_WIDTH][MAX_PATCH_HEIGHT];\r
57         DPatch();\r
58         virtual ~DPatch();\r
59 \r
60 };\r
61 \r
62 #endif // !defined(AFX_DPATCH_H__26C6B083_CE5B_420B_836B_1DDA733C04CE__INCLUDED_)\r