DHART
|
Manages rules and ids for different types of geometry in the graph generator. More...
#include <graph_generator.h>
Public Member Functions | |
void | SetGeometryIds (const std::vector< int > &obstacle_geometry, const std::vector< int > &walkable_geometry) |
Set geometry ids as being walkable or obstacles. More... | |
bool | HasKey (int id) const |
Check if this id exists in the dictionary. More... | |
HIT_FLAG | operator[] (int id) const |
Get the flag of the geometry in this hit dictionary. More... | |
void | Set (int id, HIT_FLAG flag) |
Set the value of a key in the internal dictionary. More... | |
Public Attributes | |
GeometryFilterMode | Mode = GeometryFilterMode::ALL_INTERSECTIONS |
Filter mode of this GeometryFlagMap. More... | |
Private Member Functions | |
void | DetermineFilterMode (const std::vector< int > &walkable, const std::vector< int > &obstacle) |
Set the filter mode of this GeometryFlagMap based on the input types. More... | |
Private Attributes | |
hashmap | internal_dictionary |
Manages rules and ids for different types of geometry in the graph generator.
Definition at line 157 of file graph_generator.h.
|
inlineprivate |
Set the filter mode of this GeometryFlagMap based on the input types.
walkable | Array of walkable geometry IDs |
obstacle | Array of obstacle geometry IDs |
If the walkable array is empty, then set the mode to obstacles only. If the obstacle and the walkable arrays are empty set the mode to none If both obstacle and walkable arrays are specified, set this mode to obstacles and floors.
Definition at line 176 of file graph_generator.h.
References HF::GraphGenerator::ALL_INTERSECTIONS, Mode, HF::GraphGenerator::OBSTACLES_AND_FLOORS, and HF::GraphGenerator::OBSTACLES_ONLY.
Referenced by SetGeometryIds().
|
inline |
Check if this id exists in the dictionary.
id | ID to check for |
Definition at line 219 of file graph_generator.h.
References internal_dictionary.
Referenced by operator[]().
|
inline |
Get the flag of the geometry in this hit dictionary.
id | ID of geometry to get the hitflag of |
id
in SetGeometryIDs or HIT_FLAG::NO_FLAG if no flag was ever assigned to id
Definition at line 236 of file graph_generator.h.
References HasKey(), internal_dictionary, and HF::GraphGenerator::NO_FLAG.
|
inline |
Set the value of a key in the internal dictionary.
id | ID to set as |
id
will return flag
. If id
already has been assigned a flag, the value will be updated to flag
. Definition at line 249 of file graph_generator.h.
References internal_dictionary.
Referenced by SetGeometryIds().
|
inline |
Set geometry ids as being walkable or obstacles.
obstacle_geometry | IDs of meshes to set as obstacles |
walkable_geometry | IDs of meshes to set as walkable |
obstacle_geometry
will return HIT_FLAG::OBSTACLES when calling operator [] and all geometry in walkable_geometry
will return HIT_FLAG::FLOORS when calling operator[] Definition at line 200 of file graph_generator.h.
References DetermineFilterMode(), HF::GraphGenerator::FLOORS, HF::GraphGenerator::OBSTACLES, and Set().
Referenced by HF::GraphGenerator::GraphGenerator::GraphGenerator(), and HF::GraphGenerator::setupRT().
|
private |
Definition at line 160 of file graph_generator.h.
Referenced by HasKey(), operator[](), and Set().
GeometryFilterMode HF::GraphGenerator::GeometryFlagMap::Mode = GeometryFilterMode::ALL_INTERSECTIONS |
Filter mode of this GeometryFlagMap.
Definition at line 189 of file graph_generator.h.
Referenced by HF::GraphGenerator::CheckGeometryID(), and DetermineFilterMode().