The Autodesk Navigation namespace.
Kaim stands for Kynapse Artificial Intelligence Middleware. Kynapse was the predecessor of Autodesk Navigation.
This is the primary namespace used by most Autodesk Navigation components. Most programming you do with Autodesk Navigation, such as writing custom derivations of component classes, will be done using this namespace.
Namespaces | |
GenFlags | |
Result | |
Classes | |
class | AbstractGraphDataGenerator |
Usage: AbstractGraphDataGenerator gen; gen.InitFromXxxx() gen.Generate() gen.SaveAbstractGraphData() More... | |
class | ActiveCell |
This object gathers all the active NavFloors at a CellPos. More... | |
class | ActiveData |
This class gathers all the navigation data that are currently active in a Database. More... | |
class | AdvancedPathProgressConfig |
Class that aggregates path validation minimum distances (advanced parameters) More... | |
class | AStarQuery |
Runs an A-star algorithm to find a Path through the navigation data (NavMesh & NavGraph) from a starting point to a destination, refines the path found, and fills an object of type Path. More... | |
class | AsyncQueryDispatcher |
Default implementation of IAsyncQueryDispatcher. More... | |
class | AttributeGroupBlob |
Contains attributes names, types and headers, and DOES NOT contain attributes values (see VisualDebugAttributeGroupValuesBlob) More... | |
class | AttributeGroupValuesBlob |
Contains attributes values and DOES NOT contain attributes names, types and headers (see VisualDebugAttributeGroupBlob) More... | |
class | AvoidanceCollider |
A Collider is a 2D circular particle with a linear velocity. More... | |
class | AvoidanceComputer |
This class compute collision-free trajectories. More... | |
class | AvoidanceComputerCollectorFilter |
Class used to filter potential colliders in AvoidanceComputer at SpatializedPoint collection step. More... | |
class | AvoidanceConfig |
Set of parameters used to configure AvoidanceComputer. More... | |
class | AvoidanceSolver |
AvoidanceSolver computes a velocity compatible with all the colliders in AvoidanceWorkspace and the NavData accordingly to TraverseLogic. More... | |
class | AvoidanceWorkspace |
AvoidanceWorkspace aggregates at once: More... | |
class | BaseAStarQuery |
Base class for AstarQuery. More... | |
class | BaseBestGraphVertexPathFinderQuery |
Base class for BestGraphVertexPathFinderQuery. More... | |
class | BaseBlobBuilder |
BaseBlobBuilder is an abstract base class that builds a blob within a contiguous block of memory. More... | |
class | BaseDiskCanGoQuery |
Base class for DiskCanGoQuery. More... | |
class | BaseDiskCastQuery |
Base class for DiskCastQuery. More... | |
class | BaseDiskCollisionQuery |
Base class for DiskCollisionQuery. More... | |
class | BaseDiskExpansionQuery |
Base class for DiskExpansionQuery. More... | |
class | BaseFindFirstVisiblePositionOnPathQuery |
Base class for FindFirstVisiblePositionOnPathQuery. More... | |
class | BaseInsidePosFromOutsidePosQuery |
Base class for InsidePosFromOutsidePosQuery. More... | |
class | BaseLog |
In Navigation, BaseLog MUST be used instead of Kaim::Log. More... | |
class | BaseMultiDestinationPathFinderQuery |
Base class for MultiDestinationPathFinderQuery. More... | |
class | BaseNavigationProfile |
BaseNavigationProfile and its derivation NavigationProfile<TraverseLogic> is a class that simplifies the customization of the navigation. More... | |
class | BaseNearestBorderHalfEdgeFromPosQuery |
Base class for NearestBorderHalfEdgeFromPosQuery. More... | |
class | BasePathFromPolylineQuery |
Base class for AstarQuery. More... | |
class | BasePathProgressComputer |
The abstract base class for PathProgressComputer classes. More... | |
class | BaseRayCanGoOnSegmentQuery |
Base class for RayCanGoOnSegmentQuery. More... | |
class | BaseRayCanGoQuery |
Base class for RayCanGoQuery. More... | |
class | BaseRayCastOnSegmentQuery |
Base class for RayCastOnSegmentQuery. More... | |
class | BaseRayCastQuery |
Base class for RayCastQuery. More... | |
class | BaseSegmentCanGoQuery |
Base class for SegmentCanGoQuery. More... | |
class | BaseSegmentCastQuery |
Base class for SegmentCastQuery. More... | |
class | BaseShortcutTrajectory |
This class computes minimal trajectory made of just one velocity. More... | |
class | BaseSpatializedPointCollectorInAABBQuery |
Base class for SpatializedPointCollectorInAABBQuery. More... | |
class | BaseSystem |
The BaseSystem provides Autodesk Navigation components with a set of objects used for memory allocation, logging, performance profiling, etc. More... | |
class | BaseSystemConfig |
The BaseSystemConfig class contains a set of objects and configuration parameters that are required in order to initialize the BaseSystem. More... | |
class | BestGraphVertexPathFinderQuery |
This query propagates outward through the NavMesh from the starting position. More... | |
class | BlobArray |
A BlobArray an array that is compatible with the blob serialization framework. More... | |
class | BlobCategory |
The BlobCategory class represents a collection of blob types. More... | |
class | BlobFile |
The BlobFile class reads/writes the data maintained in a blob from/to a file. More... | |
class | BlobHandler |
The BlobHandler class is a top-level mechanism for serializing blobs between objects in memory and files on disk. More... | |
class | BlobRef |
A BlobRef is a type of reference that is compatible with the blob serialization framework. More... | |
class | Bot |
This class is the world element that represent an active character in Autodesk Navigation. More... | |
class | BotColors |
Defines the colors used to render the Bot accordingly to its internal statuses. More... | |
class | BotConfig |
Class that aggregates all parameters that allow to configure the PathFinding and the PathFollowing of a Bot. Each Bot has its own instance of BotConfig. More... | |
class | BotInitConfig |
Class used to provide Bot initialization parameters. More... | |
class | BotMoveOnNavMesh |
This class is used to get move bots on the NavMesh without physics engine. More... | |
class | BotNavigation |
Per Bot data that correspond to the usage of a NavigationProfile in a Bot. More... | |
class | BotNavigationCollection |
BotNavigationCollection contains 1 BotNavigation per (Base)NavigationProfile and a pointer on m_navigationProfiles array. More... | |
class | BotOutput |
BotOutput gathers the most important outputs of a bot for easy access. More... | |
class | Box2f |
2d axis aligned box of 32bits floating points More... | |
class | Box2i |
2d axis aligned box of 32bits integers. Very Important: CountX() returns m_max.x - m_min.x + 1. More... | |
class | Box2iIteratorInBiggerRowMajorBox |
Browse a box that is included in a bigger box. More... | |
class | Box2iRowMajorIterator |
Box2iRowMajorIterator. More... | |
class | Box2LL |
2d axis aligned box of 64bits integers. Does not maintain m_countXY = m_max - m_min as a member. More... | |
class | Box3f |
3d axis aligned box of 32bits floating points More... | |
class | BoxObstacle |
Each instance of the BoxObstacle class represents a dynamic, physical object in your game engine that will prevent your Bots from moving freely through its bounding box. More... | |
class | BoxObstacleInitConfig |
Class used to provide BoxObstacle initialization parameters. More... | |
class | BoxObstaclesCollectionBlobBuilder |
A type of blob builder that creates a BoxObstaclesCollectionBlob from a list of box BoxObstacles (Kaim::BoxObstacle). More... | |
class | BreadthFirstSearchTraversal |
The template parameter Visitor must have following methods: void Visit(const NavTrianglePtr& trianglePtr, const TriangleStatusInGrid& triangleStatus) bool IsSearchFinished(); bool ShouldVisitTriangle(const NavTrianglePtr& trianglePtr); bool ShouldVisitNeighborTriangle(const NavTrianglePtr& trianglePtr, KyUInt32 indexOfNeighborTriangle); NavTrianglePtr GetNeighborTriangle(const NavTrianglePtr& trianglePtr, KyUInt32 indexOfNeighborTriangle);. More... | |
class | Bubble |
This class represents a circle with potential rotation limitation. More... | |
class | BubbleArray |
This class encapsulate an array of Bubbles. More... | |
class | BubbleToCornerFunnel |
Adaptive radius funnel to be used typically to string pull within a Bubble array. More... | |
class | Channel |
Channel enrich Path with clearance information on each side of the Path. More... | |
class | ChannelArray |
This class aggregates Channels along a Path. More... | |
class | ChannelComputerConfig |
Class that aggregates parameters that allow to configure the channel computation of a Bot. More... | |
class | ChannelDisplayConfig |
Class that configures the Channel visual debug display. More... | |
class | CheckHeaderLibDesync |
This class helps to finding errors in the use of header files and libraries. More... | |
class | CircleArcSpline |
The class representing a spline compounded of oriented circle arcs and straight line segments. More... | |
class | CircleArcSplineComputationQuery |
Base class for CircleArcSplineComputationQuery. More... | |
class | CircleArcSplineComputer |
Class used to compute a CircleArcSpline in a Channel. More... | |
class | CircleArcSplineComputerVisualDebugConfig |
Class used to configure all VisualDebug components for CircleArcSpline computation. More... | |
class | CircleArcSplineSection |
Class representing either an oriented circle arc or a straight line segment, to be aggregated into a CircleArcSpline. More... | |
class | ClientInput |
The ClientInput is a representation of the input that was supplied to the generator for a particular Kaim::GeneratorSector It contains all the input triangles and tagVolumes as provided by the the Kaim::GeneratorInputProducer to the Kaim::ClientInputConsumer and can be saved or loaded to a .ClientInput file. More... | |
class | ClientInputConsumer |
The ClientInputConsumer class is one of the primary components of the NavData generation system. More... | |
class | ClientInputSectorDescriptor |
Easy to write/read version of ClientInputSectorDescriptorBlob. More... | |
class | ClientInputSectorDescriptorBlob |
Set of Key-Values embedded within a ClientInput BlobAggregate (serialized form). More... | |
class | ClientInputTagVolume |
Represents a volume using a two-dimensional polyline extruded vertically along the "up" axis associated to a terrain and/or a BlindData. More... | |
class | ColDataSectorDescriptor |
Easy to write/read version of SectorDescriptorBlob. More... | |
class | ColDataSectorDescriptorBlob |
Set of Key-Values embedded within in ColData BlobAggregate (serialized form). More... | |
class | Collection |
Collection is a class which is a "Collection" of elements (not sorted, not unique) More... | |
class | ColliderCollectorConfig |
Class that configures how the Bot collects colliders (other bots, obstacles) around. More... | |
class | CollisionData |
The CollisionData class represents Collision Data that will be added to a CollisionWorld. More... | |
class | CollisionRayCastQuery |
Query that performs a 3D raycast against the physical geometry in a CollisionWorld. More... | |
class | CollisionWorld |
This class is a runtime container for all CollisionData that represents the world. More... | |
class | Color |
RGBA color. More... | |
class | ContourLineExtractor |
This class takes a NavFloor and an altitude range as input and will return an array of edges that form the contour lines of the slice between altMin and altMax. More... | |
class | CoordSystem |
This class maintains the mapping between the system of coordinate axes used by the client game engine, and the system used within the Autodesk Navigation (right handed, Z up, distances in meters). More... | |
class | CoordSystemConfig |
A structure that sets up the mapping between the coordinate system used in the Autodesk Navigation Engine and the game engine. More... | |
class | CostMultiplierSubSegment |
This class represents a CostMultiplier sub-segment of a ray (within a RayCastQuery or a RayCanGoQuery, carried out against the NavMesh). More... | |
class | CylinderObstacle |
CylinderObstacles represent dynamic objects of your game engine that prevent your Bots from moving freely in a vertical cylinder volume. More... | |
class | CylinderObstacleInitConfig |
Class used to provide CylinderObstacle initialization parameters. More... | |
class | Database |
This class is a runtime container for all NavData that represents the world from the point of view of a specific type of Bots. More... | |
class | DatabaseBinding |
DatabaseBinding is a collection of the databases to be used for world elements spatialization. More... | |
class | DatabaseDescriptor |
Easy to write/read version of DatabaseDescriptorBlob. More... | |
class | DatabaseDescriptorBlob |
Set of Key-Values embedded within genIO BlobAggregate (serialized form). More... | |
class | DatabaseGenMetrics |
This class gathers a set of generation parameters of one Database and manages the conversion between the floating-point and integer coordinate systems used internally by NavData. More... | |
class | DatabaseNavFloorIterator |
Usage: for (Kaim::DatabaseNavFloorIterator iterator(database); iterator.IsValid(); ++iterator) { const Kaim::NavFloorRawPtr& navFloorRawPtr = iterator.GetNavFloorRawPtr();. More... | |
class | DatabaseNavHalfEdgeIterator |
Usage: for (Kaim::DatabaseNavHalfEdgeIterator iterator(database); iterator.IsValid(); ++iterator) { Kaim::NavTriangleRawPtr navTrianglePtr = iterator.GetNavTrianglePtr();. More... | |
class | DatabaseNavTriangleIterator |
Usage: for (Kaim::DatabaseNavTriangleIterator iterator(database); iterator.IsValid(); ++iterator) { const Kaim::NavTriangleRawPtr& navTriangleRawPtr = iterator.GetNavTriangleRawPtr();. More... | |
class | DefaultFileOpener |
Simple default implementation of an object that opens a file on disk that is called when the primaryFileOpener is NULL. More... | |
class | DefaultLog |
Default implementation of the BaseLog interface. More... | |
class | DefaultNavigationProfile |
DefaultNavigationProfile. More... | |
class | DefaultPathEventListObserver |
This default IPathEventListObserver does not set any PathEvent as CheckPoint. More... | |
class | DefaultTraverseLogic |
SimpleTraverseLogic with TCanEnterNavTagMode = LogicDoNotUseCanEnterNavTag. More... | |
class | DenseGrid |
Container that spatialize elements in a 2d grid. More... | |
class | DiagonalStripFunnel |
Basic corner-to-corner funnel to be used in standard line-of-view based browsing of diagonal strips. More... | |
class | DiskCanGoQuery |
The DiskCanGoQuery tests whether a disk with a specified radius can go from start to dest. More... | |
class | DiskCastQuery |
The DiskCastQuery class tests whether a disk with a specified radius (m_radius) can be cast in a specified orientation (m_normalizedDir2d) from a starting point without: More... | |
class | DiskCollisionQuery |
The DiskCollisionQuery class attempts to place the center of a disk with a specified radius (m_radius) at a specified position (m_centerPos3f), and tests whether the entire disk fits within the borders of the NavMesh without intersecting any forbidden NavTag (NavMesh borders). More... | |
class | DiskExpansionQuery |
The DiskExpansionQuery class attempts to place the center of a disk at a specified position (m_centerPos3f), and expands the radius of the disk until the disk: More... | |
class | DisplayList |
DisplayList is used to push text, lines or shapes for rendering in the NavigationLab e.g. More... | |
class | DisplayListManager |
Game side: Manages all DisplayListData, send them to the NavigationLab. More... | |
class | DisplayListRemovalBlob |
Send this blob to destroy the current displayList with id "displayListId" and eventually being associated with the worldElement with id "worldElementId". More... | |
class | DisplayListRemovalFromNameBlob |
Send this blob to destroy the current displayList with name "displayListName" and eventually being associated with the worldElement with id "worldElementId". More... | |
class | DynamicInputCell |
Used in SpatializedSectorInput to gather all triangles, from sector m_sectorGuid, that impacts the m_cellPos. More... | |
class | DynamicNavMeshQuery |
The DynamicNavMeshQuery is used to recompute a NavCell impacted by newly projected TagVolumes or removed tagVolumes This query is time-sliced. More... | |
class | Endianness |
Collects endianness types and utilities used in the blob serialization framework. More... | |
class | FileOpenerBase |
Base interface for a class that opens a file on disk. More... | |
class | FindFirstVisiblePositionOnPathQuery |
The FindFirstVisiblePositionOnPathQuery class searches for a PositionOnPath that can be reached from a provided point (m_visibilityStartPos3f). More... | |
class | FloatingPointExceptionSetter |
Activate floating point exceptions. Implemented on WINDOWS and XBOXONE only. More... | |
class | FloatStat |
FloatStat maintains current, average, min, max statistics in a sliding window of frames. More... | |
class | FloorAltitudeRange |
Represents the range of altitudes covered by a single NavFloorBlob. More... | |
class | FollowedCircleArcSpline |
CircleArcSpline with computation information and current position of follow. More... | |
struct | FullDebug |
Gathers all runtime flags used to debug internal algorithms (mostly PathFinder). More... | |
class | Funnel |
Basic straight line funnel acting directly on 2D positions. More... | |
class | GameKitCrowdDispersionNavTagHashMap |
Associate information to push variety into paths found to an id based on GameKitNavTag. More... | |
class | GameKitCrowdDispersionNavTagId |
Used to uniquely identify GameKitNavTag, c.f. GameKitNavTag for more information. More... | |
class | GameKitNavigationProfile |
GameKitNavigationProfile must be added to Kaim::World and set to Bot in order to use the GameKitPathEventListObserver so PathEvents entering a NavTag associated to a GameKitSmartObject will be declared as user checkpoints. More... | |
class | GameKitNavTag |
Define an interpretation of NavTag specific to GameKit. More... | |
class | GameKitSmartObjectInterval |
Defines an interval in the path of a bot where there is a smartobject. More... | |
class | GameKitTraverseLogic |
Custom traverse logic to manage NavTag Layers and SmartObjects. More... | |
class | Gate |
This class represents Channel section limit segment. See Channel class description. More... | |
class | GeneratedDataIndex |
File that register files that were generated the Generator m_navDataIndexHandler for NavMeshes, m_abstractDataIndexHandler for AbstractNavGraph, m_colDataIndexHandler for CollisionData, m_databaseDescriptor to get the databaseIndex. More... | |
class | Generator |
The Generator is the principal class in the NavData generation system. More... | |
class | GeneratorAdvancedParameters |
The GeneratorAdvancedParameters class is used by the GeneratorParameters class to maintain a set of configuration parameters that control detailed technical aspects of the NavData generation process. More... | |
class | GeneratorBaseSystem |
The GeneratorBaseSystem class is a helper tool that enable the user to correctly initialize the BaseSystem for generating the NavData. More... | |
class | GeneratorGuidCompound |
This class is a wrapper around an array of KyGuid objects. More... | |
class | GeneratorInputOutput |
The GeneratorInputOutput class is a central element of the generation. More... | |
class | GeneratorInputProducer |
The GeneratorInputProducer is an abstract base class for an object invoked by the NavData generation system to retrieve the geometry for which it should generate NavData. More... | |
class | GeneratorParameters |
The GeneratorParameters class contains configuration parameters that control the characteristics of the NavData created by the Generator. More... | |
class | GeneratorReport |
The GeneratorReport class encapsulates a detailed report of all activities carried out during a call to the Generator::Generate(GeneratorInputOutput&) method. More... | |
class | GeneratorRunOptions |
The GeneratorRunOptions class contains configuration parameters that control the way in which the Generator carries out the process of generating NavData for its sectors. More... | |
class | GeneratorSector |
The GeneratorSector class provides a definition for a single sector to be treated by the Generator. More... | |
class | GeneratorSectorBlob |
Used to serialize GeneratorInputOutput. Corresponds to GeneratorSector. More... | |
class | GeneratorSectorBlobBuilder |
Used to serialize GeneratorInputOutput. More... | |
class | GeneratorSectorBuilder |
Maintains generation data for each sector. More... | |
class | GeneratorSectorListBlob |
used to serialize GeneratorInputOutput More... | |
class | GeneratorSectorListBlobBuilder |
Used to serialize GeneratorInputOutput m_exclusiveGuids and m_sectors. More... | |
class | GeneratorSectorRefCountedUserData |
Base class for the optional m_refCountedUserData that allows to refCount your user data. More... | |
class | GeneratorSectorReport |
The SectorStatistics class encapsulates a detailed set of statistics about a single sector treated by the NavData generation framework. More... | |
class | GeneratorSystem |
GeneratorSystem gathers everything that is global across a generation: configuration, options... More... | |
class | HalfEdgeIntersection |
This class represents an intersection between an NavHalfEdge and a ray (within a RayCastQuery or a RayCanGoQuery, carried out against the NavMesh). More... | |
class | HeightField |
Heightfield with a uniform grid of sampled altitudes. More... | |
class | IAsyncQueryDispatcher |
World::PushAsyncQuery(IQuery* query) pushes the Query in the QueryQueue. More... | |
class | IAtomicQuery |
Base class for all the queries that do not need to be time-sliced. More... | |
class | IAvoidanceComputer |
This interface class defines the way avoidance is computed. More... | |
class | IAvoidanceFilter |
Interface class for potential collider filtering classes. More... | |
class | IAvoidanceSolver |
Interface class for Avoidance solvers. More... | |
class | ICollisionInterface |
An abstract interface for an object that can perform collision queries. More... | |
class | IGeneratorGlue |
Provides an abstract base interface for a class that the Generator can invoke in order to retrieve objects that implement specific interfaces. More... | |
class | IMessageReceiver |
IMessageReceiver defines an interface for objects that are called to process blobs of data sent through VisualDebug. More... | |
class | IMovePositionOnLivePathPredicate |
Interface used to verify a PositionOnPath can be moved forward along the Path. More... | |
class | IndexedMesh |
Wraps a IndexedMeshBlob either as IndexedMeshBlob* or as Ptr<BlobHandler<IndexedMeshBlob>> Also adds the WriteToObjFile() facility. More... | |
class | InputTileImprint |
Relevant if m_doEnableLimitedMemoryMode is true, maintains the per InputTile information that will allows to load the InputCellBlob from file only when it's necessary. More... | |
class | InsidePosFromOutsidePosQuery |
The InsidePosFromOutsidePosQuery class finds a valid position inside the boundaries of the NavMesh, at a specified distance from the NavMesh boundary (by boundary we mean hole in the NavMesh. More... | |
class | IntermediateFilesConfig |
The IntermediateFilesConfig class is used by GeneratorRunOptions to store configuration parameters that control whether or not the Generator writes different types of intermediate data to files on disk, where, and how. More... | |
class | IOnDone |
Small interface class that you have to derive from and set to an IQuery to get the IOnDone::OnDone() function called during the World::Update() (in FlushQueries() step) if the query has been completed. More... | |
class | IParallelElementFunctor |
Provides an abstract base interface for an object that treats an element of data that can be passed to an object that derives from IParallelForInterface. More... | |
class | IParallelForInterface |
Provides an abstract base interface for an object that can treat computational jobs in parallel. More... | |
class | IPathEventListObserver |
IPathEventListObservers are called when related PathEventList has just been created or is about to be destroyed. More... | |
class | IPathFinderQuery |
Base class for all pathfinder queries. More... | |
class | IPerfMarkerInterface |
An abstract interface for performance tracking markers. More... | |
class | IPositionOnPathValidator |
Interface class for PositionOnPath validation classes. More... | |
class | IQuery |
Abstract class for all queries. More... | |
class | ITimeSlicedQuery |
Base class for all the queries that need to be time-sliced. More... | |
class | Itinerary |
An itineray is split PathEventIntervalpath where each edge on NavMesh or graph contains a navtag, while path edges can cross multiple navtags. More... | |
class | IVisualGeometry |
IVisualGeometry is an abstract base class that displays Triangles, Lines, and Texts. More... | |
class | IVisualGeometryFactory |
IVisualGeometryFactory is an abstract base class for an object that accepts that can instantiate objects of your own implementation of IVisualGeometry. More... | |
class | KyArray |
General purpose array for movable objects that require explicit construction/destruction. More... | |
class | KyArrayDH |
General purpose array for movable objects that require explicit construction/destruction. More... | |
class | KyArrayDH_POD |
General purpose array for movable objects that DOES NOT require construction/destruction. More... | |
class | KyArrayLH |
General purpose array for movable objects that require explicit construction/destruction. More... | |
class | KyArrayLH_POD |
General purpose array for movable objects that DOES NOT require construction/destruction. More... | |
class | KyArrayPOD |
General purpose array for movable objects that DOES NOT require construction/destruction. More... | |
class | KyGuid |
The KyGuid class represents a globally unique ID. More... | |
class | LivePath |
This class aggregates a Path and all runtime related stuff namely the PathValidityInterval. More... | |
class | LocalCostAwareTraverseLogic |
LocalCostAwareTraverseLogic is a wrapper around the traverse logic set by the user. More... | |
class | LodMaxBlob |
Send this blob to display a shape saying that the visual element with id m_visualDebugId is at LOD max Send visualDebugIdRemovalBlob with this same visualDebugId and blobType LodMaxBlob::GetBlobType() to stop displaying this shape when the lod is back to default. More... | |
class | LogicDoNotUseCanEnterNavTag |
Tag type used for function overloading in templates. It will be set as a nested typedef in CustomTraverseLogic::CanEnterNavTagMode. More... | |
class | LogicDoUseCanEnterNavTag |
Tag type used for function overloading in templates. It will be set as a nested typedef in CustomTraverseLogic::CanEnterNavTagMode. More... | |
class | LogicWithCostPerNavTag |
Tag type used for function overloading in templates. More... | |
class | LogicWithCostPerTriangle |
Tag type used for function overloading in templates. More... | |
class | LogicWithNoCustomCost |
Tag type used for function overloading in templates. More... | |
class | Matrix3x3f |
Matrix3x3f is defined as 3 Transformed Unit Vectors: More... | |
class | MemAlloc |
Multi-platform abstraction of malloc/free/realloc used to allocate "root objects" memory such as sizeof(OneMemoryHeap) used in GeneratorMemoryHeap_System Alloc()/Realloc()/Free() used as fall backs in GeneratorMemoryHeap_Tls and TbbTlsAlloc. More... | |
class | MonodirectionalRayCanGoQuery |
The MonodirectionalRayCanGoQuery is an internal version of the RayCanGoQuery that tests navTag switch along the ray It is used internally in the AstarQuery (refining) to deal with one-way navTagTransition. More... | |
class | MoveOnNavMeshQuery |
This class is used to get move bots on the NavMesh without physics engine. More... | |
class | MoveToNavTagEntryPositionOnPathPredicate |
This predicates allows Move forward to next entry or backward to previous entry of the given NavTag. More... | |
class | MoveToNavTagExitPositionOnPathPredicate |
This predicates allows Move forward to next entry or backward to previous entry of the given NavTag. More... | |
class | MoveToTarget |
Static functions to compute new position, rotation that are closer to a target while respecting a maxMove. More... | |
class | MultipleFloorTrianglesFromPosQuery |
The MultipleFloorTrianglesFromPosQuery class takes a position m_inputPos3f, and finds the triangles in the NavMesh that lie at the same 2d coordinates. More... | |
class | NavCell |
This class is a runtime wrapper of a NavCellBlob. More... | |
class | NavCellBlob |
The NavCellBlob contains the NavMesh static data of a NavMeshElement at a CellPos. More... | |
class | NavCellGrid |
This class is an internal class used to manage all the NavCell in a grid. More... | |
class | NavCellPosInfo |
This object gather all the data located at a CellPos in the CellPos-bases grid of the NavCellGrid object. More... | |
class | NavData |
The NavData class is the object containing navigation data that will be added to one Database. More... | |
class | NavFloor |
This class is a runtime wrapper of a NavFloorBlob, it gathers all the runtime information associated to a NavFloor such links to other NavFloors, SpatializedPoint spatialized in this NavFloor... More... | |
class | NavFloorAABB |
Represents the integer axis-aligned bounding box of a NavFloor. More... | |
class | NavFloorBlob |
The NavFloorBlob contains a connected and not overlapping part of triangle mesh static data within a NavCellBlob. More... | |
class | NavFloorBoxBlob |
Blob to visual debug NavFloor information. More... | |
class | NavFloorPtr |
Each instance of this class uniquely identifies a single NavFloor. More... | |
class | NavFloorRawPtr |
Each instance of this class uniquely identifies a single NavFloor. More... | |
class | NavFloorVisualGeometryBuilder |
Displays a NavFloor. More... | |
class | NavGenProj |
The NavGenProj class is a representation of the input data required for the standalone NavData generation tools supplied with Autodesk Navigation to generate NavData for a terrain. More... | |
class | NavGraph |
This class is a runtime wrapper of a NavGraphBlob, it gathers all the runtime information associated to a NavFloor such links to other NavFloors, SpatializedPoint spatialized in this NavFloor... More... | |
class | NavGraphBlob |
The NavGraphBlob contains the static data of a NavGraph. More... | |
class | NavGraphBlobBuilder |
This class allows you to build a NavGraph, which you can then add to the NavData for a sector. More... | |
class | NavGraphEdgePtr |
Each instance of this class uniquely identifies a single and mono-directionnal NavGraphEdge in a NavGraph. More... | |
class | NavGraphEdgeRawPtr |
Each instance of this class uniquely identifies a single NavGraphEdge in a NavGraph. More... | |
class | NavGraphPtr |
This class uniquely identifies a single NavGraph. More... | |
class | NavGraphRawPtr |
This class uniquely identifies a NavGraph that has been loaded. More... | |
class | NavGraphVertexPtr |
Each instance of this class uniquely identifies a single NavGraphVertex in a NavGraph. More... | |
class | NavGraphVertexRawPtr |
Each instance of this class uniquely identifies a single NavGraphVertex in a NavGraph. More... | |
class | NavHalfEdge |
Each instance of NavHalfEdge represents a single edge of a single triangle within the NavMesh. More... | |
class | NavHalfEdgePtr |
Each instance of this class uniquely identifies a single NavHalfEdge in a NavFloor. More... | |
class | NavHalfEdgeRawPtr |
Each instance of this class uniquely identifies a single NavHalfEdge in a NavFloor. More... | |
class | NavigationProfile |
BaseNavigationProfile and its derivation NavigationProfile<TraverseLogic> is a class that simplifies the customization of the navigation. More... | |
class | NavMeshElement |
This class is a runtime wrapper of a NavMeshElementBlob. More... | |
class | NavMeshElementBlob |
The NavMeshElementBlob contains the NavMesh static data (a set of NavCellBlob) for an element (a GuidCompound) within a sector. More... | |
class | NavMeshElementManager |
This class is a runtime container for the all NavMeshElement that are created from the NavMeshElementBlob added in this Database. More... | |
class | NavMeshGenParameters |
This object indicates the settings used to generate the NavMeshElementBlob, and thereby the physical characteristics and movement model of the characters expected to use the NavMesh at runtime. More... | |
class | NavTagMovePositionOnPathPredicate |
Default implementation of IMovePositionOnPathPredicate interface based on NavTag. More... | |
class | NavTagPtr |
Each instance of this class uniquely identifies a single NavFloor. More... | |
class | NavTagSubSegment |
This class represents a NavTag sub-segment of a ray (within a RayCastQuery or a RayCanGoQuery, carried out against the NavMesh). More... | |
class | NavTrianglePtr |
Each instance of this class uniquely identifies a single NavTriangle in a NavFloor. More... | |
class | NavTriangleRawPtr |
Identifies a single NavTriangle in a NavFloor. More... | |
class | NearestBorderHalfEdgeFromPosQuery |
The NearestBorderHalfEdgeFromPosQuery class finds the NavMesh border nearest a specified 3D position (m_inputPos3f). More... | |
class | ObjFileInputProducer |
ObjFileInputProducer is a concrete implementation of GeneratorInputProducer that can read the triangles contained in a .obj file, and pass them to the ClientInputConsumer. More... | |
class | ObjFileTriangleSoup |
A basic parser of .obj files in text format able to read triangles. More... | |
class | OrientedBox2d |
OrientedBox2d is a 3d box with rotation constrained to be along Z. More... | |
class | PageAlloc |
Multi-platform abstraction of aligned malloc/free/realloc windows (_aligned_malloc, _aligned_free, _aligned_realloc), posix (memalign, reallocalign, free), or handmade alignment used by derivations of SysAlloc Note that this is called with for 4096 byte "page" allocations to group smaller allocations <= 512 bytes but also directly for allocations > 512 bytes So the name PageAlloc is not totally relevant, but the interface has enough information to take advantage of platform specific page allocations. More... | |
class | Path |
The class representing a path. More... | |
class | PathEvent |
A PathEvent is a particular PositionOnPath which feature is specified by a PathEventType. More... | |
class | PathEventInterval |
This class represents an interval between two PathEvents within a PathEventList. More... | |
class | PathEventList |
PathEventList aggregates all PathEvents and PathEventIntervals in a PathValidityInterval. More... | |
class | PathFinderConfig |
Class that aggregates most important parameters that allow to configure the PathFinding of a Bot. More... | |
class | PathFinderQueryUtils |
This class is an helper used internally by the PathFinder Queries to factorize Code. More... | |
class | PathProgressComputer |
PathProgressComputer maintains the progress of a Bot along a Path. More... | |
class | PathProgressConfig |
Class that aggregates parameters that allow to configure the progress of a Bot on its path. More... | |
class | PathValidityInterval |
Maintains runtime validity information on a given Path. More... | |
class | PointOfInterest |
PointOfInterest is a tagged position spatialized into the NavMesh. More... | |
class | PointOfInterestInitConfig |
Class used to provide PointOfInterest initialization parameters. More... | |
class | PositionOnCircleArcSpline |
Maintains a position moving along a given CricleArcSpline. More... | |
class | PositionOnCircleArcSplineSection |
Maintains a position moving along a given CricleArc. More... | |
class | PositionOnLivePath |
This class aggregates all necessary information to describe a position on a LivePath, namely: More... | |
class | PositionOnPath |
This class aggregates all necessary information about a position on a Path. More... | |
class | PositionOnPathCheckPointValidator |
Default implementation of IPositionOnPathValidator interface that use Bot::HasReachedPosition() function and BotConfig::m_checkPointRadius. More... | |
class | PositionSpatializationRange |
Vertical range (above, below) that represents the altitude tolerance for a position to be inside the navmesh. More... | |
class | Profiler |
Small utility class atop Kaim::Timer to profile easily. More... | |
class | ProjConfig |
This class is used by the NavGenProj to store configuration parameters required by the NavData generation process. More... | |
class | ProjMirrorOptions |
This class is used to store parameters if a sector must be mirrored cf. LabEngine::MirroredOBJProducer. More... | |
class | ProjSector |
An instance of this class is used to represent each input geometry file in a NavGenProj. More... | |
class | QueryDynamicOutput |
This class gather the data encountered along some query process. More... | |
class | QueryQueue |
QueryQueue processes queries in an asynchronous, time-sliced way, within a QueryQueueArray. More... | |
class | QueryQueueArray |
QueryQueueArray processes queries in an asynchronous, time-sliced way. More... | |
class | QueryQueueCommand |
class use internal by the QueryQueue to postpone Push/Cancel of Queries until next FlushCommands() step of the World::Update(). More... | |
class | QueryQueueConfig |
Class used to provide QueryQueue initialization parameters. More... | |
class | QueryQueueStats |
This class is used by the Visual Debug system to profileQueryQueue. More... | |
class | QueryUtils |
This class is an helper used internally by the Queries to factorize Code that is used in many Queries. More... | |
class | RadiusProfile |
RadiusProfile is an array of preferred radii. More... | |
class | RadiusProfileArray |
CircleArcSpline computer can compute several CircleArcSplines each corresponding to a specific RadiusProfile. More... | |
class | RadiusProfileCircleArcSplineComputerOutput |
Class aggregating a CircleArcSpline and the corresponding computation result. More... | |
class | RawHalfEdgeIntersection |
and then finally stored as NavTagSubSegment in the QueryDynamicOutput. see HalfEdgeIntersection for detai More... | |
class | RawNavTagSubSegment |
This class is a "volatile" version of the NavTagSubSegment class. More... | |
class | RayCanGoOnSegmentQuery |
The RayCanGoOnSegmentQuery class tests whether or not a ray (with a width of 0) can pass along a straight line segment from a along an edge going from m_segmentStartPos3f to m_segmentEndPos3f, without : More... | |
class | RayCanGoQuery |
The RayCanGoQuery tests if a ray can go from start to dest on the navmesh. More... | |
class | RayCastFull3dQuery |
RayCast in full 3d useful for implementing picking on NavMesh. More... | |
class | RayCastOnSegmentQuery |
The RayCastOnSegmentQuery class tests whether a ray (with a width of 0) can be cast from a starting point (m_startPos3f) along an edge going from m_segmentStartPos3f to m_segmentEndPos3f, without : More... | |
class | RayCastQuery |
The RayCastQuery class tests whether a ray (with a width of 0) can be cast from a starting point (m_startPos3f) in a specified direction (maxMove2D) without: More... | |
class | RayQueryUtils |
This class is an helper used internaly to factorize code of Ray queries (RayCanGoQuery, RayCastGoQuery, ...) More... | |
struct | Result |
Navigation return code class. More... | |
class | ScopedPerfMarker |
calls IPerfMarkerInterface::BeginMarker(name) in constructor, IPerfMarkerInterface::EndMarker() in destructor More... | |
class | ScopedSetPathNavigationProfile |
utility class used to set to the SetNavigationProfileId of the path easily created on the stack at the beginning of the PathFinder::Advance() implementations More... | |
class | SectorDescriptor |
Easy to write/read version of SectorDescriptorBlob. More... | |
class | SectorDescriptorBlob |
Set of Key-Values embedded within in NavData BlobAggregate (serialized form). More... | |
class | SectorInputData |
Maintains the InputCellBlobs spatialized per CellPos for 1 SectorInput. More... | |
class | SegmentCanGoQuery |
The SegmentCanGoQuery class tests whether a line segment-with a specified half-width (m_radius)-can move along a straight line segment from a starting point to an ending point without: More... | |
class | SegmentCastQuery |
The SegmentCastQuery class casts a line segment in a given direction, and records any collisions it detects along the way. More... | |
class | ShapeColor |
Fill and line colors used in visual debug to display shapes. More... | |
class | SharedPoolList |
SharedPoolList represents an ordered list of elements of a single type, drawn as needed from a pre-allocated pool that you provide. More... | |
class | ShortcutTrajectory |
This class computes minimal trajectory made of just one velocity. More... | |
class | ShortcutTrajectoryConfig |
Set of parameters used by the ShortcutTrajectory and TargetOnPathComputer classes to update Bot target on path position. More... | |
class | SimpleTraverseLogic |
SimpleTraverseLogic defines the functions called when the customization is simply: navTag is allowed or forbidden. More... | |
class | SpatializedCylinder |
Internal representation of world elements, using a vertical cylinder shape. More... | |
class | SpatializedCylinderInitConfig |
Class used to initialize a SpatializedCylinder. More... | |
class | SpatializedPoint |
SpatializedPoint is used to the NavTriangle of "object": Bot, CylinderObstacle, BoxObstacle and PointOfInterest NavFloors maintain a collection of SpatializedPoints. More... | |
class | SpatializedPointCollectorInAABBQuery |
The SpatializedPointCollectorInAABBQuery class retrieves all SpatializedPoints within an Axis-Aligned Bounding Box (AABB) that can be reached navigating from a specified starting point, and stores them in a QueryDynamicOutput object. More... | |
class | SpatializedPointInitConfig |
Class used to initialize a SpatializedPoint. More... | |
class | SPL_ConstIterator |
Const iterator on SharedPoolList nodes (SPL stands for SharedPoolList). More... | |
class | SPL_Iterator |
Iterator on SharedPoolList nodes (SPL stands for SharedPoolList). More... | |
class | SplineComputationConfigBlob |
Class that configures Spline geometric parameters. More... | |
class | SplineTrajectory |
SplineTrajectory computes a CircleArcSpline that allows to anticipate and adapt the velocity in the turns. More... | |
class | SplineTrajectoryConfig |
Class that configures how the trajectory is computed from the Channel. More... | |
class | SplineTrajectoryConfigBlob |
Class that configures how the trajectory is computed from the Channel. More... | |
class | SPListNode |
This is the list node used in SharedPoolList implementation (SP stands for SharedPool). More... | |
struct | StringFmt |
usage: MyLogFuncThatTakesCharPtr(StringFmt<32>("my_integer = %d", my_integer).str) More... | |
class | StringPuller |
Computes a StringPulledBubbleList from the provided array of bubbles. More... | |
struct | StringSpan |
Non owning range of char. More... | |
struct | StringSplitSpan |
result of StringSplitFirst, StringSplit More... | |
class | SysAlloc |
The SysAlloc class specifies an interface for allocating and freeing memory. More... | |
class | SysAllocBase |
A base class for an object that manages memory allocations and de-allocations. More... | |
class | SysAllocBase_SingletonSupport |
Adds to the SysAlloc class support for restricting instantiation to a single object. More... | |
class | SysAllocMalloc |
This implementation of SysAlloc is used by default by the BaseSystem to allocate and free memory, if you do not set up the BaseSystem with your own custom implementation of SysAlloc. More... | |
class | TagVolume |
This class represents runtime-defined volumes with customized NavTag. More... | |
class | TagVolumeDatabaseData |
Each TagVolume instance aggregates one instance of this class to maintain its spatialization information in all Database it is bound to. More... | |
class | TagVolumeInitConfig |
TagVolumeInitConfig provides TagVolume initialization parameters. More... | |
class | TagVolumeTrigger |
TagVolumeTrigger is dedicated to TagVolume creation / removal management. More... | |
class | TargetOnPathComputer |
This class updates Bot's target on path so that: More... | |
class | ThinCapsuleWithExtentOffset |
Particuliar class used to represent the ThinCapsule for QueryUtils::IsHalfEdgeCompatibleWithThinCapsule(). More... | |
class | TrackedCollection |
TrackedCollection is a class which is a "Collection" of T=C* or T = Ptr< C > (not sorted, not unique). More... | |
class | Trajectory |
This class computes the trajectory either with ShortcutTrajectory or with SplineTrajectory. More... | |
class | Transform |
Matrix3x3f rotation and Vec3f translation. More... | |
class | TraversalParameters |
An internal class that stores parameters used to control the propagation of traversals. More... | |
class | TraverseLogicWithCostPerNavTag |
TraverseLogicWithCostPerNavTag defines the functions called when cost customization is per NavTag. More... | |
class | TraverseLogicWithCostPerTriangle |
TraverseLogicWithCostPerTriangle defines the functions called when cost customization is per primitive i.e. More... | |
class | Triangle3f |
3d triangle of 32bits floating points More... | |
class | Triangle3i |
3d triangle of 32bits integer points More... | |
class | TriangleFromPosAndTriangleSeedQuery |
Finds a triangle that contains the m_inputPos3f 2d coords by testing m_seedTrianglePtr and m_seedTrianglePtr neighbors. More... | |
class | TriangleFromPosQuery |
The TriangleFromPosQuery class takes a position in the 3D space (m_inputPos3f), and finds the nearest triangle in the NavMesh that covers the same (X,Y) coordinates. More... | |
class | Vec2f |
2d vector using KyFloat32. More... | |
class | Vec2i |
2d vector using KyInt32 More... | |
class | Vec2LL |
2d vector using KyInt64 More... | |
class | Vec3f |
3d vector using 32bits floating points. More... | |
class | Vec3i |
3d vector using 32bits integer More... | |
class | Version |
This class provides information about Autodesk Navigation version. More... | |
class | VisualDebugAttributeGroup |
A group of Key / valuetype / arrayof values, where the keys and types are created once, and values updated whenever. More... | |
class | VisualDebugDataRemovalBlob |
Send this blob to destroy the current visual debug data of type "blobType" in the visual debug element with id "visualDebugId". More... | |
class | VisualDebugServerConfig |
Configure the VisualDebugServer. More... | |
class | VisualGeometryPrimitiveCounts |
VisualGeometryPrimitiveCounts is passed to IVisualGeometry::DoBegin(primitiveCounts) so that the IVisualGeometry derivation has a chance to reserve vertex buffers before DoPushTriangle() DoPushLine() DoPushText() are called. More... | |
class | VisualLine |
Used in IVisualGeometry::DoPushLine(). Coordinates are Navigation (z-up, meters). More... | |
class | VisualText |
Used in IVisualGeometry::DoPushText(). Coordinates are Navigation (z-up, meters). More... | |
class | VisualTriangle |
Used in IVisualGeometry::DoPushTriangle(). Coordinates are Navigation (z-up, meters). More... | |
class | World |
This class is a runtime container for Autodesk Navigation WorldElements such as NavData, Bots, BoxObstacles, TagVolumes... More... | |
class | WorldElement |
Base internal class used to represent elements that can be added to a World, such as instances of Database, Bot, BoxObstacle, CylinderObstacle, TagVolume... More... | |
class | WorldIntegerPos |
Utilities for dealing with NavData coordinates, which are expressed in a world space based on integers. More... | |
Typedefs | |
typedef Vec2i | HeightfieldTilePos |
A type that represents the position of a Tile within a 2D grid. More... | |
typedef Box2i | HeightfieldTileBox |
A type that represents a bounding box around the Tiles of the Heigtfield. More... | |
typedef Vec2i | HeightfieldVertexPos |
A type that represents one of the vertices of a Tile within a 2D grid. More... | |
typedef Box2i | HeightfieldVertexBox |
A type that represents a bounding box around the Vertices of the Heighfield. More... | |
typedef char | Char |
char More... | |
typedef std::int8_t | SByte |
uint8_t More... | |
typedef std::int8_t | SInt8 |
int8_t More... | |
typedef std::int16_t | SInt16 |
int16_t More... | |
typedef std::int32_t | SInt32 |
int32_t More... | |
typedef std::int64_t | SInt64 |
int64_t More... | |
typedef std::uint8_t | UByte |
uint8_t More... | |
typedef std::uint8_t | UInt8 |
uint8_t More... | |
typedef std::uint16_t | UInt16 |
uint16_t More... | |
typedef std::uint32_t | UInt32 |
uint32_t More... | |
typedef std::uint64_t | UInt64 |
uint64_t More... | |
typedef KyUInt32 | CardinalDir |
Defines a type that refers to one of the cardinal points on the compass: More... | |
typedef KyUInt16 | NavGraphVertexLinkType |
Defines a type for a tag that determines whether or not a vertex in a NavGraph should be connected to the NavMesh. More... | |
typedef KyUInt32 | NavGraphVertexIdx |
An index that uniquely identifies a single vertex within the set of vertices owned by a NavGraph. More... | |
typedef Vec2LL | CoordPos64 |
A type that represents the position of a point within the 2D integer grid. More... | |
typedef Box2LL | CoordBox64 |
A type that represents a bounding box in the integer 2D grid. More... | |
typedef Vec2i | CoordPos |
A type that represents the position of a point within the 2D integer grid. More... | |
typedef Box2i | CoordBox |
A type that represents a bounding box in the integer 2D grid. More... | |
typedef KyInt32 | CellCoord |
A type that represents the placement of a cell on one axis of a 2D grid. More... | |
typedef Vec2i | CellPos |
A type that represents the position of a cell within a 2D grid. More... | |
typedef Box2i | CellBox |
A type that represents a bounding box around cells in a 2D grid. More... | |
Functions | |
bool | IsValidGuidString (const char guidStr[]) |
StringSplitSpan | StringSplitFirst (const char *ptr, const char *delimiters) |
returns {ptr, size, true} where ptr[size] == first delimiter found returns {ptr, size, false} where ptr[size] == null if no delimiter can be found More... | |
template<typename F > | |
size_t | StringSplit (const char *ptr, const char *delimiters, const F &callable, StringSplitIgnoreEmpty ignoreEmpty=StringSplitIgnoreEmpty::Yes) |
Calls callable(const StringSpan& span) for each substring separated by one of the delimiters. More... | |
size_t | StringPrintV (char *buffer, size_t buffer_size, const char *format, va_list vlist) |
Writes at most buffer_size chars, always put a null char, returns the number of chars written (not incl the null char) More... | |
template<typename T , KyUInt32 N> | |
KyUInt32 | ArraySize (T(&)[N]) |
Returns the size of a fixed-size array. More... | |
bool | ShowInfoAboutLib () |
Outputs the build mode, target platform, library name, version, and build date of this library. More... | |
const char * | GetNavigationVersion () |
Retrieves a string that contains the version number of this library. More... | |
KyUInt32 | DistanceULP (KyFloat32 a, KyFloat32 b) |
Does not check nan. More... | |
bool | AlmostEqual (KyFloat32 a, KyFloat32 b) |
Does not check nan. More... | |
bool | AlmostEqual (KyFloat32 a, KyFloat32 b, KyUInt32 maxUlps) |
Does not check nan. More... | |
bool | AlmostEqual_nan (KyFloat32 a, KyFloat32 b) |
Does check nan. More... | |
KyFloat32 | Fsel (KyFloat32 a, KyFloat32 x, KyFloat32 y) |
x if a>=0.0f, y if a<0.0f More... | |
KyInt32 | Isel (KyInt32 a, KyInt32 x, KyInt32 y) |
If a is greater than 0, returns x. More... | |
KyInt64 | Lsel (KyInt64 a, KyInt64 x, KyInt64 y) |
If a is greater than 0, returns x. More... | |
KyInt64 | Lsign (KyInt64 x) |
return -1 if x<0, 0 if x==0, 1 if x>0 More... | |
KyFloat32 | RadFromDeg (KyFloat32 degrees) |
Converts degrees into radians. More... | |
KyFloat32 | DegFromRad (KyFloat32 radians) |
Converts radians into degrees. More... | |
KyInt32 | Side (const Vec2i &P, const Vec2i &A, const Vec2i &B) |
P relative to AB: left=1, on=0, right=-1. More... | |
bool | ResetTrajectoryStatus_Failed (ResetTrajectoryStatus status) |
Note that ResetTrajectoryStatus_Pending is not considered as a failure here, since it succeeded so far, and could be a complete success. More... | |
bool | ResetTrajectoryStatus_Succeeded (ResetTrajectoryStatus status) |
Note that ResetTrajectoryStatus_Pending is not considered as a success here, since it could failed in next frames. More... | |
bool | ShouldTryCanGo (const PathFinderQueryTryCanGoMode &mode, bool traverse_logic_try_can_go) |
ShouldTryCanGo function should be called from functions templated with TraverseLogic the following way: ShouldTryCanGo(mode, typename TraverseLogic::CostMultiplierUsage()) More... | |
Variables | |
static const CardinalDir | CardinalDir_EAST = 0 |
X positive axis. More... | |
static const CardinalDir | CardinalDir_NORTH = 1 |
Y positive axis. More... | |
static const CardinalDir | CardinalDir_WEST = 2 |
X negative axis. More... | |
static const CardinalDir | CardinalDir_SOUTH = 3 |
Y negative axis. More... | |
static const CardinalDir | CardinalDir_INVALID = 0xFFFFFFFF |
Invalid cardinal direction. More... | |
static const KyFloat32 | KY_PI = 3.14159265f |
Stores the value of pi. More... | |
static const KyFloat32 | KY_2_PI = 2.0f * KY_PI |
Stores the value of 2*pi. More... | |
static const KyFloat32 | KY_PI_DIVIDED_BY_180 = KY_PI / 180.0f |
Stores the value of KY_PI divided by 180. More... | |
static const KyFloat32 | KY_180_DIVIDED_BY_PI = 180.0f / KY_PI |
Stores the value of 180 divided by KY_PI. More... | |
static const NavGraphVertexLinkType | NavGraphVertexLinkType_NoLink = 0 |
Indicates that this vertex should not be connected to the NavMesh. More... | |
static const NavGraphVertexLinkType | NavGraphVertexLinkType_LinkToNavMesh = 1 |
Indicates that this vertex should be connected to the NavMesh. If the vertex is outside, we try to link it inside. More... | |
static const NavGraphVertexIdx | NavGraphVertexIdx_Invalid = (NavGraphVertexIdx)CompactNavGraphVertexIdx_MAXVAL |
Represents an invalid NavGraphVertexIdx. More... | |
static const KyInt32 | InvalidCoord = 0x7FFFFFFF |
Represents an invalidCoord object. More... | |
static const KyInt32 | InvalidPixelCoord = 0x7FFFFFFF |
Represents an invalidPixelCoord object. More... | |
static const KyInt32 | InvalidCellCoord = 0x7FFFFFFF |
Represents an invalidCellCoord object. More... | |
static const KyUInt32 | PointOfInterestType_Undefined = 0 |
The default value of PointOfInterest type. More... | |
static const KyUInt32 | PointOfInterestType_FirstClient = 16 |
The first customizable PointOfInterest type value. More... | |
inline implementation | |
template<class T > | |
void | SwapEndianness (Endianness::Target e, BlobArray< T > &self) |
template<class ArrayT , class BlobArrayT > | |
void | InitArrayFromBlobArray_Assign (ArrayT &kyArray, const BlobArrayT &blobArray) |
template<class ArrayT , class BlobArrayT > | |
void | InitArrayFromBlobArray_InitFromBlob (ArrayT &kyArray, const BlobArrayT &blobArray) |
template<class ArrayT , class BlobArrayT > | |
void | InitArrayFromBlobArray_String (ArrayT &kyArray, const BlobArrayT &blobArray) |
template<class T > | |
void | SwapEndianness (Endianness::Target e, BlobRef< T > &self) |
Channel array blob | |
void | SwapEndianness (Endianness::Target e, ChannelArrayBlob &self) |
KyArrayDefaultPolicy | |
typedef ArrayConstPolicy< 0, 4, true > | KyArrayDefaultPolicy |
Default resize behavior for Autodesk Navigation array. More... | |
Global Functions | |
Vec2f | operator* (KyFloat32 s, const Vec2f &v) |
scalar * vec operator More... | |
KyFloat32 | DotProduct (const Vec2f &v1, const Vec2f &v2) |
KyFloat32 | CrossProduct (const Vec2f &v1, const Vec2f &v2) |
KyFloat32 | CrossProduct_z (const Vec2f &v1, const Vec2f &v2) |
alias for CrossProduct, useful in some template functions More... | |
Vec2f | Seg (const Vec2f &A, const Vec2f &B) |
Vec3f | operator* (KyFloat32 s, const Vec3f &v) |
KyFloat32 | DotProduct (const Vec3f &v1, const Vec3f &v2) |
KyFloat32 | DotProduct2d (const Vec3f &v1, const Vec3f &v2) |
Returns DotProduct(v1.Get2d(), v1.Get2d()) More... | |
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 | CrossProduct2d (const Vec3f &v1, const Vec3f &v2) |
Vec3f | CrossProduct (const Vec3f &v1, const Vec3f &v2) |
Vec3f | Seg (const Vec3f &A, const Vec3f &B) |
Vec3f | RightDir (const Vec3f &v) |
Returns the normalized horizontal vector on the right of v. If v is vertical, this return Vec3f::Zero() More... | |
KyFloat32 | SquareDistance (const Vec3f &A, const Vec3f &B) |
KyFloat32 | SquareDistance2d (const Vec3f &A, const Vec3f &B) |
KyFloat32 | Distance (const Vec3f &A, const Vec3f &B) |
KyFloat32 | Distance2d (const Vec3f &A, const Vec3f &B) |
Vec3f | Dir (const Vec3f &A, const Vec3f &B) |
Returns the normalized direction AB. More... | |
Vec2f | Dir2d (const Vec3f &A, const Vec3f &B) |
Returns the normalized direction AB in 2d. More... | |
bool | IsEpsilonEqual (const Vec3f &A, const Vec3f &B) |
bool | IsEpsilonEqual2d (const Vec3f &A, const Vec3f &B) |
bool | IsEpsilonDifferent (const Vec3f &A, const Vec3f &B) |
bool | IsEpsilonDifferent2d (const Vec3f &A, const Vec3f &B) |
Distance and Direction | |
KyFloat32 | SquareDistance (const Vec2f &A, const Vec2f &B) |
Returns the square of the distance between A and B. More... | |
KyFloat32 | Distance (const Vec2f &A, const Vec2f &B) |
Returns the distance between A and B. More... | |
Vec2f | GetNormalized (const Vec2f &v) |
Returns normalized v, returns {0.0f, 0.0f} if v is zero. More... | |
Vec2f | Dir (const Vec2f &A, const Vec2f &B) |
Returns the normalized direction AB, returns zero if A == B. More... | |
bool | IsEpsilonZero (const Vec2f &v) |
bool | IsEpsilonEqual (const Vec2f &v1, const Vec2f &v2) |
bool | IsEpsilonDifferent (const Vec2f &A, const Vec2f &B) |
Angles and Rotation | |
KyFloat32 | GetPositiveAngleCCW (const Vec2f &v1, const Vec2f &v2) |
Returns the positive angle in [0,2PI[ of the CounterClockwise rotation from v1 to v2. More... | |
KyFloat32 | GetPositiveAngleCW (const Vec2f &v1, const Vec2f &v2) |
Returns the positive angle in [0,2PI[ of the Clockwise rotation from v1 to v2. More... | |
KyFloat32 | GetPositiveAngle (const Vec2f &v1, const Vec2f &v2, Winding::Enum winding) |
Returns the positive angle in [0,2PI[ of the CounterClockwise or Clockwise rotation from v1 to v2. In radians. More... | |
KyFloat32 | GetSignedAngle (const Vec2f &v1, const Vec2f &v2, Winding::Enum winding) |
Returns the signed (>0 for CCW <0 for CW) angle in ]-2PI,2PI[ of the CounterClockwise or Clockwise rotation from v1 to v2. In radians. More... | |
void | Rotate (Vec2f &v, KyFloat32 cosAngle, KyFloat32 sinAngle) |
Rotate v by the provided cosAngle, sinAngle. Positive angles rotate CCW. More... | |
Vec2f | BisectorCCW (const Vec2f &dir1, const Vec2f &dir2) |
Vec2f | BisectorCCW (const Vec2f &A, const Vec2f &B, const Vec2f &C) |
bool | Dir2dLessCCW (const Vec2f &dir_ref, const Vec2f &dir_a, const Vec2f &dir_b) |
Returns true when the CCW angle (dir_ref, dir_a) is strictly less than CCW angle (dir_ref, dir_b). More... | |
bool | Dir2dLessCW (const Vec2f &dir_ref, const Vec2f &dir_a, const Vec2f &dir_b) |
Returns true when the CW angle (dir_ref, dir_a) is strictly less than CCW angle (dir_ref, dir_b). More... | |
Global Functions Shorter Names | |
KyFloat32 | Dot (const Vec2f &v1, const Vec2f &v2) |
KyFloat32 | Cross_z (const Vec2f &v1, const Vec2f &v2) |
KyFloat32 | Cross (const Vec2f &v1, const Vec2f &v2) |
KyFloat32 | SqDist (const Vec2f &A, const Vec2f &B) |
KyFloat32 | Dist (const Vec2f &A, const Vec2f &B) |
KyFloat32 | Dot (const Vec3f &v1, const Vec3f &v2) |
KyFloat32 | Dot2d (const Vec3f &v1, const Vec3f &v2) |
KyFloat32 | Cross_x (const Vec3f &v1, const Vec3f &v2) |
KyFloat32 | Cross_y (const Vec3f &v1, const Vec3f &v2) |
KyFloat32 | Cross_z (const Vec3f &v1, const Vec3f &v2) |
KyFloat32 | Cross2d (const Vec3f &v1, const Vec3f &v2) |
Vec3f | Cross (const Vec3f &v1, const Vec3f &v2) |
KyFloat32 | SqDist (const Vec3f &A, const Vec3f &B) |
KyFloat32 | SqDist2d (const Vec3f &A, const Vec3f &B) |
KyFloat32 | Dist (const Vec3f &A, const Vec3f &B) |
KyFloat32 | Dist2d (const Vec3f &A, const Vec3f &B) |
DynamicNavHalfEdge | |
enum | DynamicNavHalfEdgeType |
vertex Index in the Floor | |
typedef KyUInt16 | CompactNavVertexIdx |
typedef KyUInt32 | NavVertexIdx |
An index that uniquely identifies a single vertex of a triangle within the set of vertices owned by a NavFloor. More... | |
static const CompactNavVertexIdx | CompactNavVertexIdx_MAXVAL = 0x0FFF |
static const NavVertexIdx | NavVertexIdx_Invalid = (NavVertexIdx)CompactNavVertexIdx_MAXVAL |
Represents an invalid NavVertexIdx. More... | |
bool | IsNavVertexIdxValid (const NavVertexIdx idx) |
HalfEdge Index in the Floor | |
typedef KyUInt16 | CompactNavHalfEdgeIdx |
typedef KyUInt32 | NavHalfEdgeIdx |
An index that uniquely identifies a single edge of a triangle within the set of edges owned by a NavFloor. More... | |
static const CompactNavHalfEdgeIdx | CompactNavHalfEdgeIdx_MAXVAL = 0x3FFF |
static const NavHalfEdgeIdx | NavHalfEdgeIdx_Invalid = (NavHalfEdgeIdx)CompactNavHalfEdgeIdx_MAXVAL |
Represents an invalid NavHalfEdgeIdx. More... | |
bool | IsNavHalfEdgeIdxValid (const NavHalfEdgeIdx idx) |
Indicates whether or not the specified NavHalfEdgeIdx is valid. More... | |
Triangle Index in the Floor | |
typedef KyUInt16 | CompactNavTriangleIdx |
typedef KyUInt32 | NavTriangleIdx |
An index that uniquely identifies a single triangle within the set of triangles owned by a NavFloor. More... | |
typedef KyUInt16 | CompactNavConnexIdx |
typedef KyUInt32 | NavConnexIdx |
An index that uniquely identifies a single triangle within the set of triangles owned by a NavFloor. More... | |
static const CompactNavTriangleIdx | CompactNavTriangleIdx_MAXVAL = 0xFFFF |
static const NavTriangleIdx | NavTriangleIdx_Invalid = (NavTriangleIdx)CompactNavVertexIdx_MAXVAL |
Represents an invalid NavTriangleIdx. More... | |
static const CompactNavConnexIdx | CompactNavConnexIdx_MAXVAL = 0xFFFF |
static const NavConnexIdx | NavConnexIdx_Invalid = (NavConnexIdx)CompactNavVertexIdx_MAXVAL |
Represents an invalid NavConnexIdx. More... | |
bool | IsNavTriangleIdxValid (const NavTriangleIdx idx) |
Indicates whether or not the specified NavTriangleIdx is valid. More... | |
Floor Index in the Cell | |
typedef KyUInt32 | NavFloorIdx |
An index that uniquely identifies a single NavFloor within the set of NavFloors owned by a NavCell. More... | |
static const NavFloorIdx | NavFloorIdx_Invalid = 0xFFFFFFFF |
Represents an invalid NavFloorIdx. More... | |
bool | IsNavFloorIdxValid (const NavFloorIdx idx) |
Indicates whether or not the specified NavFloorIdx is valid. More... | |
NavCellBlob Index in a NavMeshElement | |
typedef KyUInt32 | NavCellIdx |
An index that uniquely identifies a single NavCell within the set of NavCells owned by a NavMesh. More... | |
static const NavCellIdx | NavCellIdx_Invalid = 0xFFFFFFFF |
Represents an invalid NavCellIdx. More... | |
bool | IsNavCellIdxValid (const NavCellIdx idx) |
Indicates whether or not the specified NavCellIdx is valid. More... | |
index of a Cell in the buffer of ActiveData | |
typedef KyUInt32 | CellIdxInActiveData |
static const CellIdxInActiveData | CellIdxInActiveData_Invalid = 0x0FFFFFFF |
Id of connected component | |
typedef KyUInt32 | ConnectedComponentId |
static const ConnectedComponentId | ConnectedComponent_UNDEFINED = 0xFFFFFFFF |
static const ConnectedComponentId | ConnectedComponent_TRAVERSALOPEN = 0xFFFFFFFF - 1 |
template<int BitIdx> | |
void | SetBitInMask (KyUInt8 &mask) |
template<int BitIdx> | |
void | UnSetBitInMask (KyUInt8 &mask) |
template<int BitIdx> | |
bool | IsBitSetInMask (KyUInt8 mask) |
template<int BitIdx> | |
void | SetBitInMask (KyUInt16 &mask) |
template<int BitIdx> | |
void | UnSetBitInMask (KyUInt16 &mask) |
template<int BitIdx> | |
bool | IsBitSetInMask (KyUInt16 mask) |
template<int BitIdx> | |
void | SetBitInMask (KyUInt32 &mask) |
template<int BitIdx> | |
void | UnSetBitInMask (KyUInt32 &mask) |
template<int BitIdx> | |
bool | IsBitSetInMask (KyUInt32 mask) |
typedef KyUInt32 Kaim::CardinalDir |
Defines a type that refers to one of the cardinal points on the compass:
typedef Box2i Kaim::CellBox |
A type that represents a bounding box around cells in a 2D grid.
typedef KyInt32 Kaim::CellCoord |
A type that represents the placement of a cell on one axis of a 2D grid.
typedef Vec2i Kaim::CellPos |
A type that represents the position of a cell within a 2D grid.
typedef char Kaim::Char |
char
typedef Box2i Kaim::CoordBox |
A type that represents a bounding box in the integer 2D grid.
typedef Box2LL Kaim::CoordBox64 |
A type that represents a bounding box in the integer 2D grid.
typedef Vec2i Kaim::CoordPos |
A type that represents the position of a point within the 2D integer grid.
typedef Vec2LL Kaim::CoordPos64 |
A type that represents the position of a point within the 2D integer grid.
typedef Box2i Kaim::HeightfieldTileBox |
A type that represents a bounding box around the Tiles of the Heigtfield.
typedef Vec2i Kaim::HeightfieldTilePos |
A type that represents the position of a Tile within a 2D grid.
typedef Box2i Kaim::HeightfieldVertexBox |
A type that represents a bounding box around the Vertices of the Heighfield.
typedef Vec2i Kaim::HeightfieldVertexPos |
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 Autodesk Navigation array.
No minimal capacity, Granularity=4, Never Shrinking.
typedef KyUInt32 Kaim::NavCellIdx |
An index that uniquely identifies a single NavCell within the set of NavCells owned by a NavMesh.
typedef KyUInt32 Kaim::NavConnexIdx |
An index that uniquely identifies a single triangle within the set of triangles owned by a NavFloor.
typedef KyUInt32 Kaim::NavFloorIdx |
typedef KyUInt32 Kaim::NavGraphVertexIdx |
An index that uniquely identifies a single vertex within the set of vertices owned by a NavGraph.
typedef KyUInt16 Kaim::NavGraphVertexLinkType |
Defines a type for a tag that determines whether or not a vertex in a NavGraph should be connected to the NavMesh.
typedef KyUInt32 Kaim::NavHalfEdgeIdx |
An index that uniquely identifies a single edge of a triangle within the set of edges owned by a NavFloor.
typedef KyUInt32 Kaim::NavTriangleIdx |
An index that uniquely identifies a single triangle within the set of triangles owned by a NavFloor.
typedef KyUInt32 Kaim::NavVertexIdx |
An index that uniquely identifies a single vertex of a triangle within the set of vertices owned by a NavFloor.
typedef std::int8_t Kaim::SByte |
uint8_t
typedef std::int16_t Kaim::SInt16 |
int16_t
typedef std::int32_t Kaim::SInt32 |
int32_t
typedef std::int64_t Kaim::SInt64 |
int64_t
typedef std::int8_t Kaim::SInt8 |
int8_t
typedef std::uint8_t Kaim::UByte |
uint8_t
typedef std::uint16_t Kaim::UInt16 |
uint16_t
typedef std::uint32_t Kaim::UInt32 |
uint32_t
typedef std::uint64_t Kaim::UInt64 |
uint64_t
typedef std::uint8_t Kaim::UInt8 |
uint8_t
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. |
Typically there is one QueryQueue for each AsyncQueryDispatchId.
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. |
AvoidanceWorkspaceAddColliderResult.
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.
Enumerates the possible up-axis definition for a BoxObstacle.
This determines the sampling of yaw-rotating BoxObstacles.
enum Kaim::BubbleType |
Defines the type of a bubble accordingly to the place it has in a BubbleArray, a BubbleList, etc.
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 possible ways a RayCanGoQuery can compute the cost of following the ray.
Enumerates the possible axis orientations that can be assigned to m_clientAxisForNavigationX, m_clientAxisForNavigationX and m_clientAxisForNavigationX axes used within Autodesk Navigation.
Used in calls to CoordSystem::Init().
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.
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.
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.
Enumerates the possible results of a DiskExpansionQuery.
Indicates if the display list is active or not.
If DisplayList_Disable is used the DisplayList won't be sent to the NavigationLab, this is useful when you want to dynamically switch on/off the use of the DisplayList.
Enumerator | |
---|---|
DisplayList_Disable |
Calls on the DisplayList will do nothing. |
DisplayList_Enable |
The display list is activated. |
Enumerates the possible results of a DynamicNavMeshQuery.
Enumerates possible ways of storing collected data by a query in a QueryDynamicOutput object.
Enumerator | |
---|---|
QUERY_SAVE_NOTHING |
do not store anything |
QUERY_SAVE_FLOORS |
store NavFloorPtr array |
QUERY_SAVE_TRIANGLES |
store NavFloorTrianglePtr array |
QUERY_SAVE_NAVTAGSUBSEGMENTS |
store NavTagSubSegment array |
QUERY_SAVE_HALFEDGEINTERSECTIONS |
store triangle edges intersections as Vec3f array |
QUERY_SAVE_COSTMULTIPLIERSUBSEGMENTS |
store CostMultiplierSubSegment array |
QUERY_SAVE_SPATIALIZEDPOINTS |
store SpatializedPoint array |
QUERY_SAVE_TAGVOLUMES |
store TagVolume array |
QUERY_SAVE_TRIANGLES_AND_SUBSEGMENTS |
store NavFloorTrianglePtr and NavTagSubSegment arrays |
enum Kaim::FileOpenerMode |
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. |
GameKitCrowdDispersionLogicAction.
enum Kaim::GateType |
Enumerates the different kind of Gates.
Enumerator | |
---|---|
UndefinedGateType |
Indicates the Gate is not defined. |
StartGate | |
EndGate | |
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.
Defines the relative position of a direction, given a rotation direction and bounding directions.
Enumerates the possible results of a MakeNavFloorStitchQuery.
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.
Usually only one of MultiDestinationPathFinderFinalOutput values is useful, but for debug purpose, it is possible to pass several of them.
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_NEXT_DESTINATION |
Indicates that initial CanGoQuery did not reach a dest from start, so a path must be built from the traversal. |
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_RESETCOST |
Indicates that the cost from nodes that are on navMesh are beeing recomputed since they may have been replaced on middle of edges. |
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.
Enumerates the possible ways that a MultipleFloorTrianglesFromPosQuery chooses which triangles to retrieve.
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.
Enumerates the possible results of a NearestBorderHalfEdgeFromPosQuery.
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.
|
related |
Defines the different kind of PathEdge within a 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. |
enum Kaim::PathEventType |
Defines the different kinds of PathEvent.
Enumerator | |
---|---|
PathEventType_Undefined |
The PathEvent is not yet defined. |
PathEventType_NavGraphVertex | |
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). |
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)
This enums tells if a RayCanGoQuery should be performed from start position to destination position before launching a traversal.
This can be used to speed up pathfinding when supported by the query, at the price of correctness since 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, PATHFINDER_TRY_RAYCANGO_IF_NO_COST is used, so RayCanGoQuery is done only if the TraverseLogic does NOT support cost multipliers (i.e. inherits from SimpleTraverseLogic)
Enumerator | |
---|---|
PATHFINDER_TRY_RAYCANGO_IF_NO_COST |
Try RayCanGoQuery if TraverseLogic does not supports cost multipliers (cf. SimpleTraverseLogic). Default behavior. |
PATHFINDER_NEVER_TRY_RAYCANGO |
Never try RayCanGoQuery particularly adapted if user knows there are high altitude differences which would influence costs independently from TraverseLogic. |
PATHFINDER_ALWAYS_TRY_RAYCANGO |
Always try RayCanGoQuery, speeds up the PathFinder when a CanGo from Start to Dest succeeds. |
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. |
enum Kaim::PathSource |
Enumerates the possible source for a new Path.
Enumerator | |
---|---|
PathSource_NoPath |
The Path has not been set yet or has been Cleared. |
PathSource_BotComputed |
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:
|
Dirty_InvalidBeforeProgress_ProcessingAfter |
The Path validity around the progress of the bot on path is limited:
|
Dirty_InvalidBeforeProgress_ValidAfter |
The Path validity around the progress of the bot on path is limited:
|
Dirty_ValidBeforeProgress_InvalidAfter |
The Path validity around the progress of the bot on path is limited:
|
Dirty_InvalidBeforeAndAfterProgress |
The Path validity around the progress of the bot on path is limited: both backward and forward validation browsing failed. |
< 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.
Enumerates the different states a query may have in a QueryQueue.
enum Kaim::QueryType |
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.
Enumerates the possible results of a RayCanGoQuery.
Enumerates the possible results of a RayCast3dQuery.
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.
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 (and channel if any) as well. |
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.
Enumerates the possible results of a SegmentCastQuery.
Enumerates the possible results of a SpatializedPointCollectorInAABBQuery.
Enumerates the possible object types the SpatializedPoint refers to.
Enumerates the SplineTrajectory start constraint direction modes.
TagVolumeExtendOptions.
Enumerates the possible results of a TagVolumesFromPosQuery.
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 the Trajectory cannot follow the path e.g.
Bot is unexpectedly out of NavMesh or current Trajectory is driving Bot after the UpperBound
enum Kaim::TrajectoryMode |
Enum that defines the 2 possible Trajectory modes.
TrajectoryMode_Shortcut computes a straight line from the bot to a point ahead 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 |
The query has not yet been initialized. |
NEARESTTRIANGLEFROMSEED_NOT_PROCESSED |
The query has not yet been launched. |
NEARESTTRIANGLEFROMSEED_DONE_SEED_INVALID |
An invalid NavTrianglePtr was provided as the seed point; the query cannot be processed. |
NEARESTTRIANGLEFROMSEED_DONE_NO_TRIANGLE_FOUND |
The query completed, no triangle was found. |
NEARESTTRIANGLEFROMSEED_DONE_LACK_OF_WORKING_MEMORY |
Insufficient working memory caused the query to stop. |
NEARESTTRIANGLEFROMSEED_DONE_TRIANGLE_FOUND |
The query completed, a triangle was found. |
Enumerates the possible results of a TriangleFromPosQuery.
Enumerates the possible ways a TriangleFromPosQuery can choose the triangle it retrieves.
enum Kaim::VisualDebugLOD |
Enumerates the visual debug levels of details.
Enumerates the WorldElement types.
|
inline |
Returns the size of a fixed-size array.
alias for CrossProduct, useful in some template functions
Returns the normalized direction AB, returns zero if A == B.
Returns the normalized direction AB in 2d.
Returns true when the CCW angle (dir_ref, dir_a) is strictly less than CCW angle (dir_ref, dir_b).
Returns true when the CW angle (dir_ref, dir_a) is strictly less than CCW angle (dir_ref, dir_b).
Returns the distance between A and B.
Returns DotProduct(v1.Get2d(), v1.Get2d())
const char* Kaim::GetNavigationVersion | ( | ) |
Retrieves a string that contains the version number of this library.
Returns normalized v, returns {0.0f, 0.0f} if v is zero.
|
inline |
Returns the positive angle in [0,2PI[ of the CounterClockwise or Clockwise rotation from v1 to v2. In radians.
Returns the positive angle in [0,2PI[ of the CounterClockwise rotation from v1 to v2.
In radians.
Returns the positive angle in [0,2PI[ of the Clockwise rotation from v1 to v2.
In radians.
Returns the signed (>0 for CCW <0 for CW) angle in ]-2PI,2PI[ of the CounterClockwise or Clockwise rotation from v1 to v2. In radians.
If a is greater than 0, returns x.
Otherwise, returns y. WARNING: can overflow because (y - x) is computed internally.
|
inline |
Indicates whether or not the specified NavCellIdx is valid.
|
inline |
Indicates whether or not the specified NavFloorIdx is valid.
|
inline |
Indicates whether or not the specified NavHalfEdgeIdx is valid.
|
inline |
Indicates whether or not the specified NavTriangleIdx is valid.
bool Kaim::IsValidGuidString | ( | const char | guidStr[] | ) |
If a is greater than 0, returns x.
Otherwise, returns y. WARNING: can overflow because (y - x) is computed internally.
|
inline |
Note that ResetTrajectoryStatus_Pending is not considered as a failure here, since it succeeded so far, and could be a complete success.
|
inline |
Note that ResetTrajectoryStatus_Pending is not considered as a success here, since it could failed in next frames.
Returns the normalized horizontal vector on the right of v. If v is vertical, this return Vec3f::Zero()
Rotate v by the provided cosAngle, sinAngle. Positive angles rotate CCW.
|
inline |
ShouldTryCanGo function should be called from functions templated with TraverseLogic the following way: ShouldTryCanGo(mode, typename TraverseLogic::CostMultiplierUsage())
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.
P relative to AB: left=1, on=0, right=-1.
Returns the square of the distance between A and B.
|
inline |
Writes at most buffer_size chars, always put a null char, returns the number of chars written (not incl the null char)
|
inline |
Calls callable(const StringSpan& span) for each substring separated by one of the delimiters.
If no delimiters is found, callable() is called with the entire string. Returns the number of calls to callable()
|
inline |
returns {ptr, size, true} where ptr[size] == first delimiter found returns {ptr, size, false} where ptr[size] == null if no delimiter can be found
|
static |
X positive axis.
|
static |
Invalid cardinal direction.
|
static |
Y positive axis.
|
static |
Y negative axis.
|
static |
X negative axis.
|
static |
Represents an invalidCellCoord object.
|
static |
Represents an invalidCoord object.
|
static |
Represents an invalidPixelCoord object.
|
static |
Stores the value of 180 divided by KY_PI.
|
static |
Stores the value of 2*pi.
|
static |
Stores the value of pi.
Stores the value of KY_PI divided by 180.
|
static |
Represents an invalid NavCellIdx.
|
static |
Represents an invalid NavConnexIdx.
|
static |
Represents an invalid NavFloorIdx.
|
static |
Represents an invalid NavGraphVertexIdx.
|
static |
Indicates that this vertex should be connected to the NavMesh. If the vertex is outside, we try to link it inside.
|
static |
Indicates that this vertex should not be connected to the NavMesh.
|
static |
Represents an invalid NavHalfEdgeIdx.
|
static |
Represents an invalid NavTriangleIdx.
|
static |
Represents an invalid NavVertexIdx.
Indicates whether or not the specified NavVertexIdx is valid.
|
static |
The first customizable PointOfInterest type value.
|
static |
The default value of PointOfInterest type.