Loading...
Searching...
No Matches
KoulesSimulator Class Reference

Public Member Functions

 KoulesSimulator (const ompl::control::SpaceInformation *si)
void step (const ompl::base::State *start, const ompl::control::Control *control, const double t, ompl::base::State *result)

Protected Types

using CollisionEvent = std::tuple<double, unsigned int, unsigned int>
using CollisionEventQueue

Protected Member Functions

void initCollisionEvents ()
double wallCollideEvent (unsigned int i, int dim)
void elasticCollision (unsigned int i, unsigned int j)
void computeCollisionEvent (unsigned int i, unsigned int j)
void advance (double t)
void markAsDead (unsigned int i)
void updateShip (const ompl::control::Control *control, double t)

Protected Attributes

const ompl::control::SpaceInformationsi_
unsigned int numDimensions_
unsigned int numKoules_
std::vector< double > qcur_
std::vector< double > qnext_
std::vector< bool > dead_
double time_
double endTime_
CollisionEventQueue collisionEvents_

Detailed Description

Definition at line 46 of file KoulesSimulator.h.

Member Typedef Documentation

◆ CollisionEvent

using KoulesSimulator::CollisionEvent = std::tuple<double, unsigned int, unsigned int>
protected

Definition at line 57 of file KoulesSimulator.h.

◆ CollisionEventQueue

using KoulesSimulator::CollisionEventQueue
protected
Initial value:
std::priority_queue<CollisionEvent,
std::vector<CollisionEvent>, std::greater<CollisionEvent>>

Definition at line 60 of file KoulesSimulator.h.

Constructor & Destructor Documentation

◆ KoulesSimulator()

KoulesSimulator::KoulesSimulator ( const ompl::control::SpaceInformation * si)

Definition at line 114 of file KoulesSimulator.cpp.

Member Function Documentation

◆ advance()

void KoulesSimulator::advance ( double t)
protected

Definition at line 286 of file KoulesSimulator.cpp.

◆ computeCollisionEvent()

void KoulesSimulator::computeCollisionEvent ( unsigned int i,
unsigned int j )
protected

Definition at line 209 of file KoulesSimulator.cpp.

◆ elasticCollision()

void KoulesSimulator::elasticCollision ( unsigned int i,
unsigned int j )
protected

Definition at line 253 of file KoulesSimulator.cpp.

◆ initCollisionEvents()

void KoulesSimulator::initCollisionEvents ( )
protected

Definition at line 159 of file KoulesSimulator.cpp.

◆ markAsDead()

void KoulesSimulator::markAsDead ( unsigned int i)
protected

Definition at line 299 of file KoulesSimulator.cpp.

◆ step()

void KoulesSimulator::step ( const ompl::base::State * start,
const ompl::control::Control * control,
const double t,
ompl::base::State * result )

Definition at line 306 of file KoulesSimulator.cpp.

◆ updateShip()

void KoulesSimulator::updateShip ( const ompl::control::Control * control,
double t )
protected

Definition at line 124 of file KoulesSimulator.cpp.

◆ wallCollideEvent()

double KoulesSimulator::wallCollideEvent ( unsigned int i,
int dim )
protected

Definition at line 197 of file KoulesSimulator.cpp.

Member Data Documentation

◆ collisionEvents_

CollisionEventQueue KoulesSimulator::collisionEvents_
protected

Definition at line 100 of file KoulesSimulator.h.

◆ dead_

std::vector<bool> KoulesSimulator::dead_
protected

Definition at line 94 of file KoulesSimulator.h.

◆ endTime_

double KoulesSimulator::endTime_
protected

Definition at line 98 of file KoulesSimulator.h.

◆ numDimensions_

unsigned int KoulesSimulator::numDimensions_
protected

Definition at line 86 of file KoulesSimulator.h.

◆ numKoules_

unsigned int KoulesSimulator::numKoules_
protected

Definition at line 88 of file KoulesSimulator.h.

◆ qcur_

std::vector<double> KoulesSimulator::qcur_
protected

Definition at line 90 of file KoulesSimulator.h.

◆ qnext_

std::vector<double> KoulesSimulator::qnext_
protected

Definition at line 92 of file KoulesSimulator.h.

◆ si_

const ompl::control::SpaceInformation* KoulesSimulator::si_
protected

Definition at line 84 of file KoulesSimulator.h.

◆ time_

double KoulesSimulator::time_
protected

Definition at line 96 of file KoulesSimulator.h.


The documentation for this class was generated from the following files: