19 #ifndef DETOUROBSTACLEAVOIDANCE_H
20 #define DETOUROBSTACLEAVOIDANCE_H
44 bool init(
const int maxSamples);
46 void addSample(
const float* vel,
const float ssize,
const float pen,
47 const float vpen,
const float vcpen,
const float spen,
const float tpen);
99 bool init(
const int maxCircles,
const int maxSegments);
103 void addCircle(
const float* pos,
const float rad,
104 const float* vel,
const float* dvel);
106 void addSegment(
const float* p,
const float* q);
109 const float* vel,
const float* dvel,
float* nvel,
114 const float* vel,
const float* dvel,
float* nvel,
126 void prepare(
const float* pos,
const float* dvel);
128 float processSample(
const float* vcand,
const float cs,
129 const float* pos,
const float rad,
130 const float* vel,
const float* dvel,
131 const float minPenalty,
135 float m_invHorizTime;
152 #endif // DETOUROBSTACLEAVOIDANCE_H
float weightDesVel
Definition: DetourObstacleAvoidance.h:82
float getSamplePenalty(const int i) const
Definition: DetourObstacleAvoidance.h:54
void reset()
Definition: DetourObstacleAvoidance.cpp:244
dtObstacleAvoidanceQuery()
Definition: DetourObstacleAvoidance.cpp:209
float getSampleSize(const int i) const
Definition: DetourObstacleAvoidance.h:53
unsigned char adaptiveRings
adaptive
Definition: DetourObstacleAvoidance.h:89
void dtFreeObstacleAvoidanceQuery(dtObstacleAvoidanceQuery *ptr)
Definition: DetourObstacleAvoidance.cpp:201
~dtObstacleAvoidanceDebugData()
Definition: DetourObstacleAvoidance.cpp:100
void normalizeSamples()
Definition: DetourObstacleAvoidance.cpp:184
float vel[3]
Velocity of the obstacle.
Definition: DetourObstacleAvoidance.h:25
Definition: DetourObstacleAvoidance.h:38
float getSampleCurrentVelocityPenalty(const int i) const
Definition: DetourObstacleAvoidance.h:56
float weightCurVel
Definition: DetourObstacleAvoidance.h:83
Definition: DetourObstacleAvoidance.h:31
dtObstacleAvoidanceDebugData * dtAllocObstacleAvoidanceDebugData()
Definition: DetourObstacleAvoidance.cpp:72
static const int DT_MAX_PATTERN_RINGS
Max number of adaptive rings.
Definition: DetourObstacleAvoidance.h:77
unsigned char adaptiveDepth
adaptive
Definition: DetourObstacleAvoidance.h:90
float velBias
Definition: DetourObstacleAvoidance.h:81
dtObstacleAvoidanceDebugData()
Definition: DetourObstacleAvoidance.cpp:87
Definition: DetourObstacleAvoidance.h:93
float getSamplePreferredSidePenalty(const int i) const
Definition: DetourObstacleAvoidance.h:57
bool init(const int maxSamples)
Definition: DetourObstacleAvoidance.cpp:111
float q[3]
End points of the obstacle segment.
Definition: DetourObstacleAvoidance.h:33
float weightSide
Definition: DetourObstacleAvoidance.h:84
void addCircle(const float *pos, const float rad, const float *vel, const float *dvel)
Definition: DetourObstacleAvoidance.cpp:250
int sampleVelocityAdaptive(const float *pos, const float rad, const float vmax, const float *vel, const float *dvel, float *nvel, const dtObstacleAvoidanceParams *params, dtObstacleAvoidanceDebugData *debug=0)
Definition: DetourObstacleAvoidance.cpp:504
int sampleVelocityGrid(const float *pos, const float rad, const float vmax, const float *vel, const float *dvel, float *nvel, const dtObstacleAvoidanceParams *params, dtObstacleAvoidanceDebugData *debug=0)
Definition: DetourObstacleAvoidance.cpp:432
float p[3]
Position of the obstacle.
Definition: DetourObstacleAvoidance.h:24
float dvel[3]
Velocity of the obstacle.
Definition: DetourObstacleAvoidance.h:26
int getSampleCount() const
Definition: DetourObstacleAvoidance.h:51
bool init(const int maxCircles, const int maxSegments)
Definition: DetourObstacleAvoidance.cpp:225
const dtObstacleSegment * getObstacleSegment(const int i)
Definition: DetourObstacleAvoidance.h:122
const dtObstacleCircle * getObstacleCircle(const int i)
Definition: DetourObstacleAvoidance.h:119
bool touch
Definition: DetourObstacleAvoidance.h:34
float getSampleDesiredVelocityPenalty(const int i) const
Definition: DetourObstacleAvoidance.h:55
float np[3]
Use for side selection during sampling.
Definition: DetourObstacleAvoidance.h:28
float horizTime
Definition: DetourObstacleAvoidance.h:86
float p[3]
Definition: DetourObstacleAvoidance.h:33
int getObstacleCircleCount() const
Definition: DetourObstacleAvoidance.h:118
void reset()
Definition: DetourObstacleAvoidance.cpp:141
unsigned char adaptiveDivs
adaptive
Definition: DetourObstacleAvoidance.h:88
Definition: DetourObstacleAvoidance.h:22
float getSampleCollisionTimePenalty(const int i) const
Definition: DetourObstacleAvoidance.h:58
float weightToi
Definition: DetourObstacleAvoidance.h:85
unsigned char gridSize
grid
Definition: DetourObstacleAvoidance.h:87
Definition: DetourObstacleAvoidance.h:79
int getObstacleSegmentCount() const
Definition: DetourObstacleAvoidance.h:121
float rad
Radius of the obstacle.
Definition: DetourObstacleAvoidance.h:27
const float * getSampleVelocity(const int i) const
Definition: DetourObstacleAvoidance.h:52
~dtObstacleAvoidanceQuery()
Definition: DetourObstacleAvoidance.cpp:219
dtObstacleAvoidanceQuery * dtAllocObstacleAvoidanceQuery()
Definition: DetourObstacleAvoidance.cpp:194
float dp[3]
Definition: DetourObstacleAvoidance.h:28
void addSample(const float *vel, const float ssize, const float pen, const float vpen, const float vcpen, const float spen, const float tpen)
Definition: DetourObstacleAvoidance.cpp:146
void dtFreeObstacleAvoidanceDebugData(dtObstacleAvoidanceDebugData *ptr)
Definition: DetourObstacleAvoidance.cpp:79
static const int DT_MAX_PATTERN_DIVS
Max numver of adaptive divs.
Definition: DetourObstacleAvoidance.h:76
void addSegment(const float *p, const float *q)
Definition: DetourObstacleAvoidance.cpp:263