Bratmobile
Protected Member Functions | List of all members
EveryOtherPointBuilder Class Reference

Makes a feature for every other point and builds all points. More...

#include <worldbuilder.h>

Inheritance diagram for EveryOtherPointBuilder:
Inheritance graph
[legend]
Collaboration diagram for EveryOtherPointBuilder:
Collaboration graph
[legend]

Protected Member Functions

std::vector< BodyFeaturesgetFeatures (const CoordinateContainer &current, b2Transform start, CLUSTERING clustering) override
 clusters point clouds into objects and returns a vector of body features More...
 
void buildWorld (b2World &w, b2Transform start, Direction d, Disturbance disturbance, float halfWindowWidth, CLUSTERING clustering, Task *task) override
 Creates bodies (objects) in the box2d world. More...
 

Additional Inherited Members

- Public Types inherited from WorldBuilder
enum  CLUSTERING { BOX =0 , KMEANS =1 , PARTITION =2 }
 
- Public Member Functions inherited from WorldBuilder
std::pair< CoordinateContainer, bool > salientPoints (b2Transform, const CoordinateContainer &, std::pair< Pointf, Pointf >)
 
b2Body * makeBody (b2World &w, const BodyFeatures &features)
 Creates a body in the box2d world, and if the features represent a disturbance to which the attention window needs to be assigned, a flag is assigned to the body user data. More...
 
std::vector< BodyFeaturesprocessData (const CoordinateContainer &, const b2Transform &)
 returns a bounding box encompassing all points provided More...
 
std::vector< BodyFeaturescluster_data (const CoordinateContainer &pts, const b2Transform &start, CLUSTERING clustering=PARTITION)
 Cluster point cloud data using a custom algorithm. More...
 
bool checkDisturbance (Pointf, bool &, Task *curr=NULL, float range=0.025)
 
std::pair< Pointf, Pointfbounds (Direction, b2Transform t, float boxLength, float halfWindowWidth, std::vector< Pointf > *_bounds=NULL)
 
b2PolygonShape object_filtering_box (float halfWindowWidth, float boxLength, b2Transform start, Direction d)
 Makes a box. More...
 
std::pair< bool, BodyFeaturesbounding_approx_poly (std::vector< cv::Point2f >nb)
 
std::vector< std::vector< cv::Point2f > > kmeans_clusters (std::vector< cv::Point2f >, std::vector< cv::Point2f > &)
 Clusters points using k-means algorithm. More...
 
std::vector< std::vector< cv::Point2f > > partition_clusters (std::vector< cv::Point2f >)
 Clusters points using the partition algorithm. More...
 
b2Vec2 averagePoint (const CoordinateContainer &, Disturbance &, float rad=0.025)
 
int getBodies ()
 
void add_body_count ()
 
void resetBodies ()
 
void add_iteration (int i=1)
 
b2Body * get_robot (b2World *)
 
b2Fixture * get_chassis (b2Body *)
 
b2AABB makeRobotSensor (b2Body *const robotBody, const Disturbance &focus) const
 Makes the robot attention window, i.e. a distal sensor which is comprised between the extremes of the robot body and the disturbance. More...
 
std::vector< BodyFeatures > & get_world_objects ()
 
void set_world_objects (const std::vector< BodyFeatures > &wo)
 
void setSimulationStep (float f)
 
- Protected Attributes inherited from WorldBuilder
int iteration =0
 
char bodyFile [100]
 
float simulationStep =BOX2DRANGE
 
int bodies =0
 
std::vector< BodyFeaturesworld_objects
 

Detailed Description

Makes a feature for every other point and builds all points.

Member Function Documentation

◆ buildWorld()

void EveryOtherPointBuilder::buildWorld ( b2World &  world,
b2Transform  start,
Direction  d,
Disturbance  disturbance,
float  halfWindowWidth,
CLUSTERING  clustering,
Task task 
)
inlineoverrideprotectedvirtual

Creates bodies (objects) in the box2d world.

Parameters
disturbance
halfWindowWidth
clustering
task

Reimplemented from EverythingBuilder.

◆ getFeatures()

std::vector<BodyFeatures> EveryOtherPointBuilder::getFeatures ( const CoordinateContainer current,
b2Transform  start,
CLUSTERING  clustering 
)
inlineoverrideprotectedvirtual

clusters point clouds into objects and returns a vector of body features

Parameters
currentpoint cloud
startrobot position
partitionalgorithm used for partition

Reimplemented from EveryOtherFeatureBuilder.


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