Classes | Namespaces | Typedefs | Enumerations | Functions
primitives/RegulatoryElement.h File Reference
#include <boost/variant.hpp>
#include <utility>
#include "lanelet2_core/Forward.h"
#include "lanelet2_core/primitives/Area.h"
#include "lanelet2_core/primitives/Lanelet.h"
#include "lanelet2_core/primitives/LineString.h"
#include "lanelet2_core/primitives/Point.h"
#include "lanelet2_core/primitives/Polygon.h"
#include "lanelet2_core/primitives/Primitive.h"
#include "lanelet2_core/utility/HybridMap.h"
Include dependency graph for primitives/RegulatoryElement.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  lanelet::GenericRegulatoryElement
 A GenericRegulatoryElement can hold any parameters. More...
 
struct  std::hash< lanelet::RegulatoryElement >
 
class  lanelet::internal::MutableParameterVisitor
 
struct  lanelet::traits::Owned< RegulatoryElementPtr >
 
struct  lanelet::traits::PrimitiveTraits< ConstRuleParameter >
 
struct  lanelet::traits::PrimitiveTraits< RuleParameter >
 
class  lanelet::RegisterRegulatoryElement< T >
 template class for registering new RegulatoryElements. More...
 
class  lanelet::RegulatoryElement
 A general rule or limitation for a lanelet (abstract base class) More...
 
class  lanelet::RegulatoryElementData
 Data container for all RegulatoryElement types. More...
 
class  lanelet::RegulatoryElementFactory
 Creates regulatory elements based on their type. More...
 
struct  lanelet::RoleNameString
 Lists which role strings are mapped to which enum value. More...
 
class  lanelet::RuleParameterVisitor
 You can inherit from this visitor to perform an operation on each parameter of a regulatory element. More...
 

Namespaces

 lanelet
 
 lanelet::internal
 
 lanelet::traits
 
 lanelet::utils
 
 std
 

Typedefs

using lanelet::ConstRuleParameter = boost::variant< ConstPoint3d, ConstLineString3d, ConstPolygon3d, ConstWeakLanelet, ConstWeakArea >
 Const-version of the parameters. More...
 
using lanelet::ConstRuleParameterMap = HybridMap< ConstRuleParameters, decltype(RoleNameString::Map)&, RoleNameString::Map >
 Rules are stored in a map internally (const version) More...
 
using lanelet::ConstRuleParameters = std::vector< ConstRuleParameter >
 Const version for a range of rule parameters. More...
 
template<typename T , typename RetT >
using lanelet::IfRE = std::enable_if_t< traits::isRegulatoryElementT< T >(), RetT >
 
using lanelet::RuleParameter = boost::variant< Point3d, LineString3d, Polygon3d, WeakLanelet, WeakArea >
 
using lanelet::RuleParameterMap = HybridMap< RuleParameters, decltype(RoleNameString::Map)&, RoleNameString::Map >
 Rules are stored in a map internally. More...
 
using lanelet::RuleParameters = std::vector< RuleParameter >
 Multiple parameters can have the same role in a rule (eg traffic_lights) More...
 

Enumerations

enum  lanelet::RoleName {
  lanelet::RoleName::Refers, lanelet::RoleName::RefLine, lanelet::RoleName::RightOfWay, lanelet::RoleName::Yield,
  lanelet::RoleName::Cancels, lanelet::RoleName::CancelLine
}
 Typical role names within lanelet (for faster lookup) More...
 

Functions

template<>
Id lanelet::traits::getId< ConstRuleParameter > (const ConstRuleParameter &prim)
 
template<>
Id lanelet::traits::getId< RegulatoryElementConstPtr > (const RegulatoryElementConstPtr &prim)
 
template<>
Id lanelet::traits::getId< RegulatoryElementPtr > (const RegulatoryElementPtr &prim)
 
template<>
Id lanelet::traits::getId< RuleParameter > (const RuleParameter &prim)
 Extracts the id of a rule parameter. More...
 
bool lanelet::utils::has (const RegulatoryElement &regElem, Id id)
 returns true if element of a regulatory element has a matching Id More...
 
bool lanelet::utils::has (const RegulatoryElementConstPtr &ls, Id id)
 
template<typename T >
constexpr bool lanelet::traits::isRegulatoryElementT ()
 
std::ostream & lanelet::operator<< (std::ostream &stream, const RegulatoryElement &obj)
 
template<>
ConstRuleParameter lanelet::traits::toConst< RuleParameter > (const RuleParameter &primitive)
 


lanelet2_core
Author(s): Fabian Poggenhans
autogenerated on Thu Mar 6 2025 03:25:52