Kaim Namespace Reference

Namespace description

This is the primary namespace used by most Gameware Navigation components. Most programming you do with Gameware Navigation, such as writing custom derivations of component classes, will be done using this namespace.

Namespaces

 GenFlags
 
 Result
 

Classes

class  AbstractGraphDataGenerator
 
class  ActiveCell
 
class  ActiveData
 
class  AdvancedPathProgressConfig
 
class  AStarQuery
 
class  AsyncQueryDispatcher
 
class  AttributeGroupBlob
 
class  AttributeGroupValuesBlob
 
class  AvoidanceCollider
 
class  AvoidanceComputer
 
class  AvoidanceComputerCollectorFilter
 
class  AvoidanceConfig
 
class  AvoidanceSolver
 
class  AvoidanceWorkspace
 
class  BaseAStarQuery
 
class  BaseBestGraphVertexPathFinderQuery
 
class  BaseBlobBuilder
 
class  BaseDiskCanGoQuery
 
class  BaseDiskCastQuery
 
class  BaseDiskCollisionQuery
 
class  BaseDiskExpansionQuery
 
class  BaseFindFirstVisiblePositionOnPathQuery
 
class  BaseInsidePosFromOutsidePosQuery
 
class  BaseLog
 
class  BaseMultiDestinationPathFinderQuery
 
class  BaseNavigationProfile
 
class  BaseNearestBorderHalfEdgeFromPosQuery
 
class  BasePathFromPolylineQuery
 
class  BasePathProgressComputer
 
class  BaseRayCanGoOnSegmentQuery
 
class  BaseRayCanGoQuery
 
class  BaseRayCastOnSegmentQuery
 
class  BaseRayCastQuery
 
class  BaseSegmentCanGoQuery
 
class  BaseSegmentCastQuery
 
class  BaseShortcutTrajectory
 
class  BaseSpatializedPointCollectorInAABBQuery
 
class  BaseSystem
 
class  BaseSystemConfig
 
class  BestGraphVertexPathFinderQuery
 
class  BlobArray
 
class  BlobCategory
 
class  BlobFile
 
class  BlobHandler
 
class  BlobRef
 
class  Bot
 
class  BotColors
 
class  BotConfig
 
class  BotInitConfig
 
class  BotMoveOnNavMesh
 
class  BotNavigation
 
class  BotOutput
 
class  Box2f
 
class  Box2i
 
class  Box2LL
 
class  Box3f
 
class  BoxObstacle
 
class  BoxObstacleInitConfig
 
class  BoxObstaclesCollectionBlobBuilder
 
class  Bubble
 
class  BubbleArray
 
class  BubbleToCornerFunnel
 
class  Channel
 
class  ChannelArray
 
class  ChannelComputerConfig
 
class  ChannelDisplayConfig
 
class  CheckHeaderLibDesync
 
class  CircleArcSpline
 
class  CircleArcSplineComputationQuery
 
class  CircleArcSplineComputer
 
class  CircleArcSplineComputerVisualDebugConfig
 
class  CircleArcSplineSection
 
class  ClientInput
 
class  ClientInputConsumer
 
class  ClientInputSectorDescriptor
 
class  ClientInputSectorDescriptorBlob
 
class  ClientInputTagVolume
 
class  ColDataSectorDescriptor
 
class  ColDataSectorDescriptorBlob
 
class  Collection
 
class  ColliderCollectorConfig
 
class  CollisionData
 
class  CollisionRayCastQuery
 
class  CollisionWorld
 
class  ContourLineExtractor
 
class  Converge
 
class  CoordSystem
 
class  CoordSystemConfig
 
class  CostMultiplierSubSegment
 
class  CylinderObstacle
 
class  CylinderObstacleInitConfig
 
class  Database
 
class  DatabaseBinding
 
class  DatabaseDescriptor
 
class  DatabaseDescriptorBlob
 
class  DatabaseGenMetrics
 
class  DefaultFileOpener
 
class  DefaultLog
 
class  DefaultNavigationProfile
 
class  DefaultPathEventListObserver
 
class  DenseGrid
 
class  DiagonalStripFunnel
 
class  DiskCanGoQuery
 
class  DiskCastQuery
 
class  DiskCollisionQuery
 
class  DiskExpansionQuery
 
class  DisplayListManager
 
class  DisplayListRemovalBlob
 
class  DisplayListRemovalFromNameBlob
 
class  DynamicInputCell
 
class  DynamicNavMeshQuery
 
class  Endianness
 
class  FileOpenerBase
 
class  FindFirstVisiblePositionOnPathQuery
 
class  FloatStat
 
class  FloorAltitudeRange
 
class  FollowedCircleArcSpline
 
class  Funnel
 
class  GameKitCrowdDispersionNavTagHashMap
 
class  GameKitCrowdDispersionNavTagId
 
class  GameKitNavigationProfile
 
class  GameKitNavTag
 
class  GameKitSmartObjectInterval
 
class  GameKitTraverseLogic
 
class  Gate
 
class  Generator
 
class  GeneratorAdvancedParameters
 
class  GeneratorBaseSystem
 
class  GeneratorGuidCompound
 
class  GeneratorInputOutput
 
class  GeneratorInputProducer
 
class  GeneratorParameters
 
class  GeneratorReport
 
class  GeneratorRunOptions
 
class  GeneratorSector
 
class  GeneratorSectorBlob
 
class  GeneratorSectorBlobBuilder
 
class  GeneratorSectorBuilder
 
class  GeneratorSectorListBlob
 
class  GeneratorSectorListBlobBuilder
 
class  GeneratorSectorRefCountedUserData
 
class  GeneratorSectorReport
 
class  GeneratorSystem
 
class  HalfEdgeIntersection
 
class  HeightField
 
class  IAsyncQueryDispatcher
 
class  IAtomicQuery
 
class  IAvoidanceComputer
 
class  IAvoidanceFilter
 
class  IAvoidanceSolver
 
class  ICollisionInterface
 
class  IGeneratorGlue
 
class  IMessageReceiver
 
class  IMovePositionOnLivePathPredicate
 
class  IndexedMesh
 
class  InputTileImprint
 
class  InsidePosFromOutsidePosQuery
 
class  IntermediateFilesConfig
 
class  IOnDone
 
class  IParallelElementFunctor
 
class  IParallelForInterface
 
class  IPathEventListObserver
 
class  IPathFinderQuery
 
class  IPerfMarkerInterface
 
class  IPositionOnPathValidator
 
class  IQuery
 
class  ITimeSlicedQuery
 
class  Itinerary
 
class  IVisualGeometry
 
class  IVisualGeometryFactory
 
class  KyArray
 
class  KyArrayDH
 
class  KyArrayDH_POD
 
class  KyArrayLH
 
class  KyArrayLH_POD
 
class  KyArrayPOD
 
class  KyGuid
 
class  LivePath
 
class  LocalCostAwareTraverseLogic
 
class  LodMaxBlob
 
class  Matrix3x3f
 
class  MonodirectionalRayCanGoQuery
 
class  MoveOnNavMeshQuery
 
class  MoveToNavTagEntryPositionOnPathPredicate
 
class  MoveToNavTagExitPositionOnPathPredicate
 
class  MultipleFloorTrianglesFromPosQuery
 
class  NavCell
 
class  NavCellBlob
 
class  NavCellGrid
 
class  NavCellPosInfo
 
class  NavData
 
class  NavFloor
 
class  NavFloorAABB
 
class  NavFloorBlob
 
class  NavFloorBoxBlob
 
class  NavFloorPtr
 
class  NavFloorRawPtr
 
class  NavGenProj
 
class  NavGenProjClientInput
 
class  NavGenProjConfig
 
class  NavGenProjGeometry
 
class  NavGenProjMirrorOptions
 
class  NavGenProjPdgInput
 
class  NavGenProjSector
 
class  NavGenProjSeedPoint
 
class  NavGenProjTagVolume
 
class  NavGenProjTerrainTypeMaterial
 
class  NavGraph
 
class  NavGraphBlob
 
class  NavGraphBlobBuilder
 
class  NavGraphEdgePtr
 
class  NavGraphEdgeRawPtr
 
class  NavGraphPtr
 
class  NavGraphRawPtr
 
class  NavGraphVertexPtr
 
class  NavGraphVertexRawPtr
 
class  NavHalfEdge
 
class  NavHalfEdgePtr
 
class  NavHalfEdgeRawPtr
 
class  NavigationProfile
 
class  NavMeshElement
 
class  NavMeshElementBlob
 
class  NavMeshElementManager
 
class  NavMeshGenParameters
 
class  NavTagMovePositionOnPathPredicate
 
class  NavTagPtr
 
class  NavTagSubSegment
 
class  NavTrianglePtr
 
class  NavTriangleRawPtr
 
class  NavVertex
 
class  NearestBorderHalfEdgeFromPosQuery
 
class  ObjFileReader
 
class  OBJProducer
 
class  OrientedBox2d
 
class  Path
 
class  PathEvent
 
class  PathEventInterval
 
class  PathEventList
 
class  PathFinderConfig
 
class  PathFinderQueryUtils
 
class  PathProgressComputer
 
class  PathProgressConfig
 
class  PathValidityInterval
 
class  PerformQueryStatistics
 
class  PointOfInterest
 
class  PointOfInterestInitConfig
 
class  PositionOnCircleArcSpline
 
class  PositionOnCircleArcSplineSection
 
class  PositionOnLivePath
 
class  PositionOnPath
 
class  PositionOnPathCheckPointValidator
 
class  Profiler
 
class  QueryDynamicOutput
 
class  QueryQueue
 
class  QueryQueueArray
 
class  QueryQueueCommand
 
class  QueryQueueConfig
 
class  QueryQueueStats
 
class  QueryUtils
 
class  RadiusProfile
 
class  RadiusProfileArray
 
class  RadiusProfileCircleArcSplineComputerOutput
 
class  RawHalfEdgeIntersection
 
class  RawNavTagSubSegment
 
class  RayCanGoOnSegmentQuery
 
class  RayCanGoQuery
 
class  RayCastFull3dQuery
 
class  RayCastOnSegmentQuery
 
class  RayCastQuery
 
class  RayQueryUtils
 
class  ScopedDisplayList
 
class  ScopedPerformedQueryCounter
 
class  ScopedSetPathNavigationProfile
 
class  SectorDescriptor
 
class  SectorDescriptorBlob
 
class  SectorInputData
 
class  SegmentCanGoQuery
 
class  SegmentCastQuery
 
class  SharedPoolList
 
class  ShortcutTrajectory
 
class  ShortcutTrajectoryConfig
 
class  SimpleTraverseLogic
 
class  SpatializedCylinder
 
class  SpatializedCylinderInitConfig
 
class  SpatializedPoint
 
class  SpatializedPointCollectorInAABBQuery
 
class  SpatializedPointInitConfig
 
class  SPL_ConstIterator
 
class  SPL_Iterator
 
class  SplineComputationConfigBlob
 
class  SplineTrajectory
 
class  SplineTrajectoryConfig
 
class  SplineTrajectoryConfigBlob
 
class  SPListNode
 
class  StraightMemoryHeapMalloc
 
class  StraightSysAllocMalloc
 
class  StringPuller
 
class  StringUtils
 
class  SysAlloc
 
class  SysAllocBase
 
class  SysAllocBase_SingletonSupport
 
class  SysAllocMalloc
 
class  TagVolume
 
class  TagVolumeDatabaseData
 
class  TagVolumeInitConfig
 
class  TagVolumeTrigger
 
class  TargetOnPathComputer
 
class  ThinCapsuleWithExtentOffset
 
class  TrackedCollection
 
class  Trajectory
 
class  Transform
 
class  TraversalParameters
 
class  TraverseLogicObsoleteChecker
 
class  TraverseLogicWithCostMultiplerPerNavTag
 
class  TraverseLogicWithCostPerTriangle
 
class  Triangle3f
 
class  Triangle3i
 
class  TriangleFromPosAndTriangleSeedQuery
 
class  TriangleFromPosQuery
 
class  Vec2f
 
class  Vec2i
 
class  Vec2LL
 
class  Vec3f
 
class  Vec3i
 
class  Version
 
class  VisualColor
 
class  VisualDebugAttributeGroup
 
class  VisualDebugClient
 
class  VisualDebugDataRemovalBlob
 
class  VisualDebugServer
 
class  VisualDebugServerConfig
 
class  VisualGeometrySetupConfig
 
class  VisualTriangle
 
class  World
 
class  WorldElement
 
class  WorldIntegerPos
 

Typedefs

typedef KyUInt32 CardinalDir
 
typedef Box2i CellBox
 
typedef KyInt32 CellCoord
 
typedef Vec2i CellPos
 
typedef Box2i CoordBox
 
typedef Box2LL CoordBox64
 
typedef Vec2i CoordPos
 
typedef Vec2LL CoordPos64
 
typedef Box2i HeightfieldTileBox
 
typedef Vec2i HeightfieldTilePos
 
typedef Box2i HeightfieldVertexBox
 
typedef Vec2i HeightfieldVertexPos
 
typedef ArrayConstPolicy< 0, 4, true > KyArrayDefaultPolicy
 
typedef KyUInt32 NavCellIdx
 
typedef KyUInt32 NavConnexIdx
 
typedef KyUInt32 NavFloorIdx
 
typedef KyUInt32 NavGraphVertexIdx
 
typedef KyUInt16 NavGraphVertexLinkType
 
typedef KyUInt32 NavHalfEdgeIdx
 
typedef KyUInt32 NavTriangleIdx
 
typedef KyUInt32 NavVertexIdx
 

Enumerations

enum  AStarQueryResult {
  ASTAR_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, ASTAR_NOT_PROCESSED = QUERY_NOT_PROCESSED, ASTAR_PROCESSING_TRAVERSAL, ASTAR_PROCESSING_TRAVERSAL_DONE,
  ASTAR_PROCESSING_ABSTRACT_PATH, ASTAR_PROCESSING_REFINING_INIT, ASTAR_PROCESSING_REFINING_RESETCOST, ASTAR_PROCESSING_REFINING,
  ASTAR_PROCESSING_PATHCLAMPING_INIT, ASTAR_PROCESSING_PATHCLAMPING, ASTAR_PROCESSING_PATHBUILDING, ASTAR_PROCESSING_CHANNEL_INIT,
  ASTAR_PROCESSING_CHANNEL_COMPUTE, ASTAR_DONE_START_OUTSIDE, ASTAR_DONE_START_NAVTAG_FORBIDDEN, ASTAR_DONE_END_OUTSIDE,
  ASTAR_DONE_END_NAVTAG_FORBIDDEN, ASTAR_DONE_PATH_NOT_FOUND, ASTAR_DONE_NAVDATA_CHANGED, ASTAR_DONE_ERROR_LACK_OF_WORKING_MEMORY,
  ASTAR_DONE_COMPUTATION_ERROR, ASTAR_DONE_CHANNELCONFIG_ERROR, ASTAR_DONE_CHANNELCOMPUTATION_ERROR, ASTAR_DONE_COMPUTATION_CANCELED,
  ASTAR_DONE_DEST_IS_START_NO_PATH, ASTAR_DONE_PATH_FOUND
}
 
enum  AStarQueryTryCanGoMode
 
enum  AsyncQueryDispatchId
 
enum  AvoidanceFilterResult { AvoidanceFilter_Ignore = 0, AvoidanceFilter_Avoid }
 
enum  AvoidanceResult {
  Avoidance_NoAvoidance = 0, Avoidance_SlowDown, Avoidance_Accelerate, Avoidance_Turn,
  Avoidance_Stop, Avoidance_SolutionNotFound, Avoidance_ForcePassage, Avoidance_WaitForcePassage
}
 
enum  BestGraphVertexPathFinderQueryResult {
  BESTGRAPHVERTEX_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, BESTGRAPHVERTEX_NOT_PROCESSED = QUERY_NOT_PROCESSED, BESTGRAPHVERTEX_PROCESSING_TRAVERSAL, BESTGRAPHVERTEX_PROCESSING_TRAVERSAL_DONE,
  BESTGRAPHVERTEX_PROCESSING_REFINING_INIT, BESTGRAPHVERTEX_PROCESSING_REFINING, BESTGRAPHVERTEX_PROCESSING_PATHCLAMPING_INIT, BESTGRAPHVERTEX_PROCESSING_PATHCLAMPING,
  BESTGRAPHVERTEX_PROCESSING_PATHBUILDING, BESTGRAPHVERTEX_PROCESSING_CHANNEL_INIT, BESTGRAPHVERTEX_PROCESSING_CHANNEL_COMPUTE, BESTGRAPHVERTEX_DONE_START_OUTSIDE,
  BESTGRAPHVERTEX_DONE_START_NAVTAG_FORBIDDEN, BESTGRAPHVERTEX_DONE_PATH_NOT_FOUND, BESTGRAPHVERTEX_DONE_NAVDATA_CHANGED, BESTGRAPHVERTEX_DONE_ERROR_LACK_OF_WORKING_MEMORY,
  BESTGRAPHVERTEX_DONE_COMPUTATION_ERROR, BESTGRAPHVERTEX_DONE_CHANNELCONFIG_ERROR, BESTGRAPHVERTEX_DONE_CHANNELCOMPUTATION_ERROR, BESTGRAPHVERTEX_DONE_COMPUTATION_CANCELED,
  BESTGRAPHVERTEX_DONE_PATH_FOUND
}
 
enum  BoxObstacleRotationMode { BoxObstacleRotation_Yaw = 0, BoxObstacleRotation_Free }
 
enum  BoxObstacleUpAxis
 
enum  BubbleType
 
enum  ChannelArrayComputerResult { ChannelArrayResult_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, ChannelArrayResult_NOT_PROCESSED = QUERY_NOT_PROCESSED }
 
enum  CheckPointStatus { CheckPointStatus_EventIsNotACheckPoint, CheckPointStatus_EventIsACheckPoint }
 
enum  CircleArcSplineComputationQueryResult {
  CIRCLEARCSPLINECOMPUTATION_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, CIRCLEARCSPLINECOMPUTATION_NOT_PROCESSED = QUERY_NOT_PROCESSED, CIRCLEARCSPLINECOMPUTATION_DONE_INVALIDINPUTS, CIRCLEARCSPLINECOMPUTATION_DONE_COMPUTERINTERNALERROR,
  CIRCLEARCSPLINECOMPUTATION_DONE_COMPUTATION_CANCELED, CIRCLEARCSPLINECOMPUTATION_DONE_SUCCESS
}
 
enum  CircleArcSplineComputationResult {
  CircleArcSplineComputation_NotComputed = 0, CircleArcSplineComputation_Success = 1, CircleArcSplineComputation_Warning = 2, CircleArcSplineComputation_Failed_InvalidInputs = 1 << 2,
  CircleArcSplineComputation_Failed_BubbleArrayBuildError = 1 << 3, CircleArcSplineComputation_Failed_StringPullerError = 1 << 4, CircleArcSplineComputation_Failed_InvalidStringPulledBubbleList = 1 << 5, CircleArcSplineComputation_Failed_TurnListConstructionError = 1 << 6,
  CircleArcSplineComputation_Failed_TurnListRadiusAdjustmentError = 1 << 7, CircleArcSplineComputation_Failed_CircleArcSplineBuildError = 1 << 8, CircleArcSplineComputation_Failed_InvalidSpline = 1 << 9
}
 
enum  CircleArcSplineComputationWarningFlags { CircleArcSplineComputation_Warning_ReleasedStartConstraint = 1 << 0, CircleArcSplineComputation_Warning_ReleasedEndConstraint = 1 << 1, CircleArcSplineComputation_Warning_RestrictedRadius = 1 << 2, CircleArcSplineComputation_Warning_SmallTurn = 1 << 3 }
 
enum  CommonQueryResult { QUERY_NOT_INITIALIZED = 0, QUERY_NOT_PROCESSED = 1 }
 
enum  ComputeCostMode { QUERY_DO_NOT_COMPUTE_COST, QUERY_COMPUTE_COST_ALONG_3DAXIS }
 
enum  CoordSystemClientAxis {
  CLIENT_X = 0, CLIENT_MINUS_X = 1, CLIENT_Y = 2, CLIENT_MINUS_Y = 3,
  CLIENT_Z = 4, CLIENT_MINUS_Z = 5
}
 
enum  DiagonalStripComputerResult { DiagonalStripResult_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, DiagonalStripResult_NOT_PROCESSED = QUERY_NOT_PROCESSED }
 
enum  DiskCanGoInChannelResult { ,
  DiskCanGoInChannel_Success, DiskCanGoInChannel_InvalidChannel, DiskCanGoInChannel_InvalidStartSectionIdx, DiskCanGoInChannel_PassedChannelEndGate,
  DiskCanGoInChannel_PassedChannelStartGate, DiskCanGoInChannel_StartIsOutside, DiskCanGoInChannel_CollisionDetected
}
 
enum  DiskCanGoQueryResult {
  DISKCANGO_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, DISKCANGO_NOT_PROCESSED = QUERY_NOT_PROCESSED, DISKCANGO_DONE_START_OUTSIDE, DISKCANGO_DONE_START_NAVTAG_FORBIDDEN,
  DISKCANGO_DONE_COLLISION_DETECTED, DISKCANGO_DONE_ARRIVAL_WRONG_FLOOR, DISKCANGO_DONE_LACK_OF_WORKING_MEMORY, DISKCANGO_DONE_UNKNOWN_ERROR,
  DISKCANGO_DONE_SUCCESS
}
 
enum  DiskCanGoQueryType { DISKCANGO_DONT_ADAPT_TO_STARTPOS, DISKCANGO_ADAPT_TO_STARTPOS }
 
enum  DiskCastQueryResult {
  DISKCAST_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, DISKCAST_NOT_PROCESSED = QUERY_NOT_PROCESSED, DISKCAST_DONE_START_OUTSIDE, DISKCAST_DONE_START_NAVTAG_FORBIDDEN,
  DISKCAST_DONE_CANNOT_MOVE, DISKCAST_DONE_COLLISION_FOUND_ARRIVAL_ERROR, DISKCAST_DONE_LACK_OF_WORKING_MEMORY, DISKCAST_DONE_UNKNOWN_ERROR,
  DISKCAST_DONE_ARRIVALPOS_FOUND_MAXDIST_REACHED, DISKCAST_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION
}
 
enum  DiskCastQueryType { DISKCAST_DONT_ADAPT_TO_STARTPOS, DISKCAST_ADAPT_TO_STARTPOS }
 
enum  DiskCollisionQueryResult {
  DISKCOLLISION_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, DISKCOLLISION_NOT_PROCESSED = QUERY_NOT_PROCESSED, DISKCOLLISION_DONE_CENTER_OUTSIDE, DISKCOLLISION_DONE_CENTER_NAVTAG_FORBIDDEN,
  DISKCOLLISION_DONE_DISK_DOES_NOT_FIT, DISKCOLLISION_DONE_LACK_OF_WORKING_MEMORY, DISKCOLLISION_DONE_UNKNOWN_ERROR, DISKCOLLISION_DONE_DISK_FIT
}
 
enum  DiskExpansionQueryResult {
  DISKEXPANSION_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, DISKEXPANSION_NOT_PROCESSED = QUERY_NOT_PROCESSED, DISKEXPANSION_DONE_CENTER_OUTSIDE, DISKEXPANSION_DONE_CENTER_NAVTAG_FORBIDDEN,
  DISKEXPANSION_DONE_CANNOT_EXPAND, DISKEXPANSION_DONE_LACK_OF_WORKING_MEMORY, DISKEXPANSION_DONE_UNKNOWN_ERROR, DISKEXPANSION_DONE_DISK_FIT,
  DISKEXPANSION_DONE_COLLISION_FOUND
}
 
enum  DisplayListActivation { DisplayList_Disable, DisplayList_Enable }
 
enum  DisplayListLifeSpan { , DisplayListLifeSpan_UserControlled }
 
enum  DynamicNavMeshQueryResult {
  DYNNAVMESH_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, DYNNAVMESH_NOT_PROCESSED = QUERY_NOT_PROCESSED , DYNNAVMESH_NAVFLOOR_INVALID, DYNNAVMESH_LACK_OF_WORKING_MEMORY,
  DYNNAVMESH_INTERSECTION_COMPUTATION_ERROR, DYNNAVMESH_SWEEPLINE_COMPUTATION_ERROR, DYNNAVMESH_POLYGON_COMPUTATION_ERROR, DYNNAVMESH_TRIANGULATION_COMPUTATION_ERROR,
  DYNNAVMESH_ALTITUDE_COMPUTATION_ERROR, DYNNAVMESH_NAVFLOOR_INDICES_OUT_OF_BOUNDS, DYNNAVMESH_UNKNOWN_ERROR, DYNNAVMESH_DONE_SUCCESS
}
 
enum  DynamicOutputMode {
  QUERY_SAVE_NOTHING = 0, QUERY_SAVE_FLOORS = 1 << 1, QUERY_SAVE_TRIANGLES = 1 << 2, QUERY_SAVE_NAVTAGSUBSEGMENTS = 1 << 3,
  QUERY_SAVE_HALFEDGEINTERSECTIONS = 1 << 4, QUERY_SAVE_COSTMULTIPLIERSUBSEGMENTS = 1 << 5, QUERY_SAVE_SPATIALIZEDPOINTS = 1 << 6, QUERY_SAVE_TAGVOLUMES = 1 << 7
}
 
enum  FileOpenerMode { OpenMode_Read = 0, OpenMode_Write }
 
enum  FindFirstVisiblePositionOnPathQueryResult {
  FINDFIRSTVISIBLEPOSITIONONPATH_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, FINDFIRSTVISIBLEPOSITIONONPATH_NOT_PROCESSED = QUERY_NOT_PROCESSED, FINDFIRSTVISIBLEPOSITIONONPATH_DONE_VISIBILITYSTARTPOINT_OUTSIDE, FINDFIRSTVISIBLEPOSITIONONPATH_DONE_VISIBILITYSTARTPOINT_NAVTAG_FORBIDDEN,
  FINDFIRSTVISIBLEPOSITIONONPATH_DONE_NO_VISIBLE_POSITION_FOUND, FINDFIRSTVISIBLEPOSITIONONPATH_DONE_LACK_OF_WORKING_MEMORY, FINDFIRSTVISIBLEPOSITIONONPATH_DONE_UNKNOWN_ERROR, FINDFIRSTVISIBLEPOSITIONONPATH_DONE_SUCCESS
}
 
enum  GameKitCrowdDispersionLogicAction { GameKitCrowdDispersionLogic_NoAction = 0, GameKitCrowdDispersionLogic_RecomputePath = 1, GameKitCrowdDispersionLogic_CancelOutRecomputedPath = 2 }
 
enum  GateArrayComputerResult { GateArrayComputerResult_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, GateArrayComputerResult_NOT_PROCESSED = QUERY_NOT_PROCESSED }
 
enum  GateType {
  UndefinedGateType = 0, StartGate = 1, EndGate = 2, SmallLeftTurn = 3,
  LeftTurnStart = 4, LeftTurnIntermediary = 5, LeftTurnEnd = 6, SmallRightTurn = 7,
  RightTurnStart = 8, RightTurnIntermediary = 9, RightTurnEnd = 10, WidthAdjustment = 11,
  ClampingAdjustment = 12
}
 
enum  InsidePosFromOutsidePosQueryResult {
  INSIDEPOSFROMOUTSIDE_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, INSIDEPOSFROMOUTSIDE_NOT_PROCESSED = QUERY_NOT_PROCESSED, INSIDEPOSFROMOUTSIDE_DONE_LACK_OF_WORKING_MEMORY, INSIDEPOSFROMOUTSIDE_DONE_POS_NOT_FOUND,
  INSIDEPOSFROMOUTSIDE_DONE_POS_FOUND
}
 
enum  IsInTurnRangeResult
 
enum  MakeNavFloorStitchQueryResult {
  RUNTIMESTITCH_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, RUNTIMESTITCH_NOT_PROCESSED = QUERY_NOT_PROCESSED , RUNTIMESTITCH_LACK_OF_WORKING_MEMORY, RUNTIMESTITCH_UNKNOWN_ERROR,
  RUNTIMESTITCH_DONE_SUCCESS
}
 
enum  ManualControlStatus {
  ManualControlStatus_NotInitialized, ManualControlStatus_PositionInvalid, ManualControlStatus_EventInvalid, ManualControlStatus_Pending,
  ManualControlStatus_Valid
}
 
enum  MoveOnNavMeshQueryResult {
  MOVEONNAVMESH_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, MOVEONNAVMESH_NOT_PROCESSED = QUERY_NOT_PROCESSED, MOVEONNAVMESH_DONE_START_OUTSIDE, MOVEONNAVMESH_DONE_START_NAVTAG_FORBIDDEN,
  MOVEONNAVMESH_DONE_START_LINKONEDGE_ERROR, MOVEONNAVMESH_DONE_LACK_OF_WORKING_MEMORY, MOVEONNAVMESH_DONE_UNKNOWN_ERROR, MOVEONNAVMESH_DONE_ARRIVALPOS_FOUND_NO_COLLISION,
  MOVEONNAVMESH_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION, MOVEONNAVMESH_DONE_INTERMEDIARYPOS_FOUND
}
 
enum  MultiDestinationPathFinderFinalOutput { MULTIDESTINATIONPATHFINDER_BUILD_LOWEST_COST_PATH_ONLY = 0, MULTIDESTINATIONPATHFINDER_COMPUTE_RAW_COSTS = 1 << 0, MULTIDESTINATIONPATHFINDER_BUILD_RAW_PATHS = 1 << 1, MULTIDESTINATIONPATHFINDER_BUILD_PATHS = 1 << 2 }
 
enum  MultiDestinationPathFinderQueryResult {
  MULTIDESTINATIONPATHFINDER_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, MULTIDESTINATIONPATHFINDER_NOT_PROCESSED = QUERY_NOT_PROCESSED, MULTIDESTINATIONPATHFINDER_PROCESSING_TRAVERSAL, MULTIDESTINATIONPATHFINDER_PROCESSING_TRAVERSAL_DONE,
  MULTIDESTINATIONPATHFINDER_PROCESSING_CANGOQUERY, MULTIDESTINATIONPATHFINDER_PROCESSING_ABSTRACT_PATH, MULTIDESTINATIONPATHFINDER_PROCESSING_REFINING_INIT, MULTIDESTINATIONPATHFINDER_PROCESSING_REFINING,
  MULTIDESTINATIONPATHFINDER_PROCESSING_PATHCLAMPING_INIT, MULTIDESTINATIONPATHFINDER_PROCESSING_PATHCLAMPING, MULTIDESTINATIONPATHFINDER_PROCESSING_PATHBUILDING, MULTIDESTINATIONPATHFINDER_PROCESSING_CHANNEL_INIT,
  MULTIDESTINATIONPATHFINDER_PROCESSING_CHANNEL_COMPUTE, MULTIDESTINATIONPATHFINDER_DONE_START_OUTSIDE, MULTIDESTINATIONPATHFINDER_DONE_START_NAVTAG_FORBIDDEN, MULTIDESTINATIONPATHFINDER_DONE_ENDS_ARE_UNREACHABLE,
  MULTIDESTINATIONPATHFINDER_DONE_DESTS_ARE_START_NO_PATH, MULTIDESTINATIONPATHFINDER_DONE_NO_PATH_FOUND, MULTIDESTINATIONPATHFINDER_DONE_NAVDATA_CHANGED, MULTIDESTINATIONPATHFINDER_DONE_ERROR_LACK_OF_WORKING_MEMORY,
  MULTIDESTINATIONPATHFINDER_DONE_COMPUTATION_ERROR, MULTIDESTINATIONPATHFINDER_DONE_CHANNELCONFIG_ERROR, MULTIDESTINATIONPATHFINDER_DONE_CHANNELCOMPUTATION_ERROR, MULTIDESTINATIONPATHFINDER_DONE_COMPUTATION_CANCELED,
  MULTIDESTINATIONPATHFINDER_DONE_SOME_PATHS_FOUND, MULTIDESTINATIONPATHFINDER_TOPROCESS_FROM_CANGOQUERY, MULTIDESTINATIONPATHFINDER_PROCESSING, MULTIDESTINATIONPATHFINDER_DONE_END_OUTSIDE,
  MULTIDESTINATIONPATHFINDER_DONE_END_NAVTAG_FORBIDDEN, MULTIDESTINATIONPATHFINDER_DONE_PATH_NOT_FOUND, MULTIDESTINATIONPATHFINDER_DONE_DEST_IS_START_NO_PATH, MULTIDESTINATIONPATHFINDER_DONE_PATH_FOUND
}
 
enum  MultipleFloorTrianglesFromPosQueryResult {
  MULTIPLEFLOORTRIANGLESFROMPOS_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, MULTIPLEFLOORTRIANGLESFROMPOS_NOT_PROCESSED = QUERY_NOT_PROCESSED, MULTIPLEFLOORTRIANGLESFROMPOS_DONE_NO_TRIANGLE_FOUND, MULTIPLEFLOORTRIANGLESFROMPOS_DONE_MAX_MEMORY_REACHED,
  MULTIPLEFLOORTRIANGLESFROMPOS_DONE_TRIANGLES_FOUND
}
 
enum  MultipleFloorTrianglesFromPosQueryType { MULTIPLEFLOORTRIANGLESFROMPOS_FIND_ALL, MULTIPLEFLOORTRIANGLESFROMPOS_FIND_ALL_BELOW, MULTIPLEFLOORTRIANGLESFROMPOS_FIND_ALL_ABOVE, MULTIPLEFLOORTRIANGLESFROMPOS_FIND_NEAREST_ABOVE_AND_BELOW }
 
enum  NavHalfEdgeObstacleType { EDGEOBSTACLETYPE_WALL = 0, EDGEOBSTACLETYPE_HOLE = 1 }
 
enum  NavHalfEdgeType {
  EDGETYPE_CELLBOUNDARY_EAST = CardinalDir_EAST, EDGETYPE_CELLBOUNDARY_NORTH = CardinalDir_NORTH, EDGETYPE_CELLBOUNDARY_WEST = CardinalDir_WEST, EDGETYPE_CELLBOUNDARY_SOUTH = CardinalDir_SOUTH,
  EDGETYPE_FLOORBOUNDARY = 4, EDGETYPE_OBSTACLE = 5, EDGETYPE_CONNEXBOUNDARY = 6, EDGETYPE_PAIRED = 7
}
 
enum  NavRasterDistanceMapMetric { DISTANCE_MAP_MANHATTAN_METRIC = 0, DISTANCE_MAP_CHESSBOARD_METRIC = 1 }
 
enum  NearestBorderHalfEdgeFromPosQueryResult {
  NEARESTHALFEDGE_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, NEARESTHALFEDGE_NOT_PROCESSED = QUERY_NOT_PROCESSED, NEARESTHALFEDGE_HALFEDGE_NOT_FOUND, NEARESTHALFEDGE_DONE_LACK_OF_WORKING_MEMORY,
  NEARESTHALFEDGE_HALFEDGE_FOUND
}
 
enum  OnEventListStatus { OnEventListStatus_Undefined = 0, OnEventListStatus_OnEvent, OnEventListStatus_OnInterval }
 
enum  PathClamperFlag { PathClamperFlag_ClampNavGraphVertices = 1 << 0, PathClamperFlag_ClampInputPositions = 1 << 1 }
 
enum  PathEdgeType {
  PathEdgeType_Undefined, PathEdgeType_OnNavMesh, PathEdgeType_OnNavGraph, PathEdgeType_FromOutsideToNavMesh,
  PathEdgeType_FromNavMeshToOutside, PathEdgeType_FromOutsideToNavGraph, PathEdgeType_FromNavGraphToOutside, PathEdgeType_OutsideAlongGraphEdge,
  PathEdgeType_AbstractEdge
}
 
enum  PathEventStatusInList {
  PathEventStatus_Undefined, PathEventStatus_WithinBounds, PathEventStatus_LowerBound, PathEventStatus_UpperBound,
  PathEventStatus_TemporaryUpperBound
}
 
enum  PathEventType {
  PathEventType_Undefined, PathEventType_NavGraphVertex, PathEventType_NavTagSwitch, PathEventType_OutsideToNavMeshSwitch,
  PathEventType_NavMeshToOutsideSwitch, PathEventType_OutsideNavDataPathNode, PathEventType_OnNavMeshPathNode, PathEventType_OnNavMeshAfterCollision
}
 
enum  PathFinderAbstractGraphTraversalMode
 
enum  PathFinderQueryComputeChannelMode
 
enum  PathFromPolylineQueryResult {
  PATHFROMPOLYLINE_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, PATHFROMPOLYLINE_NOT_PROCESSED = QUERY_NOT_PROCESSED, PATHFROMPOLYLINE_PROCESSING_PATHCLAMPING_INIT, PATHFROMPOLYLINE_PROCESSING_PATHCLAMPING,
  PATHFROMPOLYLINE_PROCESSING_PATHBUILDING, PATHFROMPOLYLINE_PROCESSING_CHANNEL_INIT, PATHFROMPOLYLINE_PROCESSING_CHANNEL_COMPUTE, PATHFROMPOLYLINE_DONE_DATABASE_EMPTY,
  PATHFROMPOLYLINE_DONE_END_OUTSIDE, PATHFROMPOLYLINE_DONE_POLYLINE_INVALID, PATHFROMPOLYLINE_DONE_PATH_NOT_FOUND, PATHFROMPOLYLINE_DONE_NAVDATA_CHANGED,
  PATHFROMPOLYLINE_DONE_ERROR_LACK_OF_WORKING_MEMORY, PATHFROMPOLYLINE_DONE_COMPUTATION_ERROR, PATHFROMPOLYLINE_DONE_CHANNELCONFIG_ERROR, PATHFROMPOLYLINE_DONE_CHANNELCOMPUTATION_ERROR,
  PATHFROMPOLYLINE_DONE_COMPUTATION_CANCELED, PATHFROMPOLYLINE_DONE_ERROR_POLYLINE_EMPTY, PATHFROMPOLYLINE_DONE_DEST_IS_START_NO_PATH, PATHFROMPOLYLINE_DONE_PATH_FOUND
}
 
enum  PathSource { PathSource_NoPath, PathSource_PathFinderQueryResult, PathSource_UserInjected }
 
enum  PathValidityStatus {
  PathValidityStatus_NoPath = 0, PathIsValid, ValidityIntervalMustBeRecomputed, ValidityIsBeingChecked,
  Dirty_ProgressInvalid, Dirty_InvalidBeforeProgress_ProcessingAfter, Dirty_InvalidBeforeProgress_ValidAfter, Dirty_ValidBeforeProgress_InvalidAfter,
  Dirty_InvalidBeforeAndAfterProgress
}
 
enum  PerformQueryStat { , QueryStat_Other }
 
enum  PositionOnPathStatus { PositionOnPathStatus_Undefined = 0, PositionOnPathStatus_OnPathNode, PositionOnPathStatus_OnPathEdge }
 
enum  ProgressOnPathStatus { ProgressOnPathNotInitialized = 0, ProgressOnPathPending, ProgressOnPathInInvalidNavData }
 
enum  QueryProcessStatus
 
enum  QueryStatReportType { , QueryStatReport_All }
 
enum  QueryStatusInQueue
 
enum  QueryType
 
enum  RayCanGoMarginMode {
  NoMargin = 0, DiagonalStripMargin, ChannelMargin, PathMargin,
  IdealTrajectoryMargin, MinimalTrajectoryMargin, MoveOnNavMeshMargin
}
 
enum  RayCanGoOnSegmentQueryResult {
  RAYCANGOONSEGMENT_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, RAYCANGOONSEGMENT_NOT_PROCESSED = QUERY_NOT_PROCESSED, RAYCANGOONSEGMENT_DONE_START_OUTSIDE, RAYCANGOONSEGMENT_DONE_START_NAVTAG_FORBIDDEN,
  RAYCANGOONSEGMENT_DONE_COLLISION_DETECTED, RAYCANGOONSEGMENT_DONE_ARRIVAL_IN_WRONG_FLOOR, RAYCANGOONSEGMENT_DONE_LACK_OF_WORKING_MEMORY, RAYCANGOONSEGMENT_DONE_QUERY_TOO_LONG,
  RAYCANGOONSEGMENT_DONE_SUCCESS
}
 
enum  RayCanGoQueryResult {
  RAYCANGO_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, RAYCANGO_NOT_PROCESSED = QUERY_NOT_PROCESSED, RAYCANGO_DONE_START_OUTSIDE, RAYCANGO_DONE_START_NAVTAG_FORBIDDEN,
  RAYCANGO_DONE_COLLISION_DETECTED, RAYCANGO_DONE_BORDER_DETECTED_WITHIN_MARGIN, RAYCANGO_DONE_ARRIVAL_IN_WRONG_FLOOR, RAYCANGO_DONE_LACK_OF_WORKING_MEMORY,
  RAYCANGO_DONE_UNKNOWN_ERROR, RAYCANGO_DONE_SUCCESS
}
 
enum  RayCast3dQueryResult { RAYCAST3D_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, RAYCAST3D_NOT_PROCESSED = QUERY_NOT_PROCESSED, RAYCAST3D_DONE_NO_HIT, RAYCAST3D_DONE_HIT }
 
enum  RayCastInChannelResult { ,
  RayCastInChannel_Success, RayCastInChannel_PassedChannelFirstSection, RayCastInChannel_PassedChannelLastSection, RayCastInChannel_CollisionDetected_OnLeft,
  RayCastInChannel_CollisionDetected_OnRight, RayCastInChannel_StartIsOutside, RayCastInChannel_InvalidStartSectionIdx, RayCastInChannel_InvalidChannel
}
 
enum  RayCastOnSegmentQueryResult {
  RAYCASTONSEGMENT_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, RAYCASTONSEGMENT_NOT_PROCESSED = QUERY_NOT_PROCESSED, RAYCASTONSEGMENT_DONE_START_OUTSIDE, RAYCASTONSEGMENT_DONE_START_NAVTAG_FORBIDDEN,
  RAYCASTONSEGMENT_DONE_CANNOT_MOVE, RAYCASTONSEGMENT_DONE_ARRIVAL_ERROR, RAYCASTONSEGMENT_DONE_LACK_OF_WORKING_MEMORY, RAYCASTONSEGMENT_DONE_QUERY_TOO_LONG,
  RAYCASTONSEGMENT_DONE_UNKNOWN_ERROR, RAYCASTONSEGMENT_DONE_ARRIVALPOS_FOUND_MAXDIST_REACHED, RAYCASTONSEGMENT_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION
}
 
enum  RayCastQueryResult {
  RAYCAST_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, RAYCAST_NOT_PROCESSED = QUERY_NOT_PROCESSED, RAYCAST_DONE_START_OUTSIDE, RAYCAST_DONE_START_NAVTAG_FORBIDDEN,
  RAYCAST_DONE_CANNOT_MOVE, RAYCAST_DONE_COLLISION_FOUND_ARRIVAL_ERROR, RAYCAST_DONE_LACK_OF_WORKING_MEMORY, RAYCAST_DONE_QUERY_TOO_LONG,
  RAYCAST_DONE_UNKNOWN_ERROR, RAYCAST_DONE_ARRIVALPOS_FOUND_MAXDIST_REACHED, RAYCAST_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION
}
 
enum  RelativePositionToChannelSectionFlag {
  RelativePositionToChannelSection_Inside = 0, RelativePositionToChannelSection_Before = 1, RelativePositionToChannelSection_After = 2, RelativePositionToChannelSection_OnLeft = 4,
  RelativePositionToChannelSection_OnRight = 8
}
 
enum  ResetTrajectoryStatus {
  ResetTrajectoryStatus_InInvalidNavData, ResetTrajectoryStatus_OutsideNavMesh, ResetTrajectoryStatus_OutsideChannel, ResetTrajectoryStatus_CannotShortcutToPath,
  ResetTrajectoryStatus_Pending, ResetTrajectoryStatus_Success, ResetTrajectoryStatus_Success_OutsideNavMesh, ResetTrajectoryStatus_Success_OutsideChannel
}
 
enum  RotationDirection
 
enum  SegmentCanGoQueryResult {
  SEGMENTCANGO_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, SEGMENTCANGO_NOT_PROCESSED = QUERY_NOT_PROCESSED, SEGMENTCANGO_DONE_START_OUTSIDE, SEGMENTCANGO_DONE_START_NAVTAG_FORBIDDEN,
  SEGMENTCANGO_DONE_COLLISION_DETECTED, SEGMENTCANGO_DONE_ARRIVAL_WRONG_FLOOR, SEGMENTCANGO_DONE_LACK_OF_WORKING_MEMORY, SEGMENTCANGO_DONE_UNKNOWN_ERROR,
  SEGMENTCANGO_DONE_SUCCESS
}
 
enum  SegmentCastQueryResult {
  SEGMENTCAST_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, SEGMENTCAST_NOT_PROCESSED = QUERY_NOT_PROCESSED, SEGMENTCAST_DONE_START_OUTSIDE, SEGMENTCAST_DONE_START_NAVTAG_FORBIDDEN,
  SEGMENTCAST_DONE_CANNOT_MOVE, SEGMENTCAST_DONE_COLLISION_FOUND_ARRIVAL_ERROR, SEGMENTCAST_DONE_LACK_OF_WORKING_MEMORY, SEGMENTCAST_DONE_UNKNOWN_ERROR,
  SEGMENTCAST_DONE_ARRIVALPOS_FOUND_MAXDIST_REACHED, SEGMENTCAST_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION
}
 
enum  SpatializedPointCollectorInAABBQueryResult {
  SPATIALIZEDPOINTCOLLECTOR_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, SPATIALIZEDPOINTCOLLECTOR_NOT_PROCESSED = QUERY_NOT_PROCESSED, SPATIALIZEDPOINTCOLLECTOR_DONE_START_OUTSIDE, SPATIALIZEDPOINTCOLLECTOR_DONE_LACK_OF_WORKING_MEMORY,
  SPATIALIZEDPOINTCOLLECTOR_DONE
}
 
enum  SpatializedPointObjectType
 
enum  StartConstraintDirectionMode { StartConstraintDirectionMode_Velocity = 0, StartConstraintDirectionMode_FrontDirection, StartConstraintDirectionMode_Velocity_Or_FrontDirection, StartConstraintDirectionMode_None }
 
enum  TagVolumeExtendOptions { ExtendTagVolume_WithAltitudeTolerance_Above = 1, ExtendTagVolume_WithAltitudeTolerance_Below = 1 << 1, ExtendTagVolume_WithEntityHeight_Below = 1 << 2 }
 
enum  TagVolumesFromPosQueryResult {
  TAGVOLUMESROMPOS_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, TAGVOLUMESROMPOS_NOT_PROCESSED = QUERY_NOT_PROCESSED, TAGVOLUMESROMPOS_DONE_NO_TAGVOLUMES_FOUND, TAGVOLUMESROMPOS_DONE_LACK_OF_WORKING_MEMORY,
  TAGVOLUMESROMPOS_DONE_TAGVOLUMES_FOUND
}
 
enum  TargetOnPathStatus {
  TargetOnPathNotInitialized = 0, TargetOnPathUnknownReachability, TargetOnPathInInvalidNavData, TargetOnPathNotReachable,
  TargetOnPathReachable
}
 
enum  TrajectoryFailureMode
 
enum  TrajectoryMode
 
enum  TriangleFromPosAndTriangleSeedResult {
  NEARESTTRIANGLEFROMSEED_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, NEARESTTRIANGLEFROMSEED_NOT_PROCESSED = QUERY_NOT_PROCESSED, NEARESTTRIANGLEFROMSEED_DONE_SEED_INVALID, NEARESTTRIANGLEFROMSEED_DONE_NO_TRIANGLE_FOUND,
  NEARESTTRIANGLEFROMSEED_DONE_LACK_OF_WORKING_MEMORY, NEARESTTRIANGLEFROMSEED_DONE_TRIANGLE_FOUND
}
 
enum  TriangleFromPosQueryResult {
  TRIANGLEFROMPOS_NOT_INITIALIZED = QUERY_NOT_INITIALIZED, TRIANGLEFROMPOS_NOT_PROCESSED = QUERY_NOT_PROCESSED, TRIANGLEFROMPOS_DONE_NO_TRIANGLE_FOUND, TRIANGLEFROMPOS_DONE_LACK_OF_WORKING_MEMORY,
  TRIANGLEFROMPOS_DONE_TRIANGLE_FOUND
}
 
enum  TriangleFromPosQueryType { NEARESTTRIANGLE_FIND_NEAREST, NEARESTTRIANGLE_FIND_NEAREST_BELOW, NEARESTTRIANGLE_FIND_NEAREST_ABOVE }
 
enum  VisualDebugLOD
 
enum  VisualGeometryDetailLevel { KY_VISUAL_DETAIL_LOW = 0, KY_VISUAL_DETAIL_HIGH = 1, KY_VISUAL_DETAIL_MAX = 2 }
 
enum  WorldElementType
 

Functions

template<typename T , KyUInt32 N>
KyUInt32 ArraySize (T(&)[N])
 
KyInt64 CrossProduct (const Vec2LL &v1, const Vec2LL &v2)
 
KyFloat32 CrossProduct (const Vec2f &v1, const Vec2f &v2)
 
Vec3f CrossProduct (const Vec3f &v1, const Vec3f &v2)
 
KyInt32 CrossProduct (const Vec2i &v1, const Vec2i &v2)
 
KyFloat32 CrossProduct_x (const Vec3f &v1, const Vec3f &v2)
 
KyFloat32 CrossProduct_y (const Vec3f &v1, const Vec3f &v2)
 
KyFloat32 CrossProduct_z (const Vec3f &v1, const Vec3f &v2)
 
KyFloat32 Distance (const Vec2f &v1, const Vec2f &v2)
 
KyFloat32 Distance (const Vec3f &v1, const Vec3f &v2)
 
KyFloat32 Distance2d (const Vec3f &v1, const Vec3f &v2)
 
KyInt64 DotProduct (const Vec2LL &v1, const Vec2LL &v2)
 
KyFloat32 DotProduct (const Vec2f &v1, const Vec2f &v2)
 
KyFloat32 DotProduct (const Vec3f &v1, const Vec3f &v2)
 
KyInt32 DotProduct (const Vec2i &v1, const Vec2i &v2)
 
KyFloat32 DotProduct2d (const Vec3f &v1, const Vec3f &v2)
 
KyFloat32 Fsel (KyFloat32 cmp, KyFloat32 v1, KyFloat32 v2)
 
KyFloat32 GetAngleRad (const Vec2f &v1, const Vec2f &v2)
 
Vec3f GetDir (const Vec3f &A, const Vec3f &B)
 
Vec2f GetDir2d (const Vec2f &v1, const Vec2f &v2)
 
Vec2f GetDir2d (const Vec3f &A, const Vec3f &B)
 
void GetMinMax (const KyFloat32 a, const KyFloat32 b, KyFloat32 &minValue, KyFloat32 &maxValue)
 
void GetMinMax (const KyFloat32 a, const KyFloat32 b, const KyFloat32 c, KyFloat32 &minValue, KyFloat32 &maxValue)
 
void GetMinMax (const KyFloat32 a, const KyFloat32 b, const KyFloat32 c, const KyFloat32 d, KyFloat32 &minValue, KyFloat32 &maxValue)
 
const char * GetNavigationVersion ()
 
CardinalDir GetOppositeCardinalDir (const CardinalDir dir)
 
KyFloat32 GetRadiansFromDegrees (KyFloat32 degrees)
 
Vec3f GetRightDirection (const Vec3f &v)
 
KyInt32 Isel (KyInt32 a, KyInt32 x, KyInt32 y)
 
bool IsNavCellIdxValid (const NavCellIdx idx)
 
bool IsNavFloorIdxValid (const NavFloorIdx idx)
 
bool IsNavHalfEdgeIdxValid (const NavHalfEdgeIdx idx)
 
bool IsNavTriangleIdxValid (const NavTriangleIdx idx)
 
bool IsValidGuidString (const char guidStr[])
 
KyInt64 Lsel (KyInt64 a, KyInt64 x, KyInt64 y)
 
template<typename T >
Max (const T &a, const T &b)
 
template<typename T >
Max (const T &a, const T &b, const T &c)
 
template<typename T >
Min (const T &a, const T &b)
 
template<typename T >
Min (const T &a, const T &b, const T &c)
 
Vec2f operator* (KyFloat32 s, const Vec2f &v)
 
Vec3f operator* (KyFloat32 s, const Vec3f &v)
 
void Rotate (Vec2f &direction, KyFloat32 cosAngle, KyFloat32 sinAngle)
 
bool ShowInfoAboutLib ()
 
KyFloat32 SquareDistance (const Vec2f &v1, const Vec2f &v2)
 
KyFloat32 SquareDistance (const Vec3f &v1, const Vec3f &v2)
 
KyFloat32 SquareDistance2d (const Vec3f &v1, const Vec3f &v2)
 
void SwapEndianness (Endianness::Target e, NavCellBlob &self)
 
void SwapEndianness (Endianness::Target e, NavVertex &self)
 
void SwapEndianness (Endianness::Target e, FloorAltitudeRange &self)
 
void SwapEndianness (Endianness::Target e, Triangle3f &self)
 
void SwapEndianness (Kaim::Endianness::Target e, WorldIntegerPos &self)
 
void SwapEndianness (Endianness::Target e, NavHalfEdge &self)
 
void SwapEndianness (Endianness::Target e, Triangle3i &self)
 
void SwapEndianness (Endianness::Target e, Transform &self)
 
void SwapEndianness (Endianness::Target e, NavMeshGenParameters &self)
 
void SwapEndianness (Endianness::Target e, NavMeshElementBlob &self)
 
void SwapEndianness (Endianness::Target e, CoordSystemConfig &self)
 
void SwapEndianness (Endianness::Target, KyInt32 &x)
 
void SwapEndianness (Endianness::Target, KyUInt32 &x)
 
void SwapEndianness (Endianness::Target, KyInt16 &x)
 
void SwapEndianness (Endianness::Target, KyUInt16 &x)
 
void SwapEndianness (Endianness::Target, KyInt8 &)
 
void SwapEndianness (Endianness::Target, KyUInt8 &)
 
void SwapEndianness (Endianness::Target, char &)
 
void SwapEndianness (Endianness::Target, KyFloat32 &x)
 
void SwapEndianness (Endianness::Target, KyInt64 &x)
 
void SwapEndianness (Endianness::Target, KyUInt64 &x)
 
void SwapEndianness (Endianness::Target e, NavFloorAABB &self)
 
void SwapEndianness (Endianness::Target e, Vec2f &self)
 
void SwapEndianness (Endianness::Target e, Box3f &self)
 
void SwapEndianness (Endianness::Target e, Box2f &self)
 
void SwapEndianness (Endianness::Target e, Vec3i &self)
 
void SwapEndianness (Endianness::Target e, Vec3f &self)
 
void SwapEndianness (Kaim::Endianness::Target e, Vec2i &self)
 
void SwapEndianness (Endianness::Target e, CoordSystem &self)
 
void SwapEndianness (Kaim::Endianness::Target e, Box2i &self)
 

Variables

static const CardinalDir CardinalDir_EAST = 0
 
static const CardinalDir CardinalDir_INVALID = 0xFFFFFFFF
 
static const CardinalDir CardinalDir_NORTH = 1
 
static const CardinalDir CardinalDir_SOUTH = 3
 
static const CardinalDir CardinalDir_WEST = 2
 
static const KyInt32 InvalidCellCoord = 0x7FFFFFFF
 
static const KyInt32 InvalidCoord = 0x7FFFFFFF
 
static const KyInt32 InvalidPixelCoord = 0x7FFFFFFF
 
static const KyFloat32 KY_2_PI = 2.0f * KY_PI
 
static const KyFloat32 KY_PI = 3.14159265f
 
const KyFloat32 KY_PI_DIVIDED_BY_180 = KY_PI / 180.0f
 
static const NavCellIdx NavCellIdx_Invalid = 0xFFFFFFFF
 
static const NavConnexIdx NavConnexIdx_Invalid = (NavConnexIdx)CompactNavVertexIdx_MAXVAL
 
static const NavFloorIdx NavFloorIdx_Invalid = 0xFFFFFFFF
 
static const NavGraphVertexIdx NavGraphVertexIdx_Invalid = (NavGraphVertexIdx)CompactNavGraphVertexIdx_MAXVAL
 
static const NavGraphVertexLinkType NavGraphVertexLinkType_LinkToNavMesh = 1
 
static const NavGraphVertexLinkType NavGraphVertexLinkType_NoLink = 0
 
static const NavHalfEdgeIdx NavHalfEdgeIdx_Invalid = (NavHalfEdgeIdx)CompactNavHalfEdgeIdx_MAXVAL
 
static const NavTriangleIdx NavTriangleIdx_Invalid = (NavTriangleIdx)CompactNavVertexIdx_MAXVAL
 
static const NavVertexIdx NavVertexIdx_Invalid = (NavVertexIdx)CompactNavVertexIdx_MAXVAL
 
static const KyUInt32 PointOfInterestType_FirstClient = 16
 
static const KyUInt32 PointOfInterestType_Undefined = 0
 

Typedef Documentation

Defines a type that refers to one of the cardinal points on the compass:

A type that represents a bounding box around cells in a 2D grid.

A type that represents the placement of a cell on one axis of a 2D grid.

A type that represents the position of a cell within a 2D grid.

A type that represents a bounding box in the integer 2D grid.

A type that represents a bounding box in the integer 2D grid.

A type that represents the position of a point within the 2D integer grid.

A type that represents the position of a point within the 2D integer grid.

A type that represents a bounding box around the Tiles of the Heigtfield.

A type that represents the position of a Tile within a 2D grid.

A type that represents a bounding box around the Vertices of the Heighfield.

A type that represents one of the vertices of a Tile within a 2D grid.

typedef ArrayConstPolicy<0, 4, true> Kaim::KyArrayDefaultPolicy

Default resize behavior for Gameware Navigation array.

No minimal capacity, Granularity=4, Never Shrinking.

An index that uniquely identifies a single NavCell within the set of NavCells owned by a NavMesh.

An index that uniquely identifies a single triangle within the set of triangles owned by a NavFloor.

An index that uniquely identifies a single NavFloor within the set of NavFloors owned by a NavCell.

An index that uniquely identifies a single vertex within the set of vertices owned by a NavGraph.

Defines a type for a tag that determines whether or not a vertex in a NavGraph should be connected to the NavMesh.

An index that uniquely identifies a single edge of a triangle within the set of edges owned by a NavFloor.

An index that uniquely identifies a single triangle within the set of triangles owned by a NavFloor.

An index that uniquely identifies a single vertex of a triangle within the set of vertices owned by a NavFloor.

Enumeration Type Documentation

Enumerates the possible results of an AStarQuery.

Enumerator
ASTAR_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

ASTAR_NOT_PROCESSED 

Indicates the query has not yet been launched.

ASTAR_PROCESSING_TRAVERSAL 

Indicates that the Astar traversal algorithm has been launched, but has not yet completed.

ASTAR_PROCESSING_TRAVERSAL_DONE 

Indicates that the Astar traversal algorithm is finished, and that a path is found and is prepared to be refined.

ASTAR_PROCESSING_ABSTRACT_PATH 

Indicates that the Astar traversal algorithm traversed AbstractGraph, and the Abstract path is being built.

ASTAR_PROCESSING_REFINING_INIT 

Indicates that the refining process is being initialized.

ASTAR_PROCESSING_REFINING_RESETCOST 

Indicates that the cost from nodes that are on navMesh are beeing recomputed since they may have been replaced on middle of edges.

ASTAR_PROCESSING_REFINING 

Indicates that the path found is being refined.

ASTAR_PROCESSING_PATHCLAMPING_INIT 

Indicates that the refiner is done, but the path has not yet been clamped to the navMesh.

ASTAR_PROCESSING_PATHCLAMPING 

Indicates that the refined path is being clamped to navMesh according to the altitude tolerance.

ASTAR_PROCESSING_PATHBUILDING 

Indicates that the clamping algorithm has completed, but the path has not yet been built.

ASTAR_PROCESSING_CHANNEL_INIT 

Unused. Kept here for backward compatibility.

ASTAR_PROCESSING_CHANNEL_COMPUTE 

Indicates that the channel is initialized, the channel is being computed.

ASTAR_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

ASTAR_DONE_START_NAVTAG_FORBIDDEN 

Indicates that the NavTag at the starting point is forbidden.

ASTAR_DONE_END_OUTSIDE 

Indicates that the destination point of the query is outside the NavMesh.

ASTAR_DONE_END_NAVTAG_FORBIDDEN 

Indicates that the NavTag at the destination point is forbidden.

ASTAR_DONE_PATH_NOT_FOUND 

Indicates that a path could not be found between the start and destination points.

ASTAR_DONE_NAVDATA_CHANGED 

Indicates that the query has stopped and must be relaunched because of a change in the NavData.

ASTAR_DONE_ERROR_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

ASTAR_DONE_COMPUTATION_ERROR 

Indicates that a computation error caused the query to stop.

ASTAR_DONE_CHANNELCONFIG_ERROR 

Indicates that the input channelComputerConfig is invalid.

ASTAR_DONE_CHANNELCOMPUTATION_ERROR 

Indicates that a computation error caused the query to stop.

ASTAR_DONE_COMPUTATION_CANCELED 

Indicates that the computation has been canceled.

ASTAR_DONE_DEST_IS_START_NO_PATH 

Indicates that query starting location and ending location are equals. computing a Path would have lead to a degenerated Path with only 1 node.

ASTAR_DONE_PATH_FOUND 

Indicates that a path has been found between the start and destination.

This enums tells if the AstarQuery should try to perform a RayCanGoQuery from start position to destination position before launching a traversal.

This can be used to speed up the AStar, at the price of correctness a cheaper less direct path could exist if all NavTag costs are not equal: if enabled and the RayCanGoQuery success, no traversal are performed at all, ignoring all the NavGraphs even if using one of them would have resulted in a shorter Path.

The RayCanGoQuery is not tried if a NavGraphEdgePtr or NavGrapVertexRawPtr is passed as start/dest NavData location By default it is disabled (ASTAR_DO_NOT_TRY_RAYCANGO)

Typically there is one QueryQueue for each AsyncQueryDispatchId.

Enumerated the possible results of a call toIAvoidanceFilter::Filter.

Enumerator
AvoidanceFilter_Ignore 

Ignore the collider for Avoidance.

AvoidanceFilter_Avoid 

Take the collider into account for Avoidance.

Enumerates the possible results of a call to IAvoidanceComputer::Compute().

Enumerator
Avoidance_NoAvoidance 

The trajectory goes in target direction at the desired speed.

Avoidance_SlowDown 

The trajectory goes in target direction but at lower speed than the desired one.

Avoidance_Accelerate 

The trajectory goes in target direction but at higher speed than the desired one.

Avoidance_Turn 

The trajectory deviates from target direction.

Avoidance_Stop 

The avoidance computer decided that stopping the Bot is the best solution.

Avoidance_SolutionNotFound 

The avoidance computer was not able to find a collision-free solution.

Avoidance_ForcePassage 

Currently forcing the passage.

Avoidance_WaitForcePassage 

Waiting for force passage.

Enumerates the possible results of an BestGraphVertexPathFinderQuery.

Enumerator
BESTGRAPHVERTEX_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

BESTGRAPHVERTEX_NOT_PROCESSED 

Indicates the query has not yet been launched.

BESTGRAPHVERTEX_PROCESSING_TRAVERSAL 

Indicates that the astar traversal algorithm has been launched, but has not yet completed.

BESTGRAPHVERTEX_PROCESSING_TRAVERSAL_DONE 

Indicates that the astar traversal algorithm is finished, and that the path found is ready to be refined.

BESTGRAPHVERTEX_PROCESSING_REFINING_INIT 

Indicates that the refining process is being initialized.

BESTGRAPHVERTEX_PROCESSING_REFINING 

Indicates that the path found is being refined.

BESTGRAPHVERTEX_PROCESSING_PATHCLAMPING_INIT 

Indicates that the refiner is done, but the path has not yet been clamped to the navMesh.

BESTGRAPHVERTEX_PROCESSING_PATHCLAMPING 

Indicates that the refined path is being clamped to navMesh according to the altitude tolerance.

BESTGRAPHVERTEX_PROCESSING_PATHBUILDING 

Indicates that the clamping algorithm has completed, but the path has not yet been built.

BESTGRAPHVERTEX_PROCESSING_CHANNEL_INIT 

Indicates that the refiner is done, the channel is going to be initialized.

BESTGRAPHVERTEX_PROCESSING_CHANNEL_COMPUTE 

Indicates that the channel is initialized, the channel is being computed.

BESTGRAPHVERTEX_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

BESTGRAPHVERTEX_DONE_START_NAVTAG_FORBIDDEN 

Indicates that the NavTag at the starting point is forbidden.

BESTGRAPHVERTEX_DONE_PATH_NOT_FOUND 

Indicates that a path could not be found between the start and destination points.

BESTGRAPHVERTEX_DONE_NAVDATA_CHANGED 

Indicates that the query has stopped and must be relaunched because of a change in the NavData.

BESTGRAPHVERTEX_DONE_ERROR_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

BESTGRAPHVERTEX_DONE_COMPUTATION_ERROR 

Indicates that a computation error caused the query to stop.

BESTGRAPHVERTEX_DONE_CHANNELCONFIG_ERROR 

Indicates that the input channelComputerConfig is invalid.

BESTGRAPHVERTEX_DONE_CHANNELCOMPUTATION_ERROR 

Indicates that a computation error caused the query to stop.

BESTGRAPHVERTEX_DONE_COMPUTATION_CANCELED 

Indicates that the computation has been canceled.

BESTGRAPHVERTEX_DONE_PATH_FOUND 

Indicates that a path has been found between the start and destination.

Enumerates the possible controls for how a BoxObstacle should be internally represented.

Enumerator
BoxObstacleRotation_Yaw 

Used for obstacles that are moving mainly horizontally (such as cars, doors, etc.).

Gameware Navigation adopts a more precise representation for such obstacles.

BoxObstacleRotation_Free 

Used for all obstacles which are freely rotating (for example, concrete blocs just after the explosion of a building).

Gameware Navigation uses a raw global bounding cylinder to represent such obstacles.

Enumerates the possible up-axis definition for a BoxObstacle.

This determines the sampling of yaw-rotating BoxObstacles.

Defines the type of a bubble accordingly to the place it has in a BubbleArray, a BubbleList, etc.

Enumerator
ChannelArrayResult_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

ChannelArrayResult_NOT_PROCESSED 

Indicates the query has not yet been launched.

Defines whether the PathEvent is a check point or not.

A check point have to be validated to allow path followers to go behind.

Enumerator
CheckPointStatus_EventIsNotACheckPoint 

event is not a user checkpoint

CheckPointStatus_EventIsACheckPoint 

event is a user checkpoint with no direction specified

Enumerates the possible results of a CircleArcSplineComputationQuery.

Enumerator
CIRCLEARCSPLINECOMPUTATION_NOT_INITIALIZED 

Indicates that the query has not yet been initialized.

CIRCLEARCSPLINECOMPUTATION_NOT_PROCESSED 

Indicates that the query has not yet been launched.

CIRCLEARCSPLINECOMPUTATION_DONE_INVALIDINPUTS 

Inputs are invalid: startSection or endSection are invalid or not in the same Channel.

CIRCLEARCSPLINECOMPUTATION_DONE_COMPUTERINTERNALERROR 

The CircleArcSplineComputer failed due to an internal error (bubble array not created, string puller failed, turn list construction or optimization failed...).

CIRCLEARCSPLINECOMPUTATION_DONE_COMPUTATION_CANCELED 

Indicates that the computation has been canceled.

CIRCLEARCSPLINECOMPUTATION_DONE_SUCCESS 

Indicates that a spline has been successfully computed.

Enumerates the CircleArcSpline computation results.

Enumerator
CircleArcSplineComputation_NotComputed 

The spline has not yet been computed.

CircleArcSplineComputation_Success 

The spline has been successfully computed, without any warning.

CircleArcSplineComputation_Warning 

A spline has been found, but it does not respect all constraints (RadiusProfile, start constraint direction...). See WarningFlags for more precision.

CircleArcSplineComputation_Failed_InvalidInputs 

Inputs are invalid: startSection or endSection are invalid or not in the same Channel.

CircleArcSplineComputation_Failed_BubbleArrayBuildError 

BubbleArray could not be build from Channel and start constraints.

CircleArcSplineComputation_Failed_StringPullerError 

The string puller failed.

CircleArcSplineComputation_Failed_InvalidStringPulledBubbleList 

The string puller result is invalid (it returned an empty list).

CircleArcSplineComputation_Failed_TurnListConstructionError 

The string puller result could not be converted into turn list (an edge or circle arc quits the Channel).

CircleArcSplineComputation_Failed_TurnListRadiusAdjustmentError 

An error occurred while computing optimized turns.

CircleArcSplineComputation_Failed_CircleArcSplineBuildError 

Turn list could not be converted into CircleArcSpline (a turn is not correctly defined).

CircleArcSplineComputation_Failed_InvalidSpline 

The final spline does not respect the validity conditions.

Enumerates the spline computation warning flags.

Enumerator
CircleArcSplineComputation_Warning_ReleasedStartConstraint 

The start constraint has been released.

CircleArcSplineComputation_Warning_ReleasedEndConstraint 

The end constraint has been released.

CircleArcSplineComputation_Warning_RestrictedRadius 

The spline contains at least one turn with a radius that is not in the corresponding RadiusProfile.

CircleArcSplineComputation_Warning_SmallTurn 

At least one turn of the spline is smaller than the minimal arc length and has been replaced by segments.

Enumerates the result codes that are common to all queries.

Enumerator
QUERY_NOT_INITIALIZED 

Indicates that the query has not yet been initialized.

QUERY_NOT_PROCESSED 

Indicates that the query has not yet been launched.

Enumerates the possible ways a RayCanGoQuery can compute the cost of following the ray.

Enumerator
QUERY_DO_NOT_COMPUTE_COST 

The cost is not computed.

QUERY_COMPUTE_COST_ALONG_3DAXIS 

The cost is computed according to the CanTraverseAndGetCostMultiplier function of the traverseLogic. These multipliers will be applied on distance between the consecutive NavTagSwitch intersections projected on the 3D axis going from startPos to DestPos.

Enumerates the possible axis orientations that can be assigned to each of the Right, Front, and Up axes used within Gameware Navigation.

Used in calls to CoordSystem::Setup() and CoordSystem::SetAxes().

Enumerator
CLIENT_X 

Represents the positive direction of the X axis.

CLIENT_MINUS_X 

Represents the negative direction of the X axis.

CLIENT_Y 

Represents the positive direction of the Y axis.

CLIENT_MINUS_Y 

Represents the negative direction of the Y axis.

CLIENT_Z 

Represents the positive direction of the Z axis.

CLIENT_MINUS_Z 

Represents the negative direction of the Z axis.

Enumerator
DiagonalStripResult_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

DiagonalStripResult_NOT_PROCESSED 

Indicates the query has not yet been launched.

Enumerator
DiskCanGoInChannel_Success 

The start and end positions are both inside the Channel and all Gates in-between are correctly crossed.

DiskCanGoInChannel_InvalidChannel 

The Channel is not valid (it has less than 2 Gates and thus no section).

DiskCanGoInChannel_InvalidStartSectionIdx 

The start section index is not valid (it is greater than the channel section count).

DiskCanGoInChannel_PassedChannelEndGate 

The start position is inside the Channel and all Gates up to the Channel end one are correctly crossed.

DiskCanGoInChannel_PassedChannelStartGate 

The start position is inside the Channel and all Gates up to the Channel start one are correctly crossed.

DiskCanGoInChannel_StartIsOutside 

The start position is outside the start section.

DiskCanGoInChannel_CollisionDetected 

A collision is detected with Channel borders.

Enumerates the possible results of a DiskCanGoQuery.

Enumerator
DISKCANGO_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

DISKCANGO_NOT_PROCESSED 

Indicates the query has not yet been launched.

DISKCANGO_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

DISKCANGO_DONE_START_NAVTAG_FORBIDDEN 

Indicates that a NavMesh triangle has been found for the starting point, but its NavTag is not considered navigable.

DISKCANGO_DONE_COLLISION_DETECTED 

Indicates that a collision was detected along the straight line between the starting and ending points.

DISKCANGO_DONE_ARRIVAL_WRONG_FLOOR 

Indicates the query generated no results, which may indicate that the start and end points are on different floors.

DISKCANGO_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

DISKCANGO_DONE_UNKNOWN_ERROR 

Indicates that an unknown error occurred during the query processing.

DISKCANGO_DONE_SUCCESS 

Indicates that the disk can pass in a straight line-from start to end point-without a collision.

Enumerates the possible behaviors of a BaseDiskCanGoQuery when the the starting point lies inside the NavMesh but the radius collides with the border of the NavMesh.

Enumerator
DISKCANGO_DONT_ADAPT_TO_STARTPOS 

Indicates that the query will detect a collision when the the starting point lies inside the NavMesh but the radius collides with the NavMesh border.

DISKCANGO_ADAPT_TO_STARTPOS 

If the center of the disk lies near a boundary of the NavMesh, the query will try to avoid a collision by reducing the disk's radius (resulting in a non-symetric crossed-capsule intersection test instead of a capsule intersection test).

In this case, the actual extents of the disk used in the test are first computed by doing two raycast queries against the NavMesh at the starting position-in both directions orthogonally-in the direction of BaseDiskCanGoQuery::m_startPos3f to BaseDiskCanGoQuery::m_destPos3f. Each raycast has a length equal to BaseDiskCanGoQuery::m_radius. Positions of the raycast collisions are moved back very slightly from the NavMesh boundary, and the resulting positions are used as the extent of the disk. This results in a disk that is smaller than the one set in BaseDiskCanGoQuery::m_radius, but whose extents are guaranteed to be fully inside the NavMesh at its starting point.

Because the actual disk used in the query may be smaller than you expect, the test may miss borders that only intrude partially into the path of the expected disk.

Enumerates the possible results of a DiskCastQuery.

Enumerator
DISKCAST_NOT_INITIALIZED 

Indicates that the query has not yet been initialized.

DISKCAST_NOT_PROCESSED 

Indicates that the query has not yet been launched.

DISKCAST_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

DISKCAST_DONE_START_NAVTAG_FORBIDDEN 

Indicates that the NavTag at the starting point was forbidden.

DISKCAST_DONE_CANNOT_MOVE 

Indicates that the starting point is too close to a NavMesh border. Either the disk does not fit in the NavMesh at its start position, or moving back the collision point resulted in an arrival position that is behind the starting point.

DISKCAST_DONE_COLLISION_FOUND_ARRIVAL_ERROR 

Indicates that moving back the collision point resulted in an arrival position that is outside of the NavMesh.

DISKCAST_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

DISKCAST_DONE_UNKNOWN_ERROR 

Indicates that an unknown error occurred during the query processing.

DISKCAST_DONE_ARRIVALPOS_FOUND_MAXDIST_REACHED 

Indicates that the disk was able to travel its maximum distance without collision.

DISKCAST_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION 

Indicates that a final arrival position was calculated successfully.

Enumerates the possible behavior of a BaseDiskCastQuery when the the starting point lies inside the NavMesh but the radius collides with the border of the NavMesh.

Enumerator
DISKCAST_DONT_ADAPT_TO_STARTPOS 

Indicates that the query will detect a collision when the the starting point lies inside the NavMesh but the radius collides with the NavMesh border.

DISKCAST_ADAPT_TO_STARTPOS 

If the center of the disk lies near a boundary of the NavMesh, the query will try to avoid a collision by reducing the disk's radius (resulting in a non-symmetric crossed-capsule intersection test instead of a capsule intersection test).

In this case, the actual extents of the disk used in the test are first computed by doing two ray cast queries against the NavMesh at the starting position-in both directions orthogonally-to BaseDiskCastQuery::m_normalizedDir2d. Each raycast has a length equal to BaseDiskCastQuery::m_radius. Positions of the raycast collisions are moved back very slightly from the NavMesh boundary, and the resulting positions are used as the extent of the disk. This results in a disk that is smaller than the one set in BaseDiskCastQuery::m_radius, but whose extents are guaranteed to be fully inside the NavMesh at its starting point.

Because the actual disk used in the query may be smaller than you expect, the test may miss borders that only intrude partially into the path of the expected disk.

Enumerates the possible results of a DiskCollisionQuery.

Enumerator
DISKCOLLISION_NOT_INITIALIZED 

Indicates that the query has not yet been initialized.

DISKCOLLISION_NOT_PROCESSED 

Indicates that the query has not yet been launched.

DISKCOLLISION_DONE_CENTER_OUTSIDE 

Indicates that the center point lies outside the navigable area of the NavMesh.

DISKCOLLISION_DONE_CENTER_NAVTAG_FORBIDDEN 

Indicates that the NavTag at the center point was forbidden.

DISKCOLLISION_DONE_DISK_DOES_NOT_FIT 

Indicates that the center point lies inside the NavMesh, but that the radius collides with a border or crosses a forbidden terrain.

DISKCOLLISION_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

DISKCOLLISION_DONE_UNKNOWN_ERROR 

Indicates that an unknown error occurred during the query processing.

DISKCOLLISION_DONE_DISK_FIT 

Indicates that the disk fits inside the navigable area of the NavMesh.

Enumerates the possible results of a DiskExpansionQuery.

Enumerator
DISKEXPANSION_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

DISKEXPANSION_NOT_PROCESSED 

Indicates the query has not yet been launched.

DISKEXPANSION_DONE_CENTER_OUTSIDE 

Indicates that the center point lies outside the navigable area of the NavMesh.

DISKEXPANSION_DONE_CENTER_NAVTAG_FORBIDDEN 

Indicates that the NavTag at the center point is forbidden.

DISKEXPANSION_DONE_CANNOT_EXPAND 

Indicates that the center point lies within the NavMesh, but the disk cannot be expanded.

DISKEXPANSION_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

DISKEXPANSION_DONE_UNKNOWN_ERROR 

Indicates that an unknown error occurred during the query processing.

DISKEXPANSION_DONE_DISK_FIT 

Indicates that the disk fits inside the navigable areas of the NavMesh even at maximum size.

DISKEXPANSION_DONE_COLLISION_FOUND 

Indicates a collision was detected when expanding the disk before the maximum size of the disk was reached.

Indicates if the display list is active or not.

If DisplayList_Disable is used the ScopedDisplayList won't be sent to the NavigationLab, this is useful when you want to dynamically switch on/off the use of the ScopedDisplayList.

Enumerator
DisplayList_Disable 

Calls on the ScopedDisplayList will do nothing.

DisplayList_Enable 

The display list is activated.

Indicates if the displayList will be only visible when received, or will be remanent until replaced or removed.

Enumerator
DisplayListLifeSpan_UserControlled 

displayList available in the NavigationLab only at the frame when it was sent

displayList available in the NavigationLab until replaced, removed, or associated world element is destroyed

Enumerates the possible results of a DynamicNavMeshQuery.

Enumerator
DYNNAVMESH_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

DYNNAVMESH_NOT_PROCESSED 

Indicates the query has not yet been launched.

DYNNAVMESH_NAVFLOOR_INVALID 

Indicates that the navfloor currently being processed is no longer valid.

DYNNAVMESH_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

DYNNAVMESH_INTERSECTION_COMPUTATION_ERROR 

Indicates an error occurred while computing the intersections.

DYNNAVMESH_SWEEPLINE_COMPUTATION_ERROR 

Indicates an error occurred while culling edges.

DYNNAVMESH_POLYGON_COMPUTATION_ERROR 

Indicates an error occurred while building polygons from culled edges.

DYNNAVMESH_TRIANGULATION_COMPUTATION_ERROR 

Indicates an error occurred while triangulating the newly obtained polygons.

DYNNAVMESH_ALTITUDE_COMPUTATION_ERROR 

Indicates an error occurred while computing the altitude of the dynamic navmesh.

DYNNAVMESH_NAVFLOOR_INDICES_OUT_OF_BOUNDS 

Indicates that.

DYNNAVMESH_UNKNOWN_ERROR 

Indicates an unknown error occurred during the query processing.

DYNNAVMESH_DONE_SUCCESS 

Indicates the query was successfully processed.

Enumerates possible ways of storing crossed data from a query in a QueryDynamicOutput object.

Enumerator
QUERY_SAVE_NOTHING 

Indicates that QueryDynamicOutput will not be used to store anything.

QUERY_SAVE_FLOORS 

Indicates that QueryDynamicOutput will be used to store NavFloorPtr.

QUERY_SAVE_TRIANGLES 

Indicates that QueryDynamicOutput will be used to store NavFloorTrianglePtr.

QUERY_SAVE_NAVTAGSUBSEGMENTS 

Indicates that QueryDynamicOutput will be used to store NavTagSubSegment.

QUERY_SAVE_HALFEDGEINTERSECTIONS 

Indicates that QueryDynamicOutput will be used to store Vec3f.

QUERY_SAVE_COSTMULTIPLIERSUBSEGMENTS 

Indicates that QueryDynamicOutput will be used to store CostMultiplierSubSegment.

QUERY_SAVE_SPATIALIZEDPOINTS 

Indicates that QueryDynamicOutput will be used to store CostMultiplierSubSegment.

QUERY_SAVE_TAGVOLUMES 

Indicates that QueryDynamicOutput will be used to store CostMultiplierSubSegment.

Enumerates the possible modes for opening a file with a class that derives from FileOpenerBase.

Enumerator
OpenMode_Read 

Opens the file for reading only.

OpenMode_Write 

Opens the file for writing.

Enumerates the possible results of a FindFirstVisiblePositionOnPathQuery.

Enumerator
FINDFIRSTVISIBLEPOSITIONONPATH_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

FINDFIRSTVISIBLEPOSITIONONPATH_NOT_PROCESSED 

Indicates the query has not yet been launched.

FINDFIRSTVISIBLEPOSITIONONPATH_DONE_VISIBILITYSTARTPOINT_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the visibilityStartPoint.

FINDFIRSTVISIBLEPOSITIONONPATH_DONE_VISIBILITYSTARTPOINT_NAVTAG_FORBIDDEN 

Indicates that a NavMesh triangle has been found for visibilityStartPoint, but its NavTag is not considered navigable.

FINDFIRSTVISIBLEPOSITIONONPATH_DONE_NO_VISIBLE_POSITION_FOUND 

Indicates that none of the PositionOnPath locations sampled between startPositionOnPath and endPositionOnPath are visible from the visibilityStartPoint.

FINDFIRSTVISIBLEPOSITIONONPATH_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient memory was available to store crossed triangles or sub-sections, and the query failed as a result.

FINDFIRSTVISIBLEPOSITIONONPATH_DONE_UNKNOWN_ERROR 

Indicates that an unknown error occurred during the query processing.

FINDFIRSTVISIBLEPOSITIONONPATH_DONE_SUCCESS 

Indicates that the query can pass in a straight line from start to end point without a collision.

Enumerator
GameKitCrowdDispersionLogic_NoAction 

No action has to be taken.

GameKitCrowdDispersionLogic_RecomputePath 

A path must be recomputed in order to find an alternative.

GameKitCrowdDispersionLogic_CancelOutRecomputedPath 

If a path is being computed due to GameKitCrowdDispersionLogic_RecomputePath, it should be cancelled out. no action otherwise.

Enumerator
GateArrayComputerResult_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

GateArrayComputerResult_NOT_PROCESSED 

Indicates the query has not yet been launched.

Enumerates the different kind of Gates.

Enumerator
UndefinedGateType 

Indicates the Gate is not defined.

StartGate 

Indicates the Gate is a Channel start Gate.

EndGate 

Indicates the Gate is a Channel end Gate.

SmallLeftTurn 

Indicates the Gate is a small turn to the left (CCW).

LeftTurnStart 

Indicates the Gate is the start of a sampled turn to the left (CCW). The next Gate must have either LeftTurnIntermediary or LeftTurnEnd type value.

LeftTurnIntermediary 

Indicates the Gate is a sampled left turn intermediary Gate.

LeftTurnEnd 

Indicates the Gate is a left turn end.

SmallRightTurn 

Indicates the Gate is a small turn to the right (clockwise).

RightTurnStart 

Indicates the Gate is the start of a sampled turn to the right (CW). The next Gate must have either RightTurnIntermediary or RightTurnEnd type value.

RightTurnIntermediary 

Indicates the Gate is a sampled right turn intermediary Gate.

RightTurnEnd 

Indicates the Gate is a right turn end.

WidthAdjustment 

Indicates the Gate is a Channel width adjustment Gate. There is no direction modification there.

ClampingAdjustment 

Indicates the Gate is a Channel altitude clamping adjustment Gate. There is no direction modification there.

Enumerates the possible results of an InsidePosFromOutsidePosQuery.

Enumerator
INSIDEPOSFROMOUTSIDE_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

INSIDEPOSFROMOUTSIDE_NOT_PROCESSED 

Indicates the query has not yet been launched.

INSIDEPOSFROMOUTSIDE_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

INSIDEPOSFROMOUTSIDE_DONE_POS_NOT_FOUND 

Indicates that a valid position was not found within the query's bounding box.

INSIDEPOSFROMOUTSIDE_DONE_POS_FOUND 

Indicates that the query was completed successfully, and a valid position on the NavMesh was found within the query's bounding box.

Defines the relative position of a direction, given a rotation direction and bounding directions.

Enumerates the possible results of a MakeNavFloorStitchQuery.

Enumerator
RUNTIMESTITCH_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

RUNTIMESTITCH_NOT_PROCESSED 

Indicates the query has not yet been launched.

RUNTIMESTITCH_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

RUNTIMESTITCH_UNKNOWN_ERROR 

Indicates an unknown error occurred during the query processing.

RUNTIMESTITCH_DONE_SUCCESS 

Indicates the query was successfully processed.

Enumerator
ManualControlStatus_NotInitialized 

not initialized

ManualControlStatus_PositionInvalid 

binded to a bot, but PositionPath is invalid

ManualControlStatus_EventInvalid 

PositionOnPath is valid, but event information in PositionOnLivePath are not valid.

ManualControlStatus_Pending 

PositionOnLivePath needs validation, PositionOnPath and event information can change!

ManualControlStatus_Valid 

PositionOnLivePath is valid.

Enumerates the possible results of a MoveOnNavMeshQuery.

Enumerator
MOVEONNAVMESH_NOT_INITIALIZED 

Indicates that the query has not yet been initialized.

MOVEONNAVMESH_NOT_PROCESSED 

Indicates that the query has not yet been launched.

MOVEONNAVMESH_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

MOVEONNAVMESH_DONE_START_NAVTAG_FORBIDDEN 

Indicates that a NavMesh triangle has been found for the starting point, but its NavTag is not considered navigable.

MOVEONNAVMESH_DONE_START_LINKONEDGE_ERROR 

Indicates that the start position is near an edge but should not be linked to it. This is usualy due to too high values for DistanceToBoundary.

MOVEONNAVMESH_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient memory was available to store crossed triangles or sub-sections, and the query failed as a result.

MOVEONNAVMESH_DONE_UNKNOWN_ERROR 

Indicates that an unknown error occurred during the query processing.

MOVEONNAVMESH_DONE_ARRIVALPOS_FOUND_NO_COLLISION 

Indicates an arrival point was successfully calculated without a collision with the NavMesh border.

MOVEONNAVMESH_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION 

Indicates a collision point was found, and a final arrival position was successfully calculated.

MOVEONNAVMESH_DONE_INTERMEDIARYPOS_FOUND 

Indicates a collision point was found, an intermediary position has be found but progression has been blocked at this point.

Usually only one of MultiDestinationPathFinderFinalOutput values is useful, but for debug purpose, it is possible to pass several of them.

Enumerator
MULTIDESTINATIONPATHFINDER_BUILD_LOWEST_COST_PATH_ONLY 

Build m_path or m_abstractPath to the destination with the lowest cost.

MULTIDESTINATIONPATHFINDER_COMPUTE_RAW_COSTS 

Fulfill m_rawCosts.

MULTIDESTINATIONPATHFINDER_BUILD_RAW_PATHS 

For Debug Only, fulfill m_rawPaths, no refining, no clamping, no channel making paths unsuitable for PathFollowing, but it gives an idea of what m_rawCosts correspond to.

MULTIDESTINATIONPATHFINDER_BUILD_PATHS 

Fulfill m_paths with refined, clamped paths with channels, or m_abstractPaths for paths going through AbstractGraphs. Slowest version of the query.

Enumerates the possible results of an AStarQuery.

Enumerator
MULTIDESTINATIONPATHFINDER_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

MULTIDESTINATIONPATHFINDER_NOT_PROCESSED 

Indicates the query has not yet been launched.

MULTIDESTINATIONPATHFINDER_PROCESSING_TRAVERSAL 

Indicates that the astar traversal algorithm has been launched, but has not yet completed.

MULTIDESTINATIONPATHFINDER_PROCESSING_TRAVERSAL_DONE 

Indicates that the astar traversal algorithm is finished, and that the path found is ready to be refined.

MULTIDESTINATIONPATHFINDER_PROCESSING_CANGOQUERY 

Indicates that initial CanGoQuery reached a dest from start, and the path from this dest is being computed from the CanGoQuery.

MULTIDESTINATIONPATHFINDER_PROCESSING_ABSTRACT_PATH 

Indicates that the astar traversal algorithm traversed AbstractGraph, and an Abstract path is being built for one destination.

MULTIDESTINATIONPATHFINDER_PROCESSING_REFINING_INIT 

Indicates that the refining process is being initialized for one destination.

MULTIDESTINATIONPATHFINDER_PROCESSING_REFINING 

Indicates that the path found is being refined for one destination.

MULTIDESTINATIONPATHFINDER_PROCESSING_PATHCLAMPING_INIT 

Indicates that the refiner is done, but the path has not yet been clamped to the navMesh.

MULTIDESTINATIONPATHFINDER_PROCESSING_PATHCLAMPING 

Indicates that the refined path of one destination is being clamped to navMesh according to the altitude tolerance.

MULTIDESTINATIONPATHFINDER_PROCESSING_PATHBUILDING 

Indicates that the clamping algorithm has completed, but the path has not yet been built.

MULTIDESTINATIONPATHFINDER_PROCESSING_CHANNEL_INIT 

Indicates that the refiner is done, the channel is going to be initialized for one destination.

MULTIDESTINATIONPATHFINDER_PROCESSING_CHANNEL_COMPUTE 

Indicates that the channel is initialized, the channel is being computed for one destination.

MULTIDESTINATIONPATHFINDER_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

MULTIDESTINATIONPATHFINDER_DONE_START_NAVTAG_FORBIDDEN 

Indicates that the NavTag at the starting point is forbidden.

MULTIDESTINATIONPATHFINDER_DONE_ENDS_ARE_UNREACHABLE 

Indicates that all destination points are either outside or in forbidden navtag.

MULTIDESTINATIONPATHFINDER_DONE_DESTS_ARE_START_NO_PATH 

Indicates that all destinations are equals to starting location, computing a Path would have lead to a degenerated Path with only 1 node.

MULTIDESTINATIONPATHFINDER_DONE_NO_PATH_FOUND 

Indicates that no path was found for any destinations.

MULTIDESTINATIONPATHFINDER_DONE_NAVDATA_CHANGED 

Indicates that the query has stopped and must be relaunched because of a change in the NavData.

MULTIDESTINATIONPATHFINDER_DONE_ERROR_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

MULTIDESTINATIONPATHFINDER_DONE_COMPUTATION_ERROR 

Indicates that a computation error caused the query to stop.

MULTIDESTINATIONPATHFINDER_DONE_CHANNELCONFIG_ERROR 

Indicates that the input channelComputerConfig is invalid.

MULTIDESTINATIONPATHFINDER_DONE_CHANNELCOMPUTATION_ERROR 

Indicates that a computation error caused the query to stop.

MULTIDESTINATIONPATHFINDER_DONE_COMPUTATION_CANCELED 

Indicates that the computation has been canceled.

MULTIDESTINATIONPATHFINDER_DONE_SOME_PATHS_FOUND 

Indicates some or all destinations have a path or an abstract path.

MULTIDESTINATIONPATHFINDER_TOPROCESS_FROM_CANGOQUERY 

CAnGoQuery validated the reachability, Path will be built from the query.

MULTIDESTINATIONPATHFINDER_PROCESSING 

Indicates that the destination point is currently processed (from MULTIDESTINATIONPATHFINDER_PROCESSING_ABSTRACT_PATH to MULTIDESTINATIONPATHFINDER_PROCESSING_CHANNEL_COMPUTE).

MULTIDESTINATIONPATHFINDER_DONE_END_OUTSIDE 

Indicates that the destination point is outside the NavMesh.

MULTIDESTINATIONPATHFINDER_DONE_END_NAVTAG_FORBIDDEN 

Indicates that the NavTag at the destination point is forbidden.

MULTIDESTINATIONPATHFINDER_DONE_PATH_NOT_FOUND 

Indicates that a path could not be found between the start and destination point.

MULTIDESTINATIONPATHFINDER_DONE_DEST_IS_START_NO_PATH 

Indicates that query starting location and ending location are equals, computing a Path would have lead to a degenerated Path with only 1 node.

MULTIDESTINATIONPATHFINDER_DONE_PATH_FOUND 

Indicates that a path has been found between the start and destination.

Enumerates the possible results of a MultipleFloorTrianglesFromPosQuery.

Enumerator
MULTIPLEFLOORTRIANGLESFROMPOS_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

MULTIPLEFLOORTRIANGLESFROMPOS_NOT_PROCESSED 

Indicates the query has not yet been launched.

MULTIPLEFLOORTRIANGLESFROMPOS_DONE_NO_TRIANGLE_FOUND 

Indicates that the point provided is outside the navigable boundaries of the NavMesh.

MULTIPLEFLOORTRIANGLESFROMPOS_DONE_MAX_MEMORY_REACHED 

Indicates the query was completed successfully, but not all the triangles found have been stored because insufficient memory is available.

MULTIPLEFLOORTRIANGLESFROMPOS_DONE_TRIANGLES_FOUND 

Indicates the query was completed successfully, as at least one triangle was found.

Enumerates the possible ways that a MultipleFloorTrianglesFromPosQuery chooses which triangles to retrieve.

Enumerator
MULTIPLEFLOORTRIANGLESFROMPOS_FIND_ALL 

Instructs the query to retrieve all triangles at the same (X,Y) coordinates as the point provided, regardless of whether they lie above or below the point.

MULTIPLEFLOORTRIANGLESFROMPOS_FIND_ALL_BELOW 

Instructs the query to retrieve all triangles that lie below the point provided.

MULTIPLEFLOORTRIANGLESFROMPOS_FIND_ALL_ABOVE 

Instructs the query to retrieve all triangles that lie above the point provided.

MULTIPLEFLOORTRIANGLESFROMPOS_FIND_NEAREST_ABOVE_AND_BELOW 

Instructs the query to retrieve the first triangle that lies above the point provided, and the first triangle that lies below the point provided.

Enumerates the possible types of obstacles that can be represented by a NavHalfEdge whose type is EDGETYPE_OBSTACLE.

Enumerator
EDGEOBSTACLETYPE_WALL 

Indicates that the obstacle represents a wall.

EDGEOBSTACLETYPE_HOLE 

Indicates that the obstacle represents a hole or a cliff.

Enumerates the possible types of boundary that can be represented by a NavHalfEdge.

Enumerator
EDGETYPE_CELLBOUNDARY_EAST 

Indicates that this NavHalfEdge lies on the border of its NavFloor and its NavCell.

EDGETYPE_CELLBOUNDARY_NORTH 

Indicates that this NavHalfEdge lies on the border of its NavFloor and its NavCell.

EDGETYPE_CELLBOUNDARY_WEST 

Indicates that this NavHalfEdge lies on the border of its NavFloor and its NavCell.

EDGETYPE_CELLBOUNDARY_SOUTH 

Indicates that this NavHalfEdge lies on the border of its NavFloor and its NavCell.

EDGETYPE_FLOORBOUNDARY 

Indicates that this NavHalfEdge lies on the border of its NavFloor.

EDGETYPE_OBSTACLE 

Indicates that this NavHalfEdge lies on an external border of the NavMesh.

EDGETYPE_CONNEXBOUNDARY 

Indicates that another NavHalfEdge in the same NavFloor but in different Connex lies adjacent to the NavHalfEdge.

EDGETYPE_PAIRED 

Indicates that another NavHalfEdge in the same Connex lies adjacent to the NavHalfEdge.

Enumerates the different possible settings for GeneratorAdvancedParameters::m_navRasterDistanceMapMetric.

Enumerator
DISTANCE_MAP_MANHATTAN_METRIC 

Indicates the Manhattan metric, which is faster and more accurate.

This metric tends to create bevels in the NavMesh border near corners,which produces more triangles.

DISTANCE_MAP_CHESSBOARD_METRIC 

Indicates the Chessboard metric, which is slightly slower and can place the NavMesh border a little farther from the geometry.

This metric tends to creates a cleaner NavMesh with fewer triangles.

Enumerates the possible results of a NearestBorderHalfEdgeFromPosQuery.

Enumerator
NEARESTHALFEDGE_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

NEARESTHALFEDGE_NOT_PROCESSED 

Indicates the query has not yet been launched.

NEARESTHALFEDGE_HALFEDGE_NOT_FOUND 

Indicates that a NavMesh border was not found within the query's bounding box.

NEARESTHALFEDGE_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

NEARESTHALFEDGE_HALFEDGE_FOUND 

Indicates that the query was completed successfully, and a NavMesh border was found.

Enumerates the admissible values for PositionOnLivePath status accordingly to its position relatively to PathEvents.

Enumerator
OnEventListStatus_Undefined 

The PositionOnLivePath relative position in PathEventList is not yet defined.

OnEventListStatus_OnEvent 

The PositionOnLivePath is on a PathEvent.

OnEventListStatus_OnInterval 

The PositionOnLivePath is strictly on a PathEventInterval.

These flags determine if some specific positions must have their altitude clamped on NavMesh.

All options are applied by default.

Enumerator
PathClamperFlag_ClampNavGraphVertices 

All NavGraphVertices linked to NavMesh will be clamped, this supersedes AltitudeClampingOption_ClampInputStartDestPosition if start or destination is a NavGraphVertex.

PathClamperFlag_ClampInputPositions 

position initially provided as input of a query will be clamped (i.e. start and dest of PathFinderQueries)

Defines the different kind of PathEdge within a Path.

Enumerator
PathEdgeType_Undefined 

The PathEdgeType has not yet been set for the corresponding PathEdge.

PathEdgeType_OnNavMesh 

The PathEdge has been computed on the NavMesh.

PathEdgeType_OnNavGraph 

The PathEdge corresponds to a NavGraph edge.

PathEdgeType_FromOutsideToNavMesh 

The PathEdge is coming from outside to the NavMesh.

PathEdgeType_FromNavMeshToOutside 

The PathEdge is going from the NavMesh to outside.

PathEdgeType_FromOutsideToNavGraph 

The PathEdge is coming from outside to the NavMesh.

PathEdgeType_FromNavGraphToOutside 

The PathEdge is going from the NavMesh to outside.

PathEdgeType_OutsideAlongGraphEdge 

The PathEdge is going along an a NavGraphEdge but not starting nor ending at one of the NavGrapHVertex.

PathEdgeType_AbstractEdge 

The PathEdge is fro an abstract Path.

Defines the PathEvent status relative to its place in the PathEventList.

Enumerator
PathEventStatus_Undefined 

PathEvent is not yet defined.

PathEventStatus_WithinBounds 

PathEvent neither lower bound nor upper bound.

PathEventStatus_LowerBound 

PathEvent is the PathValidityInterval lower bound.

PathEventStatus_UpperBound 

PathEvent is the PathValidityInterval upper bound.

PathEventStatus_TemporaryUpperBound 

PathEvent is the PathValidityInterval temporary upper bound.

Defines the different kinds of PathEvent.

Enumerator
PathEventType_Undefined 

The PathEvent is not yet defined.

PathEventType_NavGraphVertex 

The PathEvent is on a NavGraph vertex.

PathEventType_NavTagSwitch 

The PathEvent is at a transition between different NavTags.

PathEventType_OutsideToNavMeshSwitch 

The PathEvent is at a transition between the NavMesh and a PathEdge going from outside to the NavMesh.

PathEventType_NavMeshToOutsideSwitch 

The PathEvent is at a transition between the NavMesh and a PathEdge going from the NavMesh to outside .

PathEventType_OutsideNavDataPathNode 

The PathEvent is outside the NavMesh.

PathEventType_OnNavMeshPathNode 

PathValidityInterval bound specific: bound reached start or end of the path or the max distance of validation, the bound is on the NavMesh.

PathEventType_OnNavMeshAfterCollision 

PathValidityInterval bound specific: bound hit a border or a non-traversable navTag boundary during validation (it also include one-way navTag transition).

Enumerates the possible way of dealing with AbstractGraphs.

This enum tells if the PathFinderQuery should compute Channels around path sections laying on the NavMesh.

By default it is disabled (PATHFINDER_DO_NOT_COMPUTE_CHANNELS)

Enumerates the possible results of an PathFromPolylineQuery.

Enumerator
PATHFROMPOLYLINE_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

PATHFROMPOLYLINE_NOT_PROCESSED 

Indicates the query has not yet been launched.

PATHFROMPOLYLINE_PROCESSING_PATHCLAMPING_INIT 

Indicates that the clamper is beeing initialized.

PATHFROMPOLYLINE_PROCESSING_PATHCLAMPING 

Indicates that the path is being clamped to navMesh according to the altitude tolerance.

PATHFROMPOLYLINE_PROCESSING_PATHBUILDING 

Indicates that the clamping algorithm has completed, but the path has not yet been built.

PATHFROMPOLYLINE_PROCESSING_CHANNEL_INIT 

Unused. Kept here for backward compatibility.

PATHFROMPOLYLINE_PROCESSING_CHANNEL_COMPUTE 

Indicates that the channel is initialized, the channel is being computed.

PATHFROMPOLYLINE_DONE_DATABASE_EMPTY 

Indicates that the provided database is empty (no NavData !)

PATHFROMPOLYLINE_DONE_END_OUTSIDE 

Indicates that the last point of the polyline is outside the NavMesh.

PATHFROMPOLYLINE_DONE_POLYLINE_INVALID 

Indicates that one of the rayCast along polyline edge failed.

PATHFROMPOLYLINE_DONE_PATH_NOT_FOUND 

Indicates that a path could not be found between the start and destination points.

PATHFROMPOLYLINE_DONE_NAVDATA_CHANGED 

Indicates that the query has stopped and must be relaunched because of a change in the NavData.

PATHFROMPOLYLINE_DONE_ERROR_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

PATHFROMPOLYLINE_DONE_COMPUTATION_ERROR 

Indicates that a computation error caused the query to stop.

PATHFROMPOLYLINE_DONE_CHANNELCONFIG_ERROR 

Indicates that the input channelComputerConfig is invalid.

PATHFROMPOLYLINE_DONE_CHANNELCOMPUTATION_ERROR 

Indicates that a computation error caused the query to stop.

PATHFROMPOLYLINE_DONE_COMPUTATION_CANCELED 

Indicates that the computation has been canceled.

PATHFROMPOLYLINE_DONE_ERROR_POLYLINE_EMPTY 

Indicates that the input polyline in empty.

PATHFROMPOLYLINE_DONE_DEST_IS_START_NO_PATH 

Indicates that query starting location and ending location are equals. computing a Path would have lead to a degenerated Path with only 1 node.

PATHFROMPOLYLINE_DONE_PATH_FOUND 

Indicates that a path has been found between the start and destination.

Enumerates the possible source for a new Path.

Enumerator
PathSource_NoPath 

The Path has not been set yet or has been Cleared.

PathSource_PathFinderQueryResult 

The Path has been computed by a IPathFinderQuery.

PathSource_UserInjected 

The Path has been injected by the user.

Enumerate the different validity status of a LivePath.

Enumerator
PathValidityStatus_NoPath 

No Path has been set yet.

PathIsValid 

The Path has been completely checked and is valid.

ValidityIntervalMustBeRecomputed 

NavData have changed around the Path, its validation is about to start.

ValidityIsBeingChecked 

The Path is currently under validation.

The check is not finished but no dirtiness has been found so far.

Dirty_ProgressInvalid 

The validation can not be processed at all.

The progress of the bot on path is in an invalid area; it is either:

  • outside navMesh,
  • on navMesh but on a non-traversable NavTag,
  • was on a NavGraph that has been unloaded.
Dirty_InvalidBeforeProgress_ProcessingAfter 

The Path validity around the progress of the bot on path is limited:

  • browsing the path backward on path failed
  • forward browsing has not yet reach the Path end.
Dirty_InvalidBeforeProgress_ValidAfter 

The Path validity around the progress of the bot on path is limited:

  • browsing the path backward on path failed
  • forward browsing completed successfully up to Path end.
Dirty_ValidBeforeProgress_InvalidAfter 

The Path validity around the progress of the bot on path is limited:

  • backward browsing completed successfully up to Path start
  • browsing the path forward failed.
Dirty_InvalidBeforeAndAfterProgress 

The Path validity around the progress of the bot on path is limited: both backward and forward validation browsing failed.

Enumerator
QueryStat_Other 

can be used sporadically to differentiate from PerformQueryStat_Unspecified

< Enumerates the different status an objectPositionOnPath can have on its Path.

Enumerator
PositionOnPathStatus_Undefined 

The PositionOnPath is not yet defined.

PositionOnPathStatus_OnPathNode 

The PositionOnPath is on a Path node.

PositionOnPathStatus_OnPathEdge 

The PositionOnPath is on a Path edge.

Enumerates the possible status values of Bot Position on path.

Enumerator
ProgressOnPathNotInitialized 

Progress on path has not been yet initialized at all.

Main reason is that no path has been set yet.

ProgressOnPathPending 

Progress on path is initialized but has not been computed yet.

This namely occurs when a new path has been set, the Progress on path is at Path start.

ProgressOnPathInInvalidNavData 

Progress on path was on a valid NavData that has been streamed out (due to explicit streaming or DynamicNavMesh) and no valid NavData has been found there.

Enumerates all the processing status a query can have.

Enumerator
QueryStatReport_All 

The report will prune PerformQueryStat with no count.

Enumerates the different states a query may have in a QueryQueue.

Enumerates all the type of query.

If you write your own query, you have to add a corresponding QueryType here.

Defines the different mode for the NavMesh border margin to be used in RayCanGo queries.

Enumerator
NoMargin 

Margin to be used to get ray can go exactly on the NavMesh borders.

DiagonalStripMargin 

Margin to be used when computing the DiagonalStrip used for Channel computation.

ChannelMargin 

Margin to be used for Channel computation.

PathMargin 

Margin to be used in any path computation ray can go queries to ensure the computed Path is not too close from NavMesh borders.

IdealTrajectoryMargin 

Margin to be used in any path following ray can go queries to ensure the computed trajectory is not too close from NavMesh borders.

MinimalTrajectoryMargin 

Margin to be used only to reevaluate a trajectory previously validated with can go using IdealTrajectoryMargin, to avoid hysteresis on it.

MoveOnNavMeshMargin 

Margin to be used in MoveOnNavMesh or any other actual movement computation.

Enumerates the possible results of a RayCanGoOnSegmentQuery.

Enumerator
RAYCANGOONSEGMENT_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

RAYCANGOONSEGMENT_NOT_PROCESSED 

Indicates the query has not yet been launched.

RAYCANGOONSEGMENT_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

RAYCANGOONSEGMENT_DONE_START_NAVTAG_FORBIDDEN 

Indicates that a NavMesh triangle has been found for the starting point, but its NavTag is not considered navigable.

RAYCANGOONSEGMENT_DONE_COLLISION_DETECTED 

Indicates that the ray was able to travel its maximum distance without collision.

RAYCANGOONSEGMENT_DONE_ARRIVAL_IN_WRONG_FLOOR 

Indicates that none of the above results occurred, which may indicate that the start and end points lie on different floors.

RAYCANGOONSEGMENT_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient memory was available to store crossed triangles or sub-sections, and the query failed as a result.

RAYCANGOONSEGMENT_DONE_QUERY_TOO_LONG 

Indicates that the query was not performed, because the value of BaseRayCanGoOnSegmentQuery::m_maxDist is large enough to cause a potential integer overflow during the computation. Retry your query with a smaller maximum distance.

RAYCANGOONSEGMENT_DONE_SUCCESS 

Indicates that the ray was able to travel its maximum distance without collision.

Enumerates the possible results of a RayCanGoQuery.

Enumerator
RAYCANGO_NOT_INITIALIZED 

Indicates that the query has not yet been initialized.

RAYCANGO_NOT_PROCESSED 

Indicates that the query has not yet been launched.

RAYCANGO_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

RAYCANGO_DONE_START_NAVTAG_FORBIDDEN 

Indicates that a NavMesh triangle has been found for the starting point, but its NavTag is not considered navigable.

RAYCANGO_DONE_COLLISION_DETECTED 

Indicates that a collision was detected along the straight line between the starting and ending points (either a border of the navmesh has been hit, or a call to CanTraverseNavTriangle returned false.

RAYCANGO_DONE_BORDER_DETECTED_WITHIN_MARGIN 

Indicates that a border was detected close (less than margin) to the straight line between the starting and ending points.

RAYCANGO_DONE_ARRIVAL_IN_WRONG_FLOOR 

Indicates that none of the above results occurred, which may indicate that the start and end points lie on different floors.

RAYCANGO_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient memory was available to store crossed triangles or sub-sections, and the query failed as a result.

RAYCANGO_DONE_UNKNOWN_ERROR 

Indicates that an unknown error occurred during the query processing.

RAYCANGO_DONE_SUCCESS 

Indicates that the ray can pass in a straight line from the starting point to the ending point without a collision.

Enumerates the possible results of a RayCast3dQuery.

Enumerator
RAYCAST3D_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

RAYCAST3D_NOT_PROCESSED 

Indicates the query has not yet been launched.

RAYCAST3D_DONE_NO_HIT 

Indicates that the point provided is outside the navigable boundaries of the NavMesh.

RAYCAST3D_DONE_HIT 

Indicates that the query was completed successfully; a triangle was found.

Enumerator
RayCastInChannel_Success 

The start and end positions are both inside the Channel and all Gates in-between are correctly crossed.

RayCastInChannel_PassedChannelFirstSection 

The start position is inside the Channel and all Gates up to the Channel start one are correctly crossed.

RayCastInChannel_PassedChannelLastSection 

The start position is inside the Channel and all Gates up to the Channel end one are correctly crossed.

RayCastInChannel_CollisionDetected_OnLeft 

A collision is detected with Channel borders.

RayCastInChannel_CollisionDetected_OnRight 

A collision is detected with Channel borders.

RayCastInChannel_StartIsOutside 

The start position is outside the start section.

RayCastInChannel_InvalidStartSectionIdx 

The start section index is not valid (it is greater than channel section count).

RayCastInChannel_InvalidChannel 

The Channel is not valid (it has less than 2 Gates and thus no section).

Enumerates the possible results of a RayCastOnSegmentQuery.

Enumerator
RAYCASTONSEGMENT_NOT_INITIALIZED 

Indicates that the query has not yet been initialized.

RAYCASTONSEGMENT_NOT_PROCESSED 

Indicates that the query has not yet been launched.

RAYCASTONSEGMENT_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

RAYCASTONSEGMENT_DONE_START_NAVTAG_FORBIDDEN 

Indicates that a NavMesh triangle has been found for the starting point, but its NavTag is not considered navigable.

RAYCASTONSEGMENT_DONE_CANNOT_MOVE 

Indicates that the starting point is very close to a NavMesh border, such that moving back the collision point resulted in an arrival position that is behind the starting point.

RAYCASTONSEGMENT_DONE_ARRIVAL_ERROR 

Indicates that a collision point was found, but moving back from that point resulted in an arrival position that could not be snapped to the NavMesh grid.

RAYCASTONSEGMENT_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient memory was available to store crossed triangles or sub-sections, and the query failed as a result.

RAYCASTONSEGMENT_DONE_QUERY_TOO_LONG 

Indicates that the query was not performed, because the value of RayCastOnSegmentQuery::m_maxDist is large enough to cause a potential integer overflow during the computation. Retry your query with a smaller maximum distance.

RAYCASTONSEGMENT_DONE_UNKNOWN_ERROR 

Indicates that an unknown error occurred during the query processing.

RAYCASTONSEGMENT_DONE_ARRIVALPOS_FOUND_MAXDIST_REACHED 

Indicates that the ray was able to travel its maximum distance without collision.

RAYCASTONSEGMENT_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION 

Indicates that the ray was able to travel its maximum distance without collision.

Enumerates the possible results of a RayCastQuery.

Enumerator
RAYCAST_NOT_INITIALIZED 

Indicates that the query has not yet been initialized.

RAYCAST_NOT_PROCESSED 

Indicates that the query has not yet been launched.

RAYCAST_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

RAYCAST_DONE_START_NAVTAG_FORBIDDEN 

Indicates that a NavMesh triangle has been found for the starting point, but its NavTag is not considered navigable.

RAYCAST_DONE_CANNOT_MOVE 

Indicates that the starting point is very close to a NavMesh border, such that moving back the collision point resulted in an arrival position that is behind the starting point.

RAYCAST_DONE_COLLISION_FOUND_ARRIVAL_ERROR 

Indicates that a collision point was found, but moving back from that point resulted in an arrival position that could not be snapped to the NavMesh grid.

RAYCAST_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient memory was available to store crossed triangles or sub-sections, and the query failed as a result.

RAYCAST_DONE_QUERY_TOO_LONG 

Indicates that the query was not performed, because the value of BaseRayCastQuery::m_maxDist is large enough to cause a potential integer overflow during the computation. Retry your query with a smaller maximum distance.

RAYCAST_DONE_UNKNOWN_ERROR 

Indicates that an unknown error occurred during the query processing.

RAYCAST_DONE_ARRIVALPOS_FOUND_MAXDIST_REACHED 

Indicates that the ray was able to travel its maximum distance without collision.

RAYCAST_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION 

Indicates that a collision point was found and that a final arrival position was calculated successfully.

Enumerates the Channel::IsPositionInSection relative position flags.

Enumerator
RelativePositionToChannelSection_Inside 

Position is inside the section.

RelativePositionToChannelSection_Before 

Position is outside the section: it lays before the section start Gate.

RelativePositionToChannelSection_After 

Position is outside the section: it lays after the section end Gate.

RelativePositionToChannelSection_OnLeft 

Position is outside the section: it lays on the left of the left Border.

RelativePositionToChannelSection_OnRight 

Position is outside the section: it lays on the right of the right Border.

Enumerator
ResetTrajectoryStatus_InInvalidNavData 

PositionOnPath is in Invalid NavData or no Path is associated.

ResetTrajectoryStatus_OutsideNavMesh 

Bot is outside NavMesh whereas PositionOnPath is on NavMesh.

ResetTrajectoryStatus_OutsideChannel 

Bot is NavMesh whereas PositionOnPath is on a portion of the Path that is associated to a channel, and channel cannot be reached.

ResetTrajectoryStatus_CannotShortcutToPath 

Bot is in NavMesh but it cannot reach the Path in straight line.

ResetTrajectoryStatus_Pending 

Typically, occurs when trying to ExitManualControl whereas the exit status is still pending.

ResetTrajectoryStatus_Success 

PathEdgeType to move on forward from the given PositionOnPath is inside NavMesh and Bot is in side NavMesh as well if Path has a Channel, bot is also in the channel.

ResetTrajectoryStatus_Success_OutsideNavMesh 

PathEdgeType to move on forward from the given PositionOnPath is outside NavMesh and Bot is outside NavMesh as well.

ResetTrajectoryStatus_Success_OutsideChannel 

Bot in NavMesh but not in channel whereas PositionOnPath is on a portion of the Path that is associated to a channel but it is possible to join the channel in straight line (the ShortcutTrajectory will be used until the channel is reached)

Defines the 4 possible cases of possibly constrained rotation in the horizontal plane for a given element.

Enumerates the possible results of a SegmentCanGoQuery.

Enumerator
SEGMENTCANGO_NOT_INITIALIZED 

Indicates that the query has not yet been initialized.

SEGMENTCANGO_NOT_PROCESSED 

Indicates that the query has not yet been launched.

SEGMENTCANGO_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

SEGMENTCANGO_DONE_START_NAVTAG_FORBIDDEN 

Indicates that the NavTag at the starting point was forbidden.

SEGMENTCANGO_DONE_COLLISION_DETECTED 

Indicates that a collision was detected between the starting and ending points.

SEGMENTCANGO_DONE_ARRIVAL_WRONG_FLOOR 

Indicates that none of the above results occurred, which may indicate that the start and end points lie on different floors.

SEGMENTCANGO_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

SEGMENTCANGO_DONE_UNKNOWN_ERROR 

Indicates that an unknown error occurred during the query processing.

SEGMENTCANGO_DONE_SUCCESS 

Indicates that the segment can pass in a straight line from its starting point to the ending point without a collision.

Enumerates the possible results of a SegmentCastQuery.

Enumerator
SEGMENTCAST_NOT_INITIALIZED 

Indicates that the query has not yet been initialized.

SEGMENTCAST_NOT_PROCESSED 

Indicates that the query has not yet been launched.

SEGMENTCAST_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

SEGMENTCAST_DONE_START_NAVTAG_FORBIDDEN 

Indicates that the NavTag at the starting point was forbidden.

SEGMENTCAST_DONE_CANNOT_MOVE 

Indicates that the starting point is very close to a NavMesh border. Either the segment does not fit in the NavMesh at its start position, or moving back the collision point resulted in an arrival position that is behind the starting point.

SEGMENTCAST_DONE_COLLISION_FOUND_ARRIVAL_ERROR 

Indicates that moving back the collision point resulted in an arrival position that is outside of the NavMesh.

SEGMENTCAST_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

SEGMENTCAST_DONE_UNKNOWN_ERROR 

Indicates that an error occured during the query computation.

SEGMENTCAST_DONE_ARRIVALPOS_FOUND_MAXDIST_REACHED 

Indicates that the segment was able to travel its maximum distance without collision.

SEGMENTCAST_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION 

Indicates that a final arrival position was calculated successfully.

Enumerates the possible results of a SpatializedPointCollectorInAABBQuery.

Enumerator
SPATIALIZEDPOINTCOLLECTOR_NOT_INITIALIZED 

Indicates that the query has not yet been initialized.

SPATIALIZEDPOINTCOLLECTOR_NOT_PROCESSED 

Indicates that the query has not yet been launched.

SPATIALIZEDPOINTCOLLECTOR_DONE_START_OUTSIDE 

Indicates that a NavMesh triangle could not be found for the starting point.

SPATIALIZEDPOINTCOLLECTOR_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

SPATIALIZEDPOINTCOLLECTOR_DONE 

Indicates that the query was completed successfully.

Enumerates the possible object types the SpatializedPoint refers to.

Enumerates the SplineTrajectory start constraint direction modes.

Enumerator
StartConstraintDirectionMode_Velocity 

Aligns the start constraint along current bot velocity when greater than the threshold (cf m_startConstraintDirectionVelocityThreshold).

StartConstraintDirectionMode_FrontDirection 

Always aligns the start constraint along current bot front direction.

StartConstraintDirectionMode_Velocity_Or_FrontDirection 

Same as StartConstraintDirectionMode_Velocity, but if velocity under threshold use current bot front direction.

StartConstraintDirectionMode_None 

Deactivate start constraint.

Enumerator
ExtendTagVolume_WithAltitudeTolerance_Above 

Indicates that In each database, the altitude tolerance off the Database will be added to Zmax.

ExtendTagVolume_WithAltitudeTolerance_Below 

Indicates that In each database, the altitude tolerance off the Database will be removed from Zmin.

ExtendTagVolume_WithEntityHeight_Below 

Indicates that In each database, the altitude tolerance off the Database will be removed from Zmin.

Enumerates the possible results of a TagVolumesFromPosQuery.

Enumerator
TAGVOLUMESROMPOS_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

TAGVOLUMESROMPOS_NOT_PROCESSED 

Indicates the query has not yet been launched.

TAGVOLUMESROMPOS_DONE_NO_TAGVOLUMES_FOUND 

Indicates that the point provided is outside the navigable boundaries of the NavMesh.

TAGVOLUMESROMPOS_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

TAGVOLUMESROMPOS_DONE_TAGVOLUMES_FOUND 

Indicates that the query was completed successfully; a triangle was found.

Enumerates the possible status values of Bot Position on path.

Enumerator
TargetOnPathNotInitialized 

Position on path has not been yet initialized at all.

Main reason is that no path has been set yet.

TargetOnPathUnknownReachability 

Target on path is initialized but not validated.

This namely occurs when a new path has been set, the Target on path is at Bot ProgressOnPath but its validation is pending.

TargetOnPathInInvalidNavData 

Target on path was on a valid NavData that has been streamed out (due to explicit streaming or DynamicNavMesh) and no valid NavData has been found there.

TargetOnPathNotReachable 

Target on path is no more reachable in straight line.

This is namely due to NavData changes, Position on path is on valid NavData but there is something in the way.

TargetOnPathReachable 

Target on path is reachable in straight line.

Enum that defines the 2 possible behaviors in case Trajectory cannot follow the path e.g.

Bot is unexpectedly out of navmesh or current Trajectory is driving Bot after the UpperBound

  • TrajectoryFailureMode_Safe: Prefer to drive the entity up to the UpperBound but stop at UpperBound, risking the Bot to stop and restart in one frame if the Path is recomputed in one frame
  • TrajectoryFailureMode_Unsafe: Prefer to maintain a continuous velocity by using the current trajectory as if it was valid while the path is being computed preventing the stop/restart behavior at the risk of going out of NavMesh.

Enum that defines the 2 possible trajectories modes.

TrajectoryMode_Shortcut computes a straight line from the bot to a point on the path.

TrajectoryMode_Spline uses a Channel around the path to compute a circle arc spline trajectory.

Enumerates the possible results of a TriangleFromPosAndTriangleSeedQuery.

Enumerator
NEARESTTRIANGLEFROMSEED_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

NEARESTTRIANGLEFROMSEED_NOT_PROCESSED 

Indicates the query has not yet been launched.

NEARESTTRIANGLEFROMSEED_DONE_SEED_INVALID 

Indicates an invalid NavTrianglePtr was provided as the seed point; the query cannot be processed.

NEARESTTRIANGLEFROMSEED_DONE_NO_TRIANGLE_FOUND 

Indicates that no triangle could be found.

NEARESTTRIANGLEFROMSEED_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

NEARESTTRIANGLEFROMSEED_DONE_TRIANGLE_FOUND 

Indicates the query was successfully completed; a triangle was found.

Enumerates the possible results of a TriangleFromPosQuery.

Enumerator
TRIANGLEFROMPOS_NOT_INITIALIZED 

Indicates the query has not yet been initialized.

TRIANGLEFROMPOS_NOT_PROCESSED 

Indicates the query has not yet been launched.

TRIANGLEFROMPOS_DONE_NO_TRIANGLE_FOUND 

Indicates that the point provided is outside the navigable boundaries of the NavMesh.

TRIANGLEFROMPOS_DONE_LACK_OF_WORKING_MEMORY 

Indicates that insufficient working memory caused the query to stop.

TRIANGLEFROMPOS_DONE_TRIANGLE_FOUND 

Indicates that the query was completed successfully; a triangle was found.

Enumerates the possible ways a TriangleFromPosQuery can choose the triangle it retrieves.

Enumerator
NEARESTTRIANGLE_FIND_NEAREST 

Instructs the query to retrieve the nearest triangle to the point provided, regardless of whether it lies above or below the point.

NEARESTTRIANGLE_FIND_NEAREST_BELOW 

Instructs the query to retrieve the first triangle below the point provided.

NEARESTTRIANGLE_FIND_NEAREST_ABOVE 

Instructs the query to retrieve the first triangle above the point provided.

Enumerates the visual debug levels of details.

Enumerates the possible levels of detail that can be set for a VisualRepresentation.

Not all classes of VisualRepresentation support different levels of detail; whether or not this is supported and how it is supported depends on the implementation of VisualRepresentation::BuildGeometry() in each derived class.

Enumerator
KY_VISUAL_DETAIL_LOW 

Identifies a lower level of detail.

KY_VISUAL_DETAIL_HIGH 

Identifies a higher level of detail.

KY_VISUAL_DETAIL_MAX 

Identifies a higher level of detail.

Enumerates the WorldElement types.

Function Documentation

template<typename T , KyUInt32 N>
KyUInt32 Kaim::ArraySize ( T(&)  [N])
inline

Returns the size of a fixed-size array.

+ Examples:
KyInt64 Kaim::CrossProduct ( const Vec2LL v1,
const Vec2LL v2 
)
inline

Returns the Z component of the cross product of v1 and v2.

KyFloat32 Kaim::CrossProduct ( const Vec2f v1,
const Vec2f v2 
)
inline

Returns the magnitude on the Z axis of the cross product between this vector and v.

Vec3f Kaim::CrossProduct ( const Vec3f v1,
const Vec3f v2 
)
inline

Returns the cross product of v1 and v2.

KyInt32 Kaim::CrossProduct ( const Vec2i v1,
const Vec2i v2 
)
inline

Returns the Z component of the cross product of v1 and v2.

KyFloat32 Kaim::CrossProduct_x ( const Vec3f v1,
const Vec3f v2 
)
inline

Returns the X component of the cross product of v1 and v2.

KyFloat32 Kaim::CrossProduct_y ( const Vec3f v1,
const Vec3f v2 
)
inline

Returns the Y component of the cross product of v1 and v2.

KyFloat32 Kaim::CrossProduct_z ( const Vec3f v1,
const Vec3f v2 
)
inline

Returns the Z component of the cross product of v1 and v2.

KyFloat32 Kaim::Distance ( const Vec2f v1,
const Vec2f v2 
)
inline

Returns the distance between v1 and v2.

KyFloat32 Kaim::Distance ( const Vec3f v1,
const Vec3f v2 
)
inline

Returns the distance between v1 and v2.

KyFloat32 Kaim::Distance2d ( const Vec3f v1,
const Vec3f v2 
)
inline

Returns the distance between v1 and v2, ignoring Z coordinates.

KyInt64 Kaim::DotProduct ( const Vec2LL v1,
const Vec2LL v2 
)
inline

Returns the dot product of v1 and v2.

KyFloat32 Kaim::DotProduct ( const Vec2f v1,
const Vec2f v2 
)
inline

Returns the dot product of v1 and v2.

+ Examples:
KyFloat32 Kaim::DotProduct ( const Vec3f v1,
const Vec3f v2 
)
inline

Returns the dot product of v1 and v2.

KyInt32 Kaim::DotProduct ( const Vec2i v1,
const Vec2i v2 
)
inline

Returns the dot product of v1 and v2.

KyFloat32 Kaim::DotProduct2d ( const Vec3f v1,
const Vec3f v2 
)
inline

Returns the dot product of v1 and v2, ignoring Z coordinates.

KyFloat32 Kaim::Fsel ( KyFloat32  cmp,
KyFloat32  v1,
KyFloat32  v2 
)
inline

Ifcmp is greater than 0, returnsv1. Otherwise, returnsv2.

KyFloat32 Kaim::GetAngleRad ( const Vec2f v1,
const Vec2f v2 
)
inline

Returns the angle in radians between v1 and v2 (CounterClockwise).

Returns values in [0, 2*Pi[ range.

Vec3f Kaim::GetDir ( const Vec3f A,
const Vec3f B 
)
inline

Get Direction.

Vec2f Kaim::GetDir2d ( const Vec2f v1,
const Vec2f v2 
)
inline

Returns the normalized direction between v1 and v2.

Vec2f Kaim::GetDir2d ( const Vec3f A,
const Vec3f B 
)
inline

Get Direction in 2d.

void Kaim::GetMinMax ( const KyFloat32  a,
const KyFloat32  b,
KyFloat32 minValue,
KyFloat32 maxValue 
)
inline

Retrieves the minimum and maximum values from the specified inputs.

Parameters
aThe first value.
bThe second value.
[out]minValueThe lowest of the supplied values.
[out]maxValueThe largest of the supplied values.
void Kaim::GetMinMax ( const KyFloat32  a,
const KyFloat32  b,
const KyFloat32  c,
KyFloat32 minValue,
KyFloat32 maxValue 
)
inline

Retrieves the minimum and maximum values from the specified inputs.

Parameters
aThe first value.
bThe second value.
cThe third value.
[out]minValueThe lowest of the supplied values.
[out]maxValueThe largest of the supplied values.
void Kaim::GetMinMax ( const KyFloat32  a,
const KyFloat32  b,
const KyFloat32  c,
const KyFloat32  d,
KyFloat32 minValue,
KyFloat32 maxValue 
)
inline

Retrieves the minimum and maximum values from the specified inputs.

Parameters
aThe first value.
bThe second value.
cThe third value.
dThe fourth value.
[out]minValueThe lowest of the supplied values.
[out]maxValueThe largest of the supplied values.
const char* Kaim::GetNavigationVersion ( )

Retrieves a string that contains the version number of this library.

CardinalDir Kaim::GetOppositeCardinalDir ( const CardinalDir  dir)
inline

Returns the CardinalDir that lies in the opposite direction from the specified CardinalDir.

For example, specifying CardinalDir_EAST returns CardinalDir_WEST.

Precondition
must be one of the four valid CardinalDir.
KyFloat32 Kaim::GetRadiansFromDegrees ( KyFloat32  degrees)
inline

Returns angle in radians converted from angle in degrees.

Vec3f Kaim::GetRightDirection ( const Vec3f v)
inline

Returns the normalized horizontal vector on the right of v. If v is vertical, this return Vec3f::Zero().

KyInt32 Kaim::Isel ( KyInt32  a,
KyInt32  x,
KyInt32  y 
)
inline

If a is greater than 0, returns x. Otherwise, returns y.

bool Kaim::IsNavCellIdxValid ( const NavCellIdx  idx)
inline

Indicates whether or not the specified NavCellIdx is valid.

bool Kaim::IsNavFloorIdxValid ( const NavFloorIdx  idx)
inline

Indicates whether or not the specified NavFloorIdx is valid.

bool Kaim::IsNavHalfEdgeIdxValid ( const NavHalfEdgeIdx  idx)
inline

Indicates whether or not the specified NavHalfEdgeIdx is valid.

bool Kaim::IsNavTriangleIdxValid ( const NavTriangleIdx  idx)
inline

Indicates whether or not the specified NavTriangleIdx is valid.

bool Kaim::IsValidGuidString ( const char  guidStr[])
Returns
true if guidStr is compounded of 36 char and is null-terminated.
KyInt64 Kaim::Lsel ( KyInt64  a,
KyInt64  x,
KyInt64  y 
)
inline

If a is greater than 0, returns x. Otherwise, returns y.

template<typename T >
T Kaim::Max ( const T &  a,
const T &  b 
)
inline

Returns the greater of the two specified values.

Template Parameters
TThe type of values provided.
+ Examples:
template<typename T >
T Kaim::Max ( const T &  a,
const T &  b,
const T &  c 
)
inline

Returns the greatest of the three specified values.

Template Parameters
TThe type of values provided.
template<typename T >
T Kaim::Min ( const T &  a,
const T &  b 
)
inline

Returns the lesser of the two specified values.

Template Parameters
TThe type of values provided.
+ Examples:
template<typename T >
T Kaim::Min ( const T &  a,
const T &  b,
const T &  c 
)
inline

Returns the least of the three specified values.

Template Parameters
TThe type of values provided.
Vec2f Kaim::operator* ( KyFloat32  s,
const Vec2f v 
)
inline

Multiplies the X and Y coordinates of v by s.

Vec3f Kaim::operator* ( KyFloat32  s,
const Vec3f v 
)
inline

Multiplies the X, Y and Z coordinates of v by s.

void Kaim::Rotate ( Vec2f direction,
KyFloat32  cosAngle,
KyFloat32  sinAngle 
)
inline

Turns direction accordingly to provided sine & cosine. Positive angles rotate CCW.

+ Examples:
bool Kaim::ShowInfoAboutLib ( )

Outputs the build mode, target platform, library name, version, and build date of this library.

The text is logged using debug messages.

Returns
true if the text was successfully logged, or false if the BaseSystem has not yet been initialized.
KyFloat32 Kaim::SquareDistance ( const Vec2f v1,
const Vec2f v2 
)
inline

Returns the square of the distance between v1 and v2.

KyFloat32 Kaim::SquareDistance ( const Vec3f v1,
const Vec3f v2 
)
inline

Returns the square of the distance between v1 and v2.

KyFloat32 Kaim::SquareDistance2d ( const Vec3f v1,
const Vec3f v2 
)
inline

Returns the square of the distance between v1 and v2, ignoring Z coordinates.

void Kaim::SwapEndianness ( Endianness::Target  e,
NavCellBlob self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
NavVertex self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
FloorAltitudeRange self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework. The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
Triangle3f self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Kaim::Endianness::Target  e,
WorldIntegerPos self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
NavHalfEdge self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
Triangle3i self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
Transform self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
NavMeshGenParameters self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
NavMeshElementBlob self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
CoordSystemConfig self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  ,
KyInt32 x 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  ,
KyUInt32 x 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  ,
KyInt16 x 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  ,
KyUInt16 x 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  ,
KyInt8  
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  ,
KyUInt8  
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  ,
char &   
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  ,
KyFloat32 x 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  ,
KyInt64 x 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  ,
KyUInt64 x 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
NavFloorAABB self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
Vec2f self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
Box3f self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
Box2f self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
Vec3i self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
Vec3f self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Kaim::Endianness::Target  e,
Vec2i self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework. The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Endianness::Target  e,
CoordSystem self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

void Kaim::SwapEndianness ( Kaim::Endianness::Target  e,
Box2i self 
)
inline

Swaps the endianness of the data in the specified object.

This function allows this type of object to be serialized through the blob framework.

The first parameter specifies the target endianness, and the second parameter provides the object whose data is to be swapped.

Variable Documentation

const CardinalDir Kaim::CardinalDir_EAST = 0
static

Identifies East, defined as the positive direction of the X axis.

const CardinalDir Kaim::CardinalDir_INVALID = 0xFFFFFFFF
static

Identifies an invalid cardinal direction.

const CardinalDir Kaim::CardinalDir_NORTH = 1
static

Identifies North, defined as the positive direction of the Y axis.

const CardinalDir Kaim::CardinalDir_SOUTH = 3
static

Identifies South, defined as the negative direction of the Y axis.

const CardinalDir Kaim::CardinalDir_WEST = 2
static

Identifies West, defined as the negative direction of the X axis.

const KyInt32 Kaim::InvalidCellCoord = 0x7FFFFFFF
static

Represents an invalidCellCoord object.

const KyInt32 Kaim::InvalidCoord = 0x7FFFFFFF
static

Represents an invalidCoord object.

const KyInt32 Kaim::InvalidPixelCoord = 0x7FFFFFFF
static

Represents an invalidPixelCoord object.

const KyFloat32 Kaim::KY_2_PI = 2.0f * KY_PI
static

Stores the value of twice pi.

+ Examples:
const KyFloat32 Kaim::KY_PI = 3.14159265f
static

Stores the value of pi.

+ Examples:
const KyFloat32 Kaim::KY_PI_DIVIDED_BY_180 = KY_PI / 180.0f

Stores the value of KY_PI divided by 180.

const NavCellIdx Kaim::NavCellIdx_Invalid = 0xFFFFFFFF
static

Represents an invalid NavCellIdx.

const NavConnexIdx Kaim::NavConnexIdx_Invalid = (NavConnexIdx)CompactNavVertexIdx_MAXVAL
static

Represents an invalid NavConnexIdx.

const NavFloorIdx Kaim::NavFloorIdx_Invalid = 0xFFFFFFFF
static

Represents an invalid NavFloorIdx.

const NavGraphVertexIdx Kaim::NavGraphVertexIdx_Invalid = (NavGraphVertexIdx)CompactNavGraphVertexIdx_MAXVAL
static

Represents an invalid NavGraphVertexIdx.

const NavGraphVertexLinkType Kaim::NavGraphVertexLinkType_LinkToNavMesh = 1
static

Indicates that this vertex should be connected to the NavMesh. If the vertex is outside, we try to link it inside.

+ Examples:
const NavGraphVertexLinkType Kaim::NavGraphVertexLinkType_NoLink = 0
static

Indicates that this vertex should not be connected to the NavMesh.

+ Examples:
const NavHalfEdgeIdx Kaim::NavHalfEdgeIdx_Invalid = (NavHalfEdgeIdx)CompactNavHalfEdgeIdx_MAXVAL
static

Represents an invalid NavHalfEdgeIdx.

const NavTriangleIdx Kaim::NavTriangleIdx_Invalid = (NavTriangleIdx)CompactNavVertexIdx_MAXVAL
static

Represents an invalid NavTriangleIdx.

const NavVertexIdx Kaim::NavVertexIdx_Invalid = (NavVertexIdx)CompactNavVertexIdx_MAXVAL
static

Represents an invalid NavVertexIdx.

Indicates whether or not the specified NavVertexIdx is valid.

const KyUInt32 Kaim::PointOfInterestType_FirstClient = 16
static

The first customizable PointOfInterest type value.

+ Examples:
const KyUInt32 Kaim::PointOfInterestType_Undefined = 0
static

The default value of PointOfInterest type.