class LightshipNavMesh
(Niantic.Lightship.AR.NavigationMesh.LightshipNavMesh)
Overview
This class manages the data structures associated with a navigation mesh ("LightshipNavMesh"). It dynamically builds a 2d grid on the meshes detected in the environment for running navigation algorithms on. You are able to retrieve a number of properties of the "LightshipNavMesh" from it. There are also a number of methods to help you place and move LightshipNavMeshAgents on the board.
class LightshipNavMesh {
public:
// properties
ModelSettings Settings;
float Area;
List<Surface> Surfaces;
// methods
void Destroy();
LightshipNavMesh(ModelSettings settings, bool visualise);
bool IsOnNavMesh(Vector3 position, float delta);
bool FindNearestFreePosition(
Vector3 sourcePosition,
float range,
out Vector3 nearestPosition
);
bool FindRandomPosition(out Vector3 randomPosition);
bool FindNearestFreePosition(
Vector3 sourcePosition,
out Vector3 nearestPosition
);
bool FindRandomPosition(
Vector3 sourcePosition,
float range,
out Vector3 randomPosition
);
bool CheckFit(Vector3 center, float size);
bool RayCast(Ray ray, out Vector3 hitPoint);
bool CalculatePath(
Vector3 fromPosition,
Vector3 toPosition,
AgentConfiguration agent,
out Path path
);
void Scan(Vector3 origin, float range);
void Clear();
void Prune(Vector3 keepNodesOrigin, float range);
};
Detailed Documentation
This class manages the data structures associated with a navigation mesh ("LightshipNavMesh"). It dynamically builds a 2d grid on the meshes detected in the environment for running navigation algorithms on. You are able to retrieve a number of properties of the "LightshipNavMesh" from it. There are also a number of methods to help you place and move LightshipNavMeshAgents on the board.
Properties
Settings
ModelSettings Settings
The configuration of the NavMeshModel.
Area
float Area
The discovered free area in square meters.
Methods
LightshipNavMesh
LightshipNavMesh(ModelSettings settings, bool visualise)
Constructs a new LightshipNavMesh using the parameters given.
Parameters:
settings
- Settings to calibrate unoccupied area detection.
visualise
- Visualize the LightshipNavMesh in the scene.
Returns:
Returns the newly created LightshipNavMesh.
IsOnNavMesh
bool IsOnNavMesh(Vector3 position, float delta)
Checks if a particular 3d position is on the LightshipNavMesh (within a certain threshold).
Parameters:
position
- The 3d position to check for.
delta
- The threshold distance from the LightshipNavMesh to check against.
Returns:
true if the position provided is within delta meters of the LightshipNavMesh grid plane.
Clear
void Clear()
Removes all surfaces from the LightshipNavMesh.