DriveWorks SDK Reference

| 0.6.67 Release

Structs for Map Data

Detailed Description

Structs that define the map data.

Data Structures

struct  dwMapsFeature
 Road feature defined by a polyline, with attributes. More...
 
struct  dwMapsGeoPoint
 Point defined by WGS84 coordinates. More...
 
struct  dwMapsGeoPolyline
 Polyline defined by a dwMapsGeoPoint list. More...
 
struct  dwMapsLane
 Lane defined by a polyline, with lane attributes. More...
 
struct  dwMapsLaneConnection
 Lane connection. More...
 
struct  dwMapsLaneDivider
 Lane divider defined by a polyline, with type, material and color information. More...
 
struct  dwMapsLaneDividerGroup
 Group of lane dividers, representing one boundary of a lane. More...
 
struct  dwMapsLaneDividerGroupId
 Global identifier for lane divider groups. More...
 
struct  dwMapsLaneDividerLine
 Lane divider line defined by two points and the owner of a line. More...
 
struct  dwMapsLaneId
 Global identifier for lanes. More...
 
struct  dwMapsLine
 Line defined by 2 points in user defined coordinates. More...
 
struct  dwMapsRoadSegment
 Road segment representing a piece of the road. More...
 
struct  dwMapsRoadSegmentConnection
 Road segment connection. More...
 
struct  dwMapsRoadSegmentId
 Global identifier for road segments. More...
 

Macros

#define DW_MAPS_MAX_LANE_CONNECTIONS   100
 

Enumerations

enum  dwMapsColor {
  DW_MAPS_COLOR_UNKNOWN = 1 << 0,
  DW_MAPS_COLOR_WHITE = 1 << 1,
  DW_MAPS_COLOR_LIGHT_GRAY = 1 << 2,
  DW_MAPS_COLOR_GRAY = 1 << 3,
  DW_MAPS_COLOR_DARK_GRAY = 1 << 4,
  DW_MAPS_COLOR_BLACK = 1 << 5,
  DW_MAPS_COLOR_RED = 1 << 6,
  DW_MAPS_COLOR_YELLOW = 1 << 7,
  DW_MAPS_COLOR_GREEN = 1 << 8,
  DW_MAPS_COLOR_CYAN = 1 << 9,
  DW_MAPS_COLOR_BLUE = 1 << 10,
  DW_MAPS_COLOR_ORANGE = 1 << 11
}
 Colors. More...
 
enum  dwMapsDirection {
  DW_MAPS_DIRECTION_FORWARD = 1 << 0,
  DW_MAPS_DIRECTION_BACKWARD = 1 << 1,
  DW_MAPS_DIRECTION_BOTH = 1 << 2,
  DW_MAPS_DIRECTION_NONE = 1 << 3
}
 Direction compared to geometry (polyline order) More...
 
enum  dwMapsFeatureType {
  DW_MAPS_FEATURE_UNKNOWN = 0,
  DW_MAPS_FEATURE_TRAFFIC_SIGN = 1 << 16,
  DW_MAPS_FEATURE_TRAFFIC_LIGHT = 1 << 17,
  DW_MAPS_FEATURE_LANE_MARK = 1 << 18
}
 Feature types. More...
 
enum  dwMapsLaneDividerType {
  DW_MAPS_LANE_DIVIDER_TYPE_INVISIBLE = 1 << 0,
  DW_MAPS_LANE_DIVIDER_TYPE_LONG_DASHED = 1 << 1,
  DW_MAPS_LANE_DIVIDER_TYPE_DOUBLE_SOLID = 1 << 2,
  DW_MAPS_LANE_DIVIDER_TYPE_SINGLE_SOLID = 1 << 3,
  DW_MAPS_LANE_DIVIDER_TYPE_SOLID_DASHED = 1 << 4,
  DW_MAPS_LANE_DIVIDER_TYPE_DASHED_SOLID = 1 << 5,
  DW_MAPS_LANE_DIVIDER_TYPE_SHORT_DASHED = 1 << 6,
  DW_MAPS_LANE_DIVIDER_TYPE_SHADED_AREA = 1 << 7,
  DW_MAPS_LANE_DIVIDER_TYPE_DASHED_BLOCKS = 1 << 8,
  DW_MAPS_LANE_DIVIDER_TYPE_DOUBLE_DASHED = 1 << 9,
  DW_MAPS_LANE_DIVIDER_TYPE_CROSSING_ALERT = 1 << 10,
  DW_MAPS_LANE_DIVIDER_TYPE_CENTER_TURN_LANE = 1 << 12,
  DW_MAPS_LANE_DIVIDER_TYPE_PHYSICAL = 1 << 13,
  DW_MAPS_LANE_DIVIDER_TYPE_CURB = 1 << 14,
  DW_MAPS_LANE_DIVIDER_TYPE_WALL_FLAT = 1 << 15,
  DW_MAPS_LANE_DIVIDER_TYPE_WALL_TUNNEL = 1 << 16,
  DW_MAPS_LANE_DIVIDER_TYPE_BARRIER_JERSEY = 1 << 17,
  DW_MAPS_LANE_DIVIDER_TYPE_BARRIER_SOUND = 1 << 18,
  DW_MAPS_LANE_DIVIDER_TYPE_BARRIER_CABLE = 1 << 19,
  DW_MAPS_LANE_DIVIDER_TYPE_GUARDRAIL = 1 << 20,
  DW_MAPS_LANE_DIVIDER_TYPE_FENCE = 1 << 21,
  DW_MAPS_LANE_DIVIDER_TYPE_RUBBER_POLE = 1 << 22,
  DW_MAPS_LANE_DIVIDER_TYPE_ROAD_STUDS = 1 << 23,
  DW_MAPS_LANE_DIVIDER_TYPE_ROAD_EDGE = 1 << 24,
  DW_MAPS_LANE_DIVIDER_TYPE_ALL = (1u << 25) - 1u
}
 Lane divider type and filter values. More...
 
enum  dwMapsLaneGeometry {
  DW_MAPS_LANE_GEOMETRY_LANEDIVIDERRIGHT = 0,
  DW_MAPS_LANE_GEOMETRY_LANEDIVIDERLEFT = 1,
  DW_MAPS_LANE_GEOMETRY_LANECENTER = 2
}
 Enum for selection of lane geometry. More...
 
enum  dwMapsLaneType {
  DW_MAPS_LANE_TYPE_REGULAR = 1 << 0,
  DW_MAPS_LANE_TYPE_SHOULDER = 1 << 1,
  DW_MAPS_LANE_TYPE_DRIVABLE_SHOULDER = 1 << 2,
  DW_MAPS_LANE_TYPE_CAR_POOL = 1 << 3,
  DW_MAPS_LANE_TYPE_ENTRY = 1 << 4,
  DW_MAPS_LANE_TYPE_EXIT = 1 << 5,
  DW_MAPS_LANE_TYPE_CONNECT = 1 << 6,
  DW_MAPS_LANE_TYPE_EMERGENCY = 1 << 7,
  DW_MAPS_LANE_TYPE_STOP = 1 << 8,
  DW_MAPS_LANE_TYPE_EMERGENCY_STOP = 1 << 9,
  DW_MAPS_LANE_TYPE_ACCELERATE = 1 << 10,
  DW_MAPS_LANE_TYPE_DECELERATE = 1 << 11,
  DW_MAPS_LANE_TYPE_AVOID_DANGER = 1 << 12,
  DW_MAPS_LANE_TYPE_INTERSECTION = 1 << 13,
  DW_MAPS_LANE_TYPE_TOLL_GATE = 1 << 14,
  DW_MAPS_LANE_TYPE_CHECK_POINT = 1 << 15,
  DW_MAPS_LANE_TYPE_TURN_AROUND = 1 << 16,
  DW_MAPS_LANE_TYPE_FORMING = 1 << 17,
  DW_MAPS_LANE_TYPE_DESTROY = 1 << 18,
  DW_MAPS_LANE_TYPE_RAMP = 1 << 19
}
 Lane types. More...
 
enum  dwMapsMaterial {
  DW_MAPS_MATERIAL_UNKNOWN = 1 << 0,
  DW_MAPS_MATERIAL_METAL = 1 << 1,
  DW_MAPS_MATERIAL_CONCRETE = 1 << 2,
  DW_MAPS_MATERIAL_STONE = 1 << 3,
  DW_MAPS_MATERIAL_WOOD = 1 << 4,
  DW_MAPS_MATERIAL_PLASTIC = 1 << 5,
  DW_MAPS_MATERIAL_TRANSPARENT = 1 << 6,
  DW_MAPS_MATERIAL_PAINT = 1 << 7,
  DW_MAPS_MATERIAL_BOTTS_DOT = 1 << 8
}
 Material type values. More...
 
enum  dwMapsRoadSegmentType {
  DW_MAPS_ROAD_SEGMENT_TYPE_DEFAULT = 0,
  DW_MAPS_ROAD_SEGMENT_TYPE_CONTROLLED_ACCESS = 1 << 0,
  DW_MAPS_ROAD_SEGMENT_TYPE_BRIDGE = 1 << 1,
  DW_MAPS_ROAD_SEGMENT_TYPE_TUNNEL = 1 << 2,
  DW_MAPS_ROAD_SEGMENT_TYPE_RAMP = 1 << 3,
  DW_MAPS_ROAD_SEGMENT_TYPE_URBAN = 1 << 4,
  DW_MAPS_ROAD_SEGMENT_TYPE_TOLLWAY = 1 << 5,
  DW_MAPS_ROAD_SEGMENT_TYPE_INTERSECTION = 1 << 6,
  DW_MAPS_ROAD_SEGMENT_TYPE_HIGHWAY = 1 << 7
}
 Road segment types. More...
 
enum  dwMapsSerializationFormat {
  DW_MAPS_SERIALIZATION_FORMAT_BINARY = 0,
  DW_MAPS_SERIALIZATION_FORMAT_XML = 1
}
 Serialization formats. More...
 
enum  dwMapsSide {
  DW_MAPS_SIDE_RIGHT = 0,
  DW_MAPS_SIDE_LEFT = 1,
  DW_MAPS_SIDE_NONE = 2
}
 Enum for sides. More...
 

Data Structure Documentation

◆ dwMapsFeature

struct dwMapsFeature
Data Fields
dwMapsGeoPolyline geometry set of points representing a feature
uint64_t id unique id of a feature
const dwMapsRoadSegment * roadSegment parent road segment
uint32_t type type of a feature

◆ dwMapsGeoPoint

struct dwMapsGeoPoint
Data Fields
float64_t height height above WGS84 earth spheroid
float64_t lat latitude
float64_t lon longitude

◆ dwMapsGeoPolyline

struct dwMapsGeoPolyline
Data Fields
uint32_t pointCount number of points defining the polyline
const dwMapsGeoPoint * points pointer to polyline point array

◆ dwMapsLane

struct dwMapsLane
Data Fields
dwMapsDirection drivingDirection driving direction compared to geometry polyline order
dwMapsGeoPolyline geometry polyline for lane centerline
dwMapsLaneId id global id of the lane
const dwMapsLaneDividerGroup * laneDividerGroups[2] lane divider groups at the 2 lane boundaries
const dwMapsLaneConnection * next pointer to lane connections at lane end
uint32_t nextCount number of lane connections at lane end
const dwMapsLaneConnection * previous pointer to lane connections at lane start
uint32_t previousCount number of lane connections at lane start
const dwMapsRoadSegment * roadSegment parent road segment
uint32_t speedLimit current speed limit. 0 if unknown.
dwMapsLaneType type lane type

◆ dwMapsLaneConnection

struct dwMapsLaneConnection
Data Fields
const dwMapsLane * lane pointer to the connected lane.

can be nullptr if that lane is not in memory.

dwMapsLaneId laneId id of the connected lane.
dwBool sameDirection indicates whether the connected segment is oriented the same way.

that is, start of the previous segment connects to the end of the connected segment.

◆ dwMapsLaneDivider

struct dwMapsLaneDivider
Data Fields
dwMapsColor color lane divider color
dwMapsGeoPolyline geometry polyline defining the geometry of the lane divider
const dwMapsLaneDividerGroup * group parent lane divider group
dwMapsMaterial material lane divider material
dwMapsLaneDividerType type lane divider type

◆ dwMapsLaneDividerGroup

struct dwMapsLaneDividerGroup
Data Fields
dwMapsLaneDividerGroupId id global id of the group
uint32_t laneDividerCount number of lane dividers in group
const dwMapsLaneDivider * laneDividers pointer to lane divider array
const dwMapsRoadSegment * roadSegment parent road segment

◆ dwMapsLaneDividerGroupId

struct dwMapsLaneDividerGroupId
Data Fields
uint64_t id[4] combined uint64_t values represent a globally unique id.

◆ dwMapsLaneDividerLine

struct dwMapsLaneDividerLine
Data Fields
const dwMapsLaneDivider * divider owner of a line
dwVector3f p[2] start and end point of the line.

◆ dwMapsLaneId

struct dwMapsLaneId
Data Fields
uint64_t id[4] combined uint64_t values represent the globally unique id.

◆ dwMapsLine

struct dwMapsLine
Data Fields
dwVector3f p[2] start and end point of the line.

◆ dwMapsRoadSegment

struct dwMapsRoadSegment
Data Fields
uint32_t featureCount number of features in this segment
const dwMapsFeature * features pointer to features of this segment
dwMapsRoadSegmentId id global id of the road segment
uint32_t laneCount number of lanes in this segment
uint32_t laneDividerGroupCount number of lane divider groups in this segment
const dwMapsLaneDividerGroup * laneDividerGroups pointer to lane divider group array of this segment
const dwMapsLane * lanes pointer to lane array of this segment
const dwMapsRoadSegmentConnection * next pointer to road segment connections at segment end
uint32_t nextCount number of segment connections at segment end
const dwMapsRoadSegmentConnection * previous pointer to road segment connections at segment start
uint32_t previousCount number of segment connections at segment start
uint32_t type road segment type

◆ dwMapsRoadSegmentConnection

struct dwMapsRoadSegmentConnection
Data Fields
dwBool sameDirection indicates whether the connected segment is oriented the same way.

that is, start of the previous segment connects to the end of the connected segment.

const dwMapsRoadSegment * segment pointer to the connected road segment.

can be nullptr if that segment is not in memory.

dwMapsRoadSegmentId segmentId id of the connected road segment.

◆ dwMapsRoadSegmentId

struct dwMapsRoadSegmentId
Data Fields
uint64_t id[3] combined uint64_t values represent the globally unique id.

Macro Definition Documentation

◆ DW_MAPS_MAX_LANE_CONNECTIONS

#define DW_MAPS_MAX_LANE_CONNECTIONS   100

Definition at line 298 of file Maps.h.

Enumeration Type Documentation

◆ dwMapsColor

Colors.

Enumerator
DW_MAPS_COLOR_UNKNOWN 
DW_MAPS_COLOR_WHITE 
DW_MAPS_COLOR_LIGHT_GRAY 
DW_MAPS_COLOR_GRAY 
DW_MAPS_COLOR_DARK_GRAY 
DW_MAPS_COLOR_BLACK 
DW_MAPS_COLOR_RED 
DW_MAPS_COLOR_YELLOW 
DW_MAPS_COLOR_GREEN 
DW_MAPS_COLOR_CYAN 
DW_MAPS_COLOR_BLUE 
DW_MAPS_COLOR_ORANGE 

Definition at line 111 of file Maps.h.

◆ dwMapsDirection

Direction compared to geometry (polyline order)

Enumerator
DW_MAPS_DIRECTION_FORWARD 
DW_MAPS_DIRECTION_BACKWARD 
DW_MAPS_DIRECTION_BOTH 
DW_MAPS_DIRECTION_NONE 

Definition at line 193 of file Maps.h.

◆ dwMapsFeatureType

Feature types.

Enumerator
DW_MAPS_FEATURE_UNKNOWN 
DW_MAPS_FEATURE_TRAFFIC_SIGN 
DW_MAPS_FEATURE_TRAFFIC_LIGHT 
DW_MAPS_FEATURE_LANE_MARK 

Definition at line 223 of file Maps.h.

◆ dwMapsLaneDividerType

Lane divider type and filter values.

Enumerator
DW_MAPS_LANE_DIVIDER_TYPE_INVISIBLE 
DW_MAPS_LANE_DIVIDER_TYPE_LONG_DASHED 
DW_MAPS_LANE_DIVIDER_TYPE_DOUBLE_SOLID 
DW_MAPS_LANE_DIVIDER_TYPE_SINGLE_SOLID 
DW_MAPS_LANE_DIVIDER_TYPE_SOLID_DASHED 
DW_MAPS_LANE_DIVIDER_TYPE_DASHED_SOLID 
DW_MAPS_LANE_DIVIDER_TYPE_SHORT_DASHED 
DW_MAPS_LANE_DIVIDER_TYPE_SHADED_AREA 
DW_MAPS_LANE_DIVIDER_TYPE_DASHED_BLOCKS 
DW_MAPS_LANE_DIVIDER_TYPE_DOUBLE_DASHED 
DW_MAPS_LANE_DIVIDER_TYPE_CROSSING_ALERT 
DW_MAPS_LANE_DIVIDER_TYPE_CENTER_TURN_LANE 
DW_MAPS_LANE_DIVIDER_TYPE_PHYSICAL 
DW_MAPS_LANE_DIVIDER_TYPE_CURB 
DW_MAPS_LANE_DIVIDER_TYPE_WALL_FLAT 
DW_MAPS_LANE_DIVIDER_TYPE_WALL_TUNNEL 
DW_MAPS_LANE_DIVIDER_TYPE_BARRIER_JERSEY 
DW_MAPS_LANE_DIVIDER_TYPE_BARRIER_SOUND 
DW_MAPS_LANE_DIVIDER_TYPE_BARRIER_CABLE 
DW_MAPS_LANE_DIVIDER_TYPE_GUARDRAIL 
DW_MAPS_LANE_DIVIDER_TYPE_FENCE 
DW_MAPS_LANE_DIVIDER_TYPE_RUBBER_POLE 
DW_MAPS_LANE_DIVIDER_TYPE_ROAD_STUDS 
DW_MAPS_LANE_DIVIDER_TYPE_ROAD_EDGE 
DW_MAPS_LANE_DIVIDER_TYPE_ALL 

Definition at line 131 of file Maps.h.

◆ dwMapsLaneGeometry

Enum for selection of lane geometry.

Enumerator
DW_MAPS_LANE_GEOMETRY_LANEDIVIDERRIGHT 
DW_MAPS_LANE_GEOMETRY_LANEDIVIDERLEFT 
DW_MAPS_LANE_GEOMETRY_LANECENTER 

Definition at line 256 of file Maps.h.

◆ dwMapsLaneType

Lane types.

Enumerator
DW_MAPS_LANE_TYPE_REGULAR 
DW_MAPS_LANE_TYPE_SHOULDER 
DW_MAPS_LANE_TYPE_DRIVABLE_SHOULDER 
DW_MAPS_LANE_TYPE_CAR_POOL 
DW_MAPS_LANE_TYPE_ENTRY 
DW_MAPS_LANE_TYPE_EXIT 
DW_MAPS_LANE_TYPE_CONNECT 
DW_MAPS_LANE_TYPE_EMERGENCY 
DW_MAPS_LANE_TYPE_STOP 
DW_MAPS_LANE_TYPE_EMERGENCY_STOP 
DW_MAPS_LANE_TYPE_ACCELERATE 
DW_MAPS_LANE_TYPE_DECELERATE 
DW_MAPS_LANE_TYPE_AVOID_DANGER 
DW_MAPS_LANE_TYPE_INTERSECTION 
DW_MAPS_LANE_TYPE_TOLL_GATE 
DW_MAPS_LANE_TYPE_CHECK_POINT 
DW_MAPS_LANE_TYPE_TURN_AROUND 
DW_MAPS_LANE_TYPE_FORMING 
DW_MAPS_LANE_TYPE_DESTROY 
DW_MAPS_LANE_TYPE_RAMP 

Definition at line 165 of file Maps.h.

◆ dwMapsMaterial

Material type values.

Enumerator
DW_MAPS_MATERIAL_UNKNOWN 
DW_MAPS_MATERIAL_METAL 
DW_MAPS_MATERIAL_CONCRETE 
DW_MAPS_MATERIAL_STONE 
DW_MAPS_MATERIAL_WOOD 
DW_MAPS_MATERIAL_PLASTIC 
DW_MAPS_MATERIAL_TRANSPARENT 
DW_MAPS_MATERIAL_PAINT 
DW_MAPS_MATERIAL_BOTTS_DOT 

Definition at line 94 of file Maps.h.

◆ dwMapsRoadSegmentType

Road segment types.

Enumerator
DW_MAPS_ROAD_SEGMENT_TYPE_DEFAULT 
DW_MAPS_ROAD_SEGMENT_TYPE_CONTROLLED_ACCESS 
DW_MAPS_ROAD_SEGMENT_TYPE_BRIDGE 
DW_MAPS_ROAD_SEGMENT_TYPE_TUNNEL 
DW_MAPS_ROAD_SEGMENT_TYPE_RAMP 
DW_MAPS_ROAD_SEGMENT_TYPE_URBAN 
DW_MAPS_ROAD_SEGMENT_TYPE_TOLLWAY 
DW_MAPS_ROAD_SEGMENT_TYPE_INTERSECTION 
DW_MAPS_ROAD_SEGMENT_TYPE_HIGHWAY 

Definition at line 205 of file Maps.h.

◆ dwMapsSerializationFormat

Serialization formats.

Enumerator
DW_MAPS_SERIALIZATION_FORMAT_BINARY 
DW_MAPS_SERIALIZATION_FORMAT_XML 

Definition at line 235 of file Maps.h.

◆ dwMapsSide

enum dwMapsSide

Enum for sides.

Enumerator
DW_MAPS_SIDE_RIGHT 
DW_MAPS_SIDE_LEFT 
DW_MAPS_SIDE_NONE 

Definition at line 245 of file Maps.h.