Space Engineers
Classes | Public Member Functions | Public Attributes | Static Public Attributes | Properties | List of all members
Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh Class Reference
Inheritance diagram for Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh:
Sandbox.Game.AI.Pathfinding.MyNavigationMesh VRage.Algorithms.MyPathFindingSystem< MyNavigationPrimitive > Sandbox.Game.AI.Pathfinding.IMyNavigationGroup

Public Member Functions

 MyVoxelNavigationMesh (MyVoxelBase voxelMap, MyNavmeshCoordinator coordinator, Func< long > timestampFunction)
 
override string ToString ()
 
void InvalidateRange (Vector3I minVoxelChanged, Vector3I maxVoxelChanged)
 
void MarkBoxForAddition (BoundingBoxD box)
 
bool RefreshOneChangedCell ()
 
bool AddOneMarkedCell (List< Vector3D > importantPositions)
 
void RemoveTriangle (int index)
 
bool RemoveOneUnusedCell (List< Vector3D > importantPositions)
 
void RemoveFarHighLevelGroups (List< Vector3D > updatePositions)
 
void MarkCellsOnPaths ()
 
void AddCellDebug (Vector3I cellPos)
 
void RemoveCellDebug (Vector3I cellPos)
 
List< Vector4DFindPathGlobal (Vector3D start, Vector3D end)
 
List< Vector4DFindPath (Vector3 start, Vector3 end)
 All coords should be in the voxel local coordinates More...
 
override MyNavigationPrimitive FindClosestPrimitive (Vector3D point, bool highLevel, ref double closestDistanceSq)
 
override MatrixD GetWorldMatrix ()
 
override Vector3 GlobalToLocal (Vector3D globalPos)
 
override Vector3D LocalToGlobal (Vector3 localPos)
 
override MyHighLevelPrimitive GetHighLevelPrimitive (MyNavigationPrimitive myNavigationTriangle)
 
override IMyHighLevelComponent GetComponent (MyHighLevelPrimitive highLevelPrimitive)
 
override void DebugDraw (ref Matrix drawMatrix)
 
- Public Member Functions inherited from Sandbox.Game.AI.Pathfinding.MyNavigationMesh
 MyNavigationMesh (MyNavgroupLinks externalLinks, int trianglePrealloc=16, Func< long > timestampFunction=null)
 
MyNavigationTriangle GetTriangle (int index)
 
void RefinePath (MyPath< MyNavigationPrimitive > path, List< Vector4D > output, ref Vector3 startPoint, ref Vector3 endPoint, int begin, int end)
 
void ErasePools ()
 Gets rid of the vertex and edge preallocation pools. You MUST NOT add any more triangles or edges after calling this method. It is here only to save memory when the mesh won't be modified any more. More...
 
void RemoveFace (int index)
 
void CheckMeshConsistency ()
 
int ApproximateMemoryFootprint ()
 
int GetExternalNeighborCount (MyNavigationPrimitive primitive)
 
MyNavigationPrimitive GetExternalNeighbor (MyNavigationPrimitive primitive, int index)
 
IMyPathEdge< MyNavigationPrimitiveGetExternalEdge (MyNavigationPrimitive primitive, int index)
 
- Public Member Functions inherited from VRage.Algorithms.MyPathFindingSystem< MyNavigationPrimitive >
 MyPathFindingSystem (int queueInitSize=128, Func< long > timestampFunction=null)
 
MyPath< V > FindPath (V start, V end, Predicate< V > vertexTraversable=null, Predicate< IMyPathEdge< V >> edgeTraversable=null)
 
MyPath< V > FindPath (V start, Func< V, float > heuristic, Func< V, float > terminationCriterion, Predicate< V > vertexTraversable=null, bool returnClosest=true)
 
bool Reachable (V from, V to)
 
void FindReachable (IEnumerable< V > fromSet, List< V > reachableVertices, Predicate< V > vertexFilter=null, Predicate< V > vertexTraversable=null, Predicate< IMyPathEdge< V >> edgeTraversable=null)
 
void FindReachable (V from, List< V > reachableVertices, Predicate< V > vertexFilter=null, Predicate< V > vertexTraversable=null, Predicate< IMyPathEdge< V >> edgeTraversable=null)
 
long GetCurrentTimestamp ()
 
bool VisitedBetween (V vertex, long start, long end)
 
void PrepareTraversal (V startingVertex, Predicate< V > vertexFilter=null, Predicate< V > vertexTraversable=null, Predicate< IMyPathEdge< V >> edgeTraversable=null)
 Has to be called before any traversal of the pathfinding system using enumerators. More...
 
void PerformTraversal ()
 
IEnumerator< V > GetEnumerator ()
 

Public Attributes

const int NAVMESH_LOD = 0
 

Static Public Attributes

static float PresentEntityWeight = 100
 
static float RecountCellWeight = 10
 
static float JustAddedAdjacentCellWeight = 0.02f
 
static float TooFarWeight = -100
 
- Static Public Attributes inherited from Sandbox.Game.AI.Pathfinding.MyNavigationMesh
static int m_debugFunnelIdx = 0
 

Properties

static MyVoxelBase VoxelMap [get]
 
Vector3D VoxelMapReferencePosition [get]
 
Vector3D VoxelMapWorldPosition [get]
 
override MyHighLevelGroup HighLevelGroup [get]
 
- Properties inherited from Sandbox.Game.AI.Pathfinding.MyNavigationMesh
MyWingedEdgeMesh Mesh [get]
 
abstract MyHighLevelGroup HighLevelGroup [get]
 
- Properties inherited from Sandbox.Game.AI.Pathfinding.IMyNavigationGroup
MyHighLevelGroup HighLevelGroup [get]
 

Additional Inherited Members

- Protected Member Functions inherited from Sandbox.Game.AI.Pathfinding.MyNavigationMesh
MyNavigationTriangle AddTriangle (ref Vector3 A, ref Vector3 B, ref Vector3 C, ref int edgeAB, ref int edgeBC, ref int edgeCA)
 
void RemoveTriangle (MyNavigationTriangle tri)
 
MyNavigationTriangle GetEdgeTriangle (int edgeIndex)
 
List< Vector4DFindRefinedPath (MyNavigationTriangle start, MyNavigationTriangle end, ref Vector3 startPoint, ref Vector3 endPoint)
 
- Protected Member Functions inherited from VRage.Algorithms.MyPathFindingSystem< MyNavigationPrimitive >
void CalculateNextTimestamp ()
 

Detailed Description

Definition at line 20 of file MyVoxelNavigationMesh.cs.

Constructor & Destructor Documentation

Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.MyVoxelNavigationMesh ( MyVoxelBase  voxelMap,
MyNavmeshCoordinator  coordinator,
Func< long >  timestampFunction 
)
inline

Definition at line 123 of file MyVoxelNavigationMesh.cs.

Member Function Documentation

void Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.AddCellDebug ( Vector3I  cellPos)
inline

Definition at line 898 of file MyVoxelNavigationMesh.cs.

bool Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.AddOneMarkedCell ( List< Vector3D importantPositions)
inline

Definition at line 318 of file MyVoxelNavigationMesh.cs.

override void Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.DebugDraw ( ref Matrix  drawMatrix)
inlinevirtual

Reimplemented from Sandbox.Game.AI.Pathfinding.MyNavigationMesh.

Definition at line 1114 of file MyVoxelNavigationMesh.cs.

override MyNavigationPrimitive Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.FindClosestPrimitive ( Vector3D  point,
bool  highLevel,
ref double  closestDistanceSq 
)
inlinevirtual
List<Vector4D> Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.FindPath ( Vector3  start,
Vector3  end 
)
inline

All coords should be in the voxel local coordinates

Definition at line 921 of file MyVoxelNavigationMesh.cs.

List<Vector4D> Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.FindPathGlobal ( Vector3D  start,
Vector3D  end 
)
inline

Definition at line 911 of file MyVoxelNavigationMesh.cs.

override IMyHighLevelComponent Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.GetComponent ( MyHighLevelPrimitive  highLevelPrimitive)
inlinevirtual
override MyHighLevelPrimitive Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.GetHighLevelPrimitive ( MyNavigationPrimitive  myNavigationTriangle)
inlinevirtual
override MatrixD Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.GetWorldMatrix ( )
inlinevirtual

Reimplemented from Sandbox.Game.AI.Pathfinding.MyNavigationMesh.

Definition at line 1052 of file MyVoxelNavigationMesh.cs.

override Vector3 Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.GlobalToLocal ( Vector3D  globalPos)
inlinevirtual
void Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.InvalidateRange ( Vector3I  minVoxelChanged,
Vector3I  maxVoxelChanged 
)
inline

Definition at line 170 of file MyVoxelNavigationMesh.cs.

override Vector3D Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.LocalToGlobal ( Vector3  localPos)
inlinevirtual
void Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.MarkBoxForAddition ( BoundingBoxD  box)
inline

Definition at line 201 of file MyVoxelNavigationMesh.cs.

void Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.MarkCellsOnPaths ( )
inline

Definition at line 878 of file MyVoxelNavigationMesh.cs.

bool Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.RefreshOneChangedCell ( )
inline

Definition at line 286 of file MyVoxelNavigationMesh.cs.

void Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.RemoveCellDebug ( Vector3I  cellPos)
inline

Definition at line 906 of file MyVoxelNavigationMesh.cs.

void Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.RemoveFarHighLevelGroups ( List< Vector3D updatePositions)
inline

Definition at line 870 of file MyVoxelNavigationMesh.cs.

bool Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.RemoveOneUnusedCell ( List< Vector3D importantPositions)
inline

Definition at line 820 of file MyVoxelNavigationMesh.cs.

void Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.RemoveTriangle ( int  index)
inline

Definition at line 814 of file MyVoxelNavigationMesh.cs.

override string Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.ToString ( )
inline

Definition at line 155 of file MyVoxelNavigationMesh.cs.

Member Data Documentation

float Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.JustAddedAdjacentCellWeight = 0.02f
static

Definition at line 78 of file MyVoxelNavigationMesh.cs.

const int Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.NAVMESH_LOD = 0

Definition at line 100 of file MyVoxelNavigationMesh.cs.

float Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.PresentEntityWeight = 100
static

Definition at line 76 of file MyVoxelNavigationMesh.cs.

float Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.RecountCellWeight = 10
static

Definition at line 77 of file MyVoxelNavigationMesh.cs.

float Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.TooFarWeight = -100
static

Definition at line 79 of file MyVoxelNavigationMesh.cs.

Property Documentation

override MyHighLevelGroup Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.HighLevelGroup
get

Definition at line 1068 of file MyVoxelNavigationMesh.cs.

MyVoxelBase Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.VoxelMap
staticget

Definition at line 104 of file MyVoxelNavigationMesh.cs.

Vector3D Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.VoxelMapReferencePosition
get

Definition at line 108 of file MyVoxelNavigationMesh.cs.

Vector3D Sandbox.Game.AI.Pathfinding.MyVoxelNavigationMesh.VoxelMapWorldPosition
get

Definition at line 116 of file MyVoxelNavigationMesh.cs.


The documentation for this class was generated from the following file: