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);
49 void normalizeSamples();
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);
108 int sampleVelocityGrid(
const float* pos,
const float rad,
const float vmax,
109 const float* vel,
const float* dvel,
float* nvel,
113 int sampleVelocityAdaptive(
const float* pos,
const float rad,
const float vmax,
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,
137 float m_invHorizTime;
154 #endif // DETOUROBSTACLEAVOIDANCE_H
float getSamplePenalty(const int i) const
float getSampleSize(const int i) const
unsigned char adaptiveRings
adaptive
void dtFreeObstacleAvoidanceQuery(dtObstacleAvoidanceQuery *ptr)
float vel[3]
Velocity of the obstacle.
float getSampleCurrentVelocityPenalty(const int i) const
dtObstacleAvoidanceDebugData * dtAllocObstacleAvoidanceDebugData()
static const int DT_MAX_PATTERN_RINGS
Max number of adaptive rings.
unsigned char adaptiveDepth
adaptive
float getSamplePreferredSidePenalty(const int i) const
float p[3]
Position of the obstacle.
float dvel[3]
Velocity of the obstacle.
int getSampleCount() const
const dtObstacleSegment * getObstacleSegment(const int i)
const dtObstacleCircle * getObstacleCircle(const int i)
float getSampleDesiredVelocityPenalty(const int i) const
float np[3]
Use for side selection during sampling.
int getObstacleCircleCount() const
unsigned char adaptiveDivs
adaptive
float getSampleCollisionTimePenalty(const int i) const
unsigned char gridSize
grid
int getObstacleSegmentCount() const
float rad
Radius of the obstacle.
const float * getSampleVelocity(const int i) const
dtObstacleAvoidanceQuery * dtAllocObstacleAvoidanceQuery()
void dtFreeObstacleAvoidanceDebugData(dtObstacleAvoidanceDebugData *ptr)
static const int DT_MAX_PATTERN_DIVS
Max numver of adaptive divs.