Eclipse SUMO - Simulation of Urban MObility
PCTypeMap Class Reference

A storage for type mappings. More...

#include <PCTypeMap.h>

Collaboration diagram for PCTypeMap:
[legend]

Data Structures

struct  TypeDef
 A single definition of values that shall be used for a given type. More...
 

Public Types

enum class  Filltype { NOFILL = 0 , FILL = 1 , FORCE = 2 }
 

Public Member Functions

bool add (const std::string &id, const std::string &newid, const std::string &color, const std::string &prefix, const std::string &icon, double layer, double angle, const std::string &imgFile, bool discard, Filltype allowFill)
 Adds a type definition. More...
 
const TypeDefget (const std::string &id)
 Returns a type definition. More...
 
const TypeDefgetDefault ()
 get the default type according to the given options More...
 
const std::map< std::string, TypeDef > & getTypes () const
 retrieve all known types More...
 
bool has (const std::string &id)
 Returns the information whether the named type is known. More...
 
 PCTypeMap (const OptionsCont &oc)
 Constructor. The default type is constructed based on the given options. More...
 
 ~PCTypeMap ()
 Destructor. More...
 

Protected Attributes

TypeDef myDefaultType
 
std::map< std::string, TypeDefmyTypes
 A map of type names to type definitions. More...
 

Detailed Description

A storage for type mappings.

This class holds the mappings between names of read polygon/poi types and the values (color, new type name etc.) that shall be assigned to them.

Definition at line 42 of file PCTypeMap.h.

Member Enumeration Documentation

◆ Filltype

enum PCTypeMap::Filltype
strong
Enumerator
NOFILL 
FILL 
FORCE 

Definition at line 51 of file PCTypeMap.h.

Constructor & Destructor Documentation

◆ PCTypeMap()

◆ ~PCTypeMap()

PCTypeMap::~PCTypeMap ( )

Destructor.

Definition at line 44 of file PCTypeMap.cpp.

Member Function Documentation

◆ add()

bool PCTypeMap::add ( const std::string &  id,
const std::string &  newid,
const std::string &  color,
const std::string &  prefix,
const std::string &  icon,
double  layer,
double  angle,
const std::string &  imgFile,
bool  discard,
Filltype  allowFill 
)

Adds a type definition.

Parameters
[in]idThe original id of the type
[in]newidThe new id (name) of the type
[in]colorThe color to set for imported objects of this type
[in]prefixThe prefix to prepend to the read names of this type's objects
[in]layerThe layer number to set for this type's objects
[in]iconThe icon for this type's objects
[in]angleThe angle to rotate this type's objects
[in]imgFileThe image file used as texture for objects of this type
[in]discardWhether objects of this type shall be discarded
[in]allowFillWhether objects of this type may be filled
Returns
Whether the type could been added (was not known before)

Definition at line 48 of file PCTypeMap.cpp.

References PCTypeMap::TypeDef::allowFill, PCTypeMap::TypeDef::angle, PCTypeMap::TypeDef::color, PCTypeMap::TypeDef::discard, has(), PCTypeMap::TypeDef::icon, PCTypeMap::TypeDef::id, PCTypeMap::TypeDef::imgFile, PCTypeMap::TypeDef::layer, myTypes, RGBColor::parseColor(), and PCTypeMap::TypeDef::prefix.

Referenced by PCTypeDefHandler::myStartElement().

Here is the caller graph for this function:

◆ get()

const PCTypeMap::TypeDef & PCTypeMap::get ( const std::string &  id)

Returns a type definition.

This type definition MUST have been added otherwise the further process is undefined.

Parameters
[in]idThe id of the type to get the definitions of
Returns
Definition of the named type

Definition at line 70 of file PCTypeMap.cpp.

References myTypes.

Referenced by PCLoaderArcView::load(), PCLoaderVisum::load(), PCLoaderOSM::loadIfSet(), PCLoaderDlrNavteq::loadPOIFile(), PCLoaderDlrNavteq::loadPolyFile(), and PCLoaderXML::myStartElement().

Here is the caller graph for this function:

◆ getDefault()

const TypeDef& PCTypeMap::getDefault ( )
inline

get the default type according to the given options

Definition at line 116 of file PCTypeMap.h.

References myDefaultType.

Referenced by PCLoaderOSM::loadIfSet().

Here is the caller graph for this function:

◆ getTypes()

const std::map<std::string, TypeDef>& PCTypeMap::getTypes ( ) const
inline

retrieve all known types

Definition at line 121 of file PCTypeMap.h.

References myTypes.

◆ has()

bool PCTypeMap::has ( const std::string &  id)

Returns the information whether the named type is known.

Parameters
[in]idThe id of the type
Returns
Whether a definition of the named type was added before

Definition at line 76 of file PCTypeMap.cpp.

References myTypes.

Referenced by add(), PCLoaderArcView::load(), PCLoaderVisum::load(), PCLoaderOSM::loadIfSet(), PCLoaderDlrNavteq::loadPOIFile(), PCLoaderDlrNavteq::loadPolyFile(), and PCLoaderXML::myStartElement().

Here is the caller graph for this function:

Field Documentation

◆ myDefaultType

TypeDef PCTypeMap::myDefaultType
protected

Definition at line 129 of file PCTypeMap.h.

Referenced by getDefault(), and PCTypeMap().

◆ myTypes

std::map<std::string, TypeDef> PCTypeMap::myTypes
protected

A map of type names to type definitions.

Definition at line 127 of file PCTypeMap.h.

Referenced by add(), get(), getTypes(), and has().


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