22#ifndef DETOUROBSTACLEAVOIDANCE_H
23#define DETOUROBSTACLEAVOIDANCE_H
82static const int DT_MAX_PATTERN_DIVS = 32;
83static const int DT_MAX_PATTERN_RINGS = 4;
84static const int DT_MAX_CUSTOM_SAMPLES = 16;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
double dtReal
Definition DetourLargeWorldCoordinates.h:15
NAVMESH_API void dtFreeObstacleAvoidanceQuery(dtObstacleAvoidanceQuery *ptr)
Definition DetourObstacleAvoidance.cpp:199
NAVMESH_API dtObstacleAvoidanceDebugData * dtAllocObstacleAvoidanceDebugData()
Definition DetourObstacleAvoidance.cpp:70
NAVMESH_API dtObstacleAvoidanceQuery * dtAllocObstacleAvoidanceQuery()
Definition DetourObstacleAvoidance.cpp:192
NAVMESH_API void dtFreeObstacleAvoidanceDebugData(dtObstacleAvoidanceDebugData *ptr)
Definition DetourObstacleAvoidance.cpp:77
Definition DetourObstacleAvoidance.h:45
const dtReal * getSampleVelocity(const int i) const
Definition DetourObstacleAvoidance.h:58
dtReal getSamplePenalty(const int i) const
Definition DetourObstacleAvoidance.h:60
dtReal getSamplePreferredSidePenalty(const int i) const
Definition DetourObstacleAvoidance.h:63
dtReal getSampleSize(const int i) const
Definition DetourObstacleAvoidance.h:59
NAVMESH_API void reset()
Definition DetourObstacleAvoidance.cpp:139
dtReal getSampleCurrentVelocityPenalty(const int i) const
Definition DetourObstacleAvoidance.h:62
int getSampleCount() const
Definition DetourObstacleAvoidance.h:57
NAVMESH_API bool init(const int maxSamples)
Definition DetourObstacleAvoidance.cpp:109
dtReal getSampleDesiredVelocityPenalty(const int i) const
Definition DetourObstacleAvoidance.h:61
NAVMESH_API void normalizeSamples()
Definition DetourObstacleAvoidance.cpp:182
dtReal getSampleCollisionTimePenalty(const int i) const
Definition DetourObstacleAvoidance.h:64
NAVMESH_API ~dtObstacleAvoidanceDebugData()
Definition DetourObstacleAvoidance.cpp:98
NAVMESH_API dtObstacleAvoidanceDebugData()
Definition DetourObstacleAvoidance.cpp:85
NAVMESH_API void addSample(const dtReal *vel, const dtReal ssize, const dtReal pen, const dtReal vpen, const dtReal vcpen, const dtReal spen, const dtReal tpen)
Definition DetourObstacleAvoidance.cpp:144
Definition DetourObstacleAvoidance.h:109
const dtObstacleSegment * getObstacleSegment(const int i)
Definition DetourObstacleAvoidance.h:158
int sampleVelocity(const dtReal *pos, const dtReal rad, const dtReal vmax, const dtReal vmult, const dtReal *vel, const dtReal *dvel, dtReal *nvel, const dtObstacleAvoidanceParams *params, dtObstacleAvoidanceDebugData *debug=0)
Definition DetourObstacleAvoidance.h:143
NAVMESH_API void addCircle(const dtReal *pos, const dtReal rad, const dtReal *vel, const dtReal *dvel)
Definition DetourObstacleAvoidance.cpp:257
NAVMESH_API bool getCustomSamplingPattern(int idx, dtReal *angles, dtReal *radii, int *nsamples)
Definition DetourObstacleAvoidance.cpp:443
NAVMESH_API dtObstacleAvoidanceQuery()
Definition DetourObstacleAvoidance.cpp:207
int getObstacleSegmentCount() const
Definition DetourObstacleAvoidance.h:157
NAVMESH_API int sampleVelocityAdaptive(const dtReal *pos, const dtReal rad, const dtReal vmax, const dtReal vmult, const dtReal *vel, const dtReal *dvel, dtReal *nvel, const dtObstacleAvoidanceParams *params, dtObstacleAvoidanceDebugData *debug=0)
Definition DetourObstacleAvoidance.cpp:520
int getCustomPatternCount() const
Definition DetourObstacleAvoidance.h:161
NAVMESH_API ~dtObstacleAvoidanceQuery()
Definition DetourObstacleAvoidance.cpp:219
NAVMESH_API bool setCustomSamplingPattern(int idx, const dtReal *angles, const dtReal *radii, int nsamples)
Definition DetourObstacleAvoidance.cpp:428
NAVMESH_API int sampleVelocityCustom(const dtReal *pos, const dtReal rad, const dtReal vmax, const dtReal vmult, const dtReal *vel, const dtReal *dvel, dtReal *nvel, const dtObstacleAvoidanceParams *params, dtObstacleAvoidanceDebugData *debug=0)
Definition DetourObstacleAvoidance.cpp:455
NAVMESH_API void addSegment(const dtReal *p, const dtReal *q, int flags=0)
Definition DetourObstacleAvoidance.cpp:270
NAVMESH_API void reset()
Definition DetourObstacleAvoidance.cpp:251
const dtObstacleCircle * getObstacleCircle(const int i)
Definition DetourObstacleAvoidance.h:155
int getObstacleCircleCount() const
Definition DetourObstacleAvoidance.h:154
NAVMESH_API bool init(const int maxCircles, const int maxSegments, const int maxCustomPatterns)
Definition DetourObstacleAvoidance.cpp:226
Definition DetourObstacleAvoidance.h:87
dtReal weightToi
Definition DetourObstacleAvoidance.h:92
dtReal velBias
Definition DetourObstacleAvoidance.h:88
dtReal horizTime
Definition DetourObstacleAvoidance.h:93
unsigned char adaptiveDepth
adaptive
Definition DetourObstacleAvoidance.h:97
unsigned char patternIdx
[UE] index of custom sampling pattern or 0xff for adaptive
Definition DetourObstacleAvoidance.h:94
dtReal weightSide
Definition DetourObstacleAvoidance.h:91
unsigned char adaptiveDivs
adaptive
Definition DetourObstacleAvoidance.h:95
dtReal weightDesVel
Definition DetourObstacleAvoidance.h:89
unsigned char adaptiveRings
adaptive
Definition DetourObstacleAvoidance.h:96
dtReal weightCurVel
Definition DetourObstacleAvoidance.h:90
Definition DetourObstacleAvoidance.h:102
int nsamples
Number of samples.
Definition DetourObstacleAvoidance.h:105
dtReal angles[DT_MAX_CUSTOM_SAMPLES]
sample's angle (radians) from desired velocity direction
Definition DetourObstacleAvoidance.h:103
dtReal radii[DT_MAX_CUSTOM_SAMPLES]
sample's radius (0...1)
Definition DetourObstacleAvoidance.h:104
Definition DetourObstacleAvoidance.h:29
dtReal p[3]
Position of the obstacle.
Definition DetourObstacleAvoidance.h:30
dtReal dvel[3]
Velocity of the obstacle.
Definition DetourObstacleAvoidance.h:32
dtReal np[3]
Use for side selection during sampling.
Definition DetourObstacleAvoidance.h:34
dtReal vel[3]
Velocity of the obstacle.
Definition DetourObstacleAvoidance.h:31
dtReal dp[3]
Definition DetourObstacleAvoidance.h:34
dtReal rad
Radius of the obstacle.
Definition DetourObstacleAvoidance.h:33
Definition DetourObstacleAvoidance.h:38
unsigned char canIgnore
Definition DetourObstacleAvoidance.h:41
dtReal p[3]
Definition DetourObstacleAvoidance.h:39
dtReal q[3]
End points of the obstacle segment.
Definition DetourObstacleAvoidance.h:39
unsigned char touch
Definition DetourObstacleAvoidance.h:40