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.
Ptr<NavigationMesh> cast( const Ptr<Navigation> & node )
Casts a NavigationMesh out of the Navigation instance.Arguments
- const Ptr<Navigation> & 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 * name, 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 * name - 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 * name )
Loads a mesh, on which the navigation mesh is based, from the file. This function doesn't change the mesh name.Arguments
- const char * name - A relative path to the *.mesh file.
Return value
1 if the mesh is loaded successfully; otherwise, 0.int saveMesh( const char * name )
Saves the mesh, on which the navigation mesh is based, to the file.Arguments
- const char * name - A relative path to the *.mesh file.
Return value
1 if the mesh is saved successfully; otherwise, 0.int type( )
Returns the type of the node.Return value
Navigation type identifier.Last update:
2020-01-14
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)