Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/WolfireGames/overgrowth.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Source/AI/navmesh.h')
-rw-r--r--Source/AI/navmesh.h65
1 files changed, 33 insertions, 32 deletions
diff --git a/Source/AI/navmesh.h b/Source/AI/navmesh.h
index e10d1524..b292fdb2 100644
--- a/Source/AI/navmesh.h
+++ b/Source/AI/navmesh.h
@@ -36,63 +36,64 @@
#include <vector>
#include <string>
-using std::vector;
using std::string;
+using std::vector;
class rcMeshLoaderObj;
-class NavPoint
-{
-private:
+class NavPoint {
+ private:
vec3 pos;
bool valid;
-public:
- NavPoint( vec3 pos );
- NavPoint( vec3 pos, bool success );
- NavPoint( );
- NavPoint( const NavPoint& other );
+
+ public:
+ NavPoint(vec3 pos);
+ NavPoint(vec3 pos, bool success);
+ NavPoint();
+ NavPoint(const NavPoint &other);
vec3 GetPoint();
bool IsSuccess();
};
class NavMesh {
-public:
- NavMesh():loaded_(false){}
- void AddMesh( const vector<float>& vertices, const vector<unsigned>& faces, const mat4 &transform );
- void SetNavMeshParameters(NavMeshParameters& nmp);
+ public:
+ NavMesh() : loaded_(false) {}
+ void AddMesh(const vector<float> &vertices, const vector<unsigned> &faces, const mat4 &transform);
+ void SetNavMeshParameters(NavMeshParameters &nmp);
void CalcNavMesh();
- void Save( const string &level_name, const Path &level_path );
- bool Load( const string &level_name, const Path &level_path );
- bool LoadFromAbs(const Path& level_path, const char* abs_meta_path, const char* abs_model_path, const char * abs_nav_path, const char* abs_zip_path, bool has_zip );
+ void Save(const string &level_name, const Path &level_path);
+ bool Load(const string &level_name, const Path &level_path);
+ bool LoadFromAbs(const Path &level_path, const char *abs_meta_path, const char *abs_model_path, const char *abs_nav_path, const char *abs_zip_path, bool has_zip);
void Update();
NavPath FindPath(const vec3 &start, const vec3 &end, uint16_t include_filter, uint16_t exclude_filter);
- vec3 RayCast( const vec3 &start, const vec3 &end );
- vec3 RayCastSlide( const vec3 &start, const vec3 &end, int depth );
- NavPoint GetNavPoint( const vec3 &point );
-
- const rcMeshLoaderObj* getCollisionMesh() const;
- const dtNavMesh* getNavMesh() const;
- const rcPolyMesh* getPolyMesh() const;
- InputGeom &getInputGeom();
- void SetExplicitBounderies(vec3 min, vec3 max );
-
- unsigned short GetOffMeshConnectionFlag( int userid );
-private:
+ vec3 RayCast(const vec3 &start, const vec3 &end);
+ vec3 RayCastSlide(const vec3 &start, const vec3 &end, int depth);
+ NavPoint GetNavPoint(const vec3 &point);
+
+ const rcMeshLoaderObj *getCollisionMesh() const;
+ const dtNavMesh *getNavMesh() const;
+ const rcPolyMesh *getPolyMesh() const;
+ InputGeom &getInputGeom();
+ void SetExplicitBounderies(vec3 min, vec3 max);
+
+ unsigned short GetOffMeshConnectionFlag(int userid);
+
+ private:
bool loaded_;
TileMesh sample_tile_mesh_;
InputGeom geom_;
NavMeshParameters nav_mesh_parameters_;
- //TileMeshTesterTool nav_mesh_tester_;
+ // TileMeshTesterTool nav_mesh_tester_;
- //TODO: Replace this middle storage with direct append into InputGeom
- //These arrays are only used for loading storage and don't represent internal state.
+ // TODO: Replace this middle storage with direct append into InputGeom
+ // These arrays are only used for loading storage and don't represent internal state.
vector<float> vertices_;
vector<unsigned> faces_;
float meshBMin_[3];
float meshBMax_[3];
-
+
vec3 m_start_;
vec3 m_end_;
vector<vec3> path_points_;