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

Classes

struct  FunnelState
 

Public Member Functions

 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)
 
abstract Vector3 GlobalToLocal (Vector3D globalPos)
 
abstract Vector3D LocalToGlobal (Vector3 localPos)
 
abstract MyHighLevelPrimitive GetHighLevelPrimitive (MyNavigationPrimitive myNavigationTriangle)
 
abstract IMyHighLevelComponent GetComponent (MyHighLevelPrimitive highLevelPrimitive)
 
abstract MyNavigationPrimitive FindClosestPrimitive (Vector3D point, bool highLevel, ref double closestDistanceSq)
 
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...
 
virtual void DebugDraw (ref Matrix drawMatrix)
 
void RemoveFace (int index)
 
virtual MatrixD GetWorldMatrix ()
 
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 ()
 

Static Public Attributes

static int m_debugFunnelIdx = 0
 

Protected Member Functions

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 ()
 

Properties

MyWingedEdgeMesh Mesh [get]
 
abstract MyHighLevelGroup HighLevelGroup [get]
 
- Properties inherited from Sandbox.Game.AI.Pathfinding.IMyNavigationGroup
MyHighLevelGroup HighLevelGroup [get]
 

Detailed Description

Definition at line 18 of file MyNavigationMesh.cs.

Constructor & Destructor Documentation

Sandbox.Game.AI.Pathfinding.MyNavigationMesh.MyNavigationMesh ( MyNavgroupLinks  externalLinks,
int  trianglePrealloc = 16,
Func< long >  timestampFunction = null 
)
inline

Definition at line 352 of file MyNavigationMesh.cs.

Member Function Documentation

MyNavigationTriangle Sandbox.Game.AI.Pathfinding.MyNavigationMesh.AddTriangle ( ref Vector3  A,
ref Vector3  B,
ref Vector3  C,
ref int  edgeAB,
ref int  edgeBC,
ref int  edgeCA 
)
inlineprotected

Definition at line 378 of file MyNavigationMesh.cs.

int Sandbox.Game.AI.Pathfinding.MyNavigationMesh.ApproximateMemoryFootprint ( )
inline

Definition at line 670 of file MyNavigationMesh.cs.

void Sandbox.Game.AI.Pathfinding.MyNavigationMesh.CheckMeshConsistency ( )
inline

Definition at line 665 of file MyNavigationMesh.cs.

virtual void Sandbox.Game.AI.Pathfinding.MyNavigationMesh.DebugDraw ( ref Matrix  drawMatrix)
inlinevirtual
void Sandbox.Game.AI.Pathfinding.MyNavigationMesh.ErasePools ( )
inline

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.

Definition at line 575 of file MyNavigationMesh.cs.

abstract MyNavigationPrimitive Sandbox.Game.AI.Pathfinding.MyNavigationMesh.FindClosestPrimitive ( Vector3D  point,
bool  highLevel,
ref double  closestDistanceSq 
)
pure virtual
List<Vector4D> Sandbox.Game.AI.Pathfinding.MyNavigationMesh.FindRefinedPath ( MyNavigationTriangle  start,
MyNavigationTriangle  end,
ref Vector3  startPoint,
ref Vector3  endPoint 
)
inlineprotected

Definition at line 526 of file MyNavigationMesh.cs.

abstract IMyHighLevelComponent Sandbox.Game.AI.Pathfinding.MyNavigationMesh.GetComponent ( MyHighLevelPrimitive  highLevelPrimitive)
pure virtual
MyNavigationTriangle Sandbox.Game.AI.Pathfinding.MyNavigationMesh.GetEdgeTriangle ( int  edgeIndex)
inlineprotected

Definition at line 514 of file MyNavigationMesh.cs.

IMyPathEdge<MyNavigationPrimitive> Sandbox.Game.AI.Pathfinding.MyNavigationMesh.GetExternalEdge ( MyNavigationPrimitive  primitive,
int  index 
)
inline
MyNavigationPrimitive Sandbox.Game.AI.Pathfinding.MyNavigationMesh.GetExternalNeighbor ( MyNavigationPrimitive  primitive,
int  index 
)
inline
int Sandbox.Game.AI.Pathfinding.MyNavigationMesh.GetExternalNeighborCount ( MyNavigationPrimitive  primitive)
inline
abstract MyHighLevelPrimitive Sandbox.Game.AI.Pathfinding.MyNavigationMesh.GetHighLevelPrimitive ( MyNavigationPrimitive  myNavigationTriangle)
pure virtual
MyNavigationTriangle Sandbox.Game.AI.Pathfinding.MyNavigationMesh.GetTriangle ( int  index)
inline

Definition at line 509 of file MyNavigationMesh.cs.

virtual MatrixD Sandbox.Game.AI.Pathfinding.MyNavigationMesh.GetWorldMatrix ( )
inlinevirtual
abstract Vector3 Sandbox.Game.AI.Pathfinding.MyNavigationMesh.GlobalToLocal ( Vector3D  globalPos)
pure virtual
abstract Vector3D Sandbox.Game.AI.Pathfinding.MyNavigationMesh.LocalToGlobal ( Vector3  localPos)
pure virtual
void Sandbox.Game.AI.Pathfinding.MyNavigationMesh.RefinePath ( MyPath< MyNavigationPrimitive path,
List< Vector4D output,
ref Vector3  startPoint,
ref Vector3  endPoint,
int  begin,
int  end 
)
inline
void Sandbox.Game.AI.Pathfinding.MyNavigationMesh.RemoveFace ( int  index)
inline

Definition at line 654 of file MyNavigationMesh.cs.

void Sandbox.Game.AI.Pathfinding.MyNavigationMesh.RemoveTriangle ( MyNavigationTriangle  tri)
inlineprotected

Definition at line 462 of file MyNavigationMesh.cs.

Member Data Documentation

int Sandbox.Game.AI.Pathfinding.MyNavigationMesh.m_debugFunnelIdx = 0
static

Definition at line 344 of file MyNavigationMesh.cs.

Property Documentation

abstract MyHighLevelGroup Sandbox.Game.AI.Pathfinding.MyNavigationMesh.HighLevelGroup
get

Definition at line 565 of file MyNavigationMesh.cs.

MyWingedEdgeMesh Sandbox.Game.AI.Pathfinding.MyNavigationMesh.Mesh
get

Definition at line 328 of file MyNavigationMesh.cs.


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