Recast Navigation
Navigation-mesh Toolset for Games
Loading...
Searching...
No Matches
Sample_TempObstacles.h
Go to the documentation of this file.
1//
2// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org
3//
4// This software is provided 'as-is', without any express or implied
5// warranty. In no event will the authors be held liable for any damages
6// arising from the use of this software.
7// Permission is granted to anyone to use this software for any purpose,
8// including commercial applications, and to alter it and redistribute it
9// freely, subject to the following restrictions:
10// 1. The origin of this software must not be misrepresented; you must not
11// claim that you wrote the original software. If you use this software
12// in a product, an acknowledgment in the product documentation would be
13// appreciated but is not required.
14// 2. Altered source versions must be plainly marked as such, and must not be
15// misrepresented as being the original software.
16// 3. This notice may not be removed or altered from any source distribution.
17//
18
19#pragma once
20
21#include "Sample.h"
22
23struct LinearAllocator;
24struct FastLZCompressor;
25struct MeshProcess;
26class dtTileCache;
27
29{
30protected:
32
36
38
41 int cacheRawSize = 0;
43 unsigned int cacheBuildMemUsage = 0;
44
58
59 int maxTiles = 0;
61 int tileSize = 48;
62
63public:
65 ~Sample_TempObstacles() override;
70
71 void drawSettingsUI() override;
72 void drawToolsUI() override;
73 void drawDebugUI() override;
74 void render() override;
75 void renderOverlay() override;
76 void onMeshChanged(InputGeom* geom) override;
77 bool build() override;
78 void update(float dt) override;
79
80 void getTilePos(const float* pos, int& tx, int& ty);
81
82 void renderCachedTile(int tx, int ty, int type);
83 void renderCachedTileOverlay(int tx, int ty) const;
84
85 void addTempObstacle(const float* pos) const;
86 void removeTempObstacle(const float* sp, const float* sq) const;
87 void clearAllTempObstacles() const;
88
89 void saveAll(const char* path) const;
90 void loadAll(const char* path);
91
92private:
93 int rasterizeTileLayers(int tx, int ty, const rcConfig& cfg, struct TileCacheData* tiles, int maxTiles) const;
94};
Definition InputGeom.h:96
Definition Sample_TempObstacles.h:29
bool keepIntermediateResults
Definition Sample_TempObstacles.h:31
void getTilePos(const float *pos, int &tx, int &ty)
Definition Sample_TempObstacles.cpp:1457
void render() override
Definition Sample_TempObstacles.cpp:1074
int tileSize
Definition Sample_TempObstacles.h:61
float cacheBuildTimeMs
Definition Sample_TempObstacles.h:39
int maxPolysPerTile
Definition Sample_TempObstacles.h:60
void addTempObstacle(const float *pos) const
Definition Sample_TempObstacles.cpp:1229
int cacheRawSize
Definition Sample_TempObstacles.h:41
Sample_TempObstacles(const Sample_TempObstacles &)=delete
int cacheLayerCount
Definition Sample_TempObstacles.h:42
Sample_TempObstacles & operator=(const Sample_TempObstacles &)=delete
void saveAll(const char *path) const
Definition Sample_TempObstacles.cpp:1486
void renderCachedTileOverlay(int tx, int ty) const
Definition Sample_TempObstacles.cpp:1170
void loadAll(const char *path)
Definition Sample_TempObstacles.cpp:1537
int maxTiles
Definition Sample_TempObstacles.h:59
DrawMode
Definition Sample_TempObstacles.h:46
@ DRAWMODE_MESH
Definition Sample_TempObstacles.h:53
@ DRAWMODE_NAVMESH_PORTALS
Definition Sample_TempObstacles.h:51
@ DRAWMODE_NAVMESH_NODES
Definition Sample_TempObstacles.h:50
@ DRAWMODE_NAVMESH_BVTREE
Definition Sample_TempObstacles.h:49
@ DRAWMODE_NAVMESH_TRANS
Definition Sample_TempObstacles.h:48
@ MAX_DRAWMODE
Definition Sample_TempObstacles.h:55
@ DRAWMODE_CACHE_BOUNDS
Definition Sample_TempObstacles.h:54
@ DRAWMODE_NAVMESH_INVIS
Definition Sample_TempObstacles.h:52
@ DRAWMODE_NAVMESH
Definition Sample_TempObstacles.h:47
void clearAllTempObstacles() const
Definition Sample_TempObstacles.cpp:1252
void renderOverlay() override
Definition Sample_TempObstacles.cpp:1178
void onMeshChanged(InputGeom *geom) override
Definition Sample_TempObstacles.cpp:1209
int cacheCompressedSize
Definition Sample_TempObstacles.h:40
MeshProcess * tMeshProcess
Definition Sample_TempObstacles.h:35
Sample_TempObstacles()
Definition Sample_TempObstacles.cpp:863
LinearAllocator * tAllocator
Definition Sample_TempObstacles.h:33
void drawDebugUI() override
Definition Sample_TempObstacles.cpp:981
bool build() override
Definition Sample_TempObstacles.cpp:1271
DrawMode drawMode
Definition Sample_TempObstacles.h:57
void drawToolsUI() override
Definition Sample_TempObstacles.cpp:961
unsigned int cacheBuildMemUsage
Definition Sample_TempObstacles.h:43
void renderCachedTile(int tx, int ty, int type)
Definition Sample_TempObstacles.cpp:1162
~Sample_TempObstacles() override
Definition Sample_TempObstacles.cpp:874
FastLZCompressor * tCompressor
Definition Sample_TempObstacles.h:34
Sample_TempObstacles(const Sample_TempObstacles &&)=delete
dtTileCache * tileCache
Definition Sample_TempObstacles.h:37
void removeTempObstacle(const float *sp, const float *sq) const
Definition Sample_TempObstacles.cpp:1242
void update(float dt) override
Definition Sample_TempObstacles.cpp:1441
void drawSettingsUI() override
Definition Sample_TempObstacles.cpp:881
Sample_TempObstacles & operator=(const Sample_TempObstacles &&)=delete
Definition Sample.h:116
Definition DetourTileCache.h:102
Definition Sample_TempObstacles.cpp:357
Definition Sample_TempObstacles.cpp:386
Definition Sample_TempObstacles.cpp:432
Definition Sample_TempObstacles.cpp:479
Specifies a configuration to use when performing Recast builds.
Definition Recast.h:217