Nuclide
Software Development Kit for id Technology (BETA)
BreakableBrushManager.h
1/*
2 * Copyright (c) 2024-2025 Vera Visions LLC.
3 * Copyright (c) 2017 David Walton
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
14 * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
15 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16*/
17
18class
20{
21#ifdef SERVER
22public:
23 nonvirtual void CarveRadiusIntoBrush(vector atPos, float withDamage);
24 nonvirtual void CreateBrush(vector absMin, vector absMax, string shaderName);
25 nonvirtual void ResetBrushFaceUVCoords(brushface_t *fa);
26private:
27 nonvirtual void _StageCarvedBrush(vector centre, float radius, string shadername);
28 nonvirtual void _SubtractStageFromIntersecting(float modelindex, int br);
29 nonvirtual void _StageBoundingBoxBrush(vector min, vector max, string shadername);
30 nonvirtual float _SubtractStagedFromModelindex(float mod);
31#endif
32};
Definition: BreakableBrushManager.h:20