Unigine::NavigationMesh Class
Header: | #include <UniginePathFinding.h> |
Inherits: | Navigation |
This feature is experimental and not recommended for production use.
This class enables to create a navigation area above the surface of an arbitrary mesh. In fact, the navigation mesh is the area of the specified height above the mesh polygons, which is available for pathfinding.
A mesh used as a base for the navigation mesh should meet the requirements described here.
See Also#
- The article on Navigation Mesh
- A set of samples located in the data/samples/paths folder:
- mesh_00
- route_03
- route_04
NavigationMesh Class
Members
static NavigationMeshPtr create ( ) #
Constructor. Creates an empty navigation mesh.static NavigationMeshPtr create ( const char * arg1 ) #
Creates a navigation mesh from the given *.mesh file.Arguments
- const char * arg1 - Path to the *.mesh file.
static Ptr<NavigationMesh> cast ( const Ptr<Node> & node ) #
Casts a NavigationMesh out of the Navigation instance.Arguments
- const Ptr<Node> & node - Pointer to Navigation.
Return value
Pointer to NavigationMesh.static Ptr<NavigationMesh> cast ( const Ptr<Navigation> & base ) #
Arguments
- const Ptr<Navigation> & base
void setDepth ( int depth ) #
Sets a depth value. The larger the depth value, the better control over accuracy and speed of route calculation is provided.Arguments
- int depth - A depth, which is an integer value in range [0;4].
int getDepth ( ) #
Returns the depth value, which is an integer value in range [0;4]. The larger the depth value, the better control over accuracy and speed of route calculation is provided.Return value
The depth value.void setHeight ( float height ) #
Sets the distance above the navigation mesh polygons that is available for pathfinding. By default, the height is set to 1.Arguments
- float height - Height in units.
float getHeight ( ) #
Returns the distance above the navigation mesh polygons that is available for pathfinding. By default, the height is set to 1.Return value
Height in units.int setMesh ( const Ptr<Mesh> & mesh ) #
Copies a given mesh into the mesh, on which the current navigation mesh is based.Arguments
- const Ptr<Mesh> & mesh - Mesh to be copied.
Return value
1 if the mesh is copied successfully; otherwise, 0.int getMesh ( const Ptr<Mesh> & mesh ) #
Copies the mesh that is used as a base for the current navigation mesh into the received mesh.Arguments
- const Ptr<Mesh> & mesh - A mesh into which the current mesh is copied.
Return value
1 if the mesh is copied successfully; otherwise, 0.int setMeshName ( const char * path, int force_load = 0 ) #
Sets a new name for the mesh used as a base for the navigation mesh and forces loading of the mesh with the new name for the current navigation mesh.Arguments
- const char * path - A mesh name to be set.
- int force_load - Force flag.
- If 1 is specified, the mesh with the new name will be loaded immediately.
- If 0 is specified, only the mesh name will be updated.
Return value
1 if:- The current mesh name coincides the new name.
- The mesh with the new name has been loaded successfully.
- The force flag is set to 0.
const char * getMeshName ( ) #
Returns the name of the mesh used as a base for the navigation mesh.Return value
The mesh name.int loadMesh ( const char * path ) #
Loads a mesh, on which the navigation mesh is based, from the file. This function doesn't change the mesh name.Arguments
- const char * path - A relative path to the *.mesh file.
Return value
1 if the mesh is loaded successfully; otherwise, 0.int saveMesh ( const char * path ) #
Saves the mesh, on which the navigation mesh is based, to the file.Arguments
- const char * path - A relative path to the *.mesh file.
Return value
1 if the mesh is saved successfully; otherwise, 0.static int type ( ) #
Returns the type of the node.Return value
Navigation type identifier.void setMeshName ( const char * name ) #
Arguments
- const char * name
Last update:
2019-08-16
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)