structs

package
v0.0.0-...-2bca03d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	BoundingBox_Type_name = map[int32]string{
		0: "TYPE_UNKNOWN",
		1: "TYPE_OTHER",
		2: "TYPE_BASE_STRUCTURE",
		3: "TYPE_PROTRUDING_STRUCTURE",
		4: "TYPE_CARGO",
		5: "TYPE_DOOR",
		6: "TYPE_SIDE_MIRROR",
	}
	BoundingBox_Type_value = map[string]int32{
		"TYPE_UNKNOWN":              0,
		"TYPE_OTHER":                1,
		"TYPE_BASE_STRUCTURE":       2,
		"TYPE_PROTRUDING_STRUCTURE": 3,
		"TYPE_CARGO":                4,
		"TYPE_DOOR":                 5,
		"TYPE_SIDE_MIRROR":          6,
	}
)

Enum value maps for BoundingBox_Type.

View Source
var (
	DetectedItemHeader_MeasurementState_name = map[int32]string{
		0: "MEASUREMENT_STATE_UNKNOWN",
		1: "MEASUREMENT_STATE_OTHER",
		2: "MEASUREMENT_STATE_MEASURED",
		3: "MEASUREMENT_STATE_PREDICTED",
	}
	DetectedItemHeader_MeasurementState_value = map[string]int32{
		"MEASUREMENT_STATE_UNKNOWN":   0,
		"MEASUREMENT_STATE_OTHER":     1,
		"MEASUREMENT_STATE_MEASURED":  2,
		"MEASUREMENT_STATE_PREDICTED": 3,
	}
)

Enum value maps for DetectedItemHeader_MeasurementState.

View Source
var (
	DetectedMovingObject_ReferencePoint_name = map[int32]string{
		0:  "REFERENCE_POINT_UNKNOWN",
		1:  "REFERENCE_POINT_OTHER",
		2:  "REFERENCE_POINT_CENTER",
		3:  "REFERENCE_POINT_MIDDLE_LEFT",
		4:  "REFERENCE_POINT_MIDDLE_RIGHT",
		5:  "REFERENCE_POINT_REAR_MIDDLE",
		6:  "REFERENCE_POINT_REAR_LEFT",
		7:  "REFERENCE_POINT_REAR_RIGHT",
		8:  "REFERENCE_POINT_FRONT_MIDDLE",
		9:  "REFERENCE_POINT_FRONT_LEFT",
		10: "REFERENCE_POINT_FRONT_RIGHT",
	}
	DetectedMovingObject_ReferencePoint_value = map[string]int32{
		"REFERENCE_POINT_UNKNOWN":      0,
		"REFERENCE_POINT_OTHER":        1,
		"REFERENCE_POINT_CENTER":       2,
		"REFERENCE_POINT_MIDDLE_LEFT":  3,
		"REFERENCE_POINT_MIDDLE_RIGHT": 4,
		"REFERENCE_POINT_REAR_MIDDLE":  5,
		"REFERENCE_POINT_REAR_LEFT":    6,
		"REFERENCE_POINT_REAR_RIGHT":   7,
		"REFERENCE_POINT_FRONT_MIDDLE": 8,
		"REFERENCE_POINT_FRONT_LEFT":   9,
		"REFERENCE_POINT_FRONT_RIGHT":  10,
	}
)

Enum value maps for DetectedMovingObject_ReferencePoint.

View Source
var (
	DetectedMovingObject_MovementState_name = map[int32]string{
		0: "MOVEMENT_STATE_UNKNOWN",
		1: "MOVEMENT_STATE_OTHER",
		2: "MOVEMENT_STATE_STATIONARY",
		3: "MOVEMENT_STATE_MOVING",
		4: "MOVEMENT_STATE_STOPPED",
	}
	DetectedMovingObject_MovementState_value = map[string]int32{
		"MOVEMENT_STATE_UNKNOWN":    0,
		"MOVEMENT_STATE_OTHER":      1,
		"MOVEMENT_STATE_STATIONARY": 2,
		"MOVEMENT_STATE_MOVING":     3,
		"MOVEMENT_STATE_STOPPED":    4,
	}
)

Enum value maps for DetectedMovingObject_MovementState.

View Source
var (
	DetectedTrafficSign_DetectedMainSign_Geometry_name = map[int32]string{
		0:  "GEOMETRY_UNKNOWN",
		1:  "GEOMETRY_OTHER",
		2:  "GEOMETRY_CIRCLE",
		3:  "GEOMETRY_TRIANGLE_TOP",
		4:  "GEOMETRY_TRIANGLE_DOWN",
		5:  "GEOMETRY_SQUARE",
		6:  "GEOMETRY_POLE",
		7:  "GEOMETRY_RECTANGLE",
		8:  "GEOMETRY_PLATE",
		9:  "GEOMETRY_DIAMOND",
		10: "GEOMETRY_ARROW_LEFT",
		11: "GEOMETRY_ARROW_RIGHT",
		12: "GEOMETRY_OCTAGON",
	}
	DetectedTrafficSign_DetectedMainSign_Geometry_value = map[string]int32{
		"GEOMETRY_UNKNOWN":       0,
		"GEOMETRY_OTHER":         1,
		"GEOMETRY_CIRCLE":        2,
		"GEOMETRY_TRIANGLE_TOP":  3,
		"GEOMETRY_TRIANGLE_DOWN": 4,
		"GEOMETRY_SQUARE":        5,
		"GEOMETRY_POLE":          6,
		"GEOMETRY_RECTANGLE":     7,
		"GEOMETRY_PLATE":         8,
		"GEOMETRY_DIAMOND":       9,
		"GEOMETRY_ARROW_LEFT":    10,
		"GEOMETRY_ARROW_RIGHT":   11,
		"GEOMETRY_OCTAGON":       12,
	}
)

Enum value maps for DetectedTrafficSign_DetectedMainSign_Geometry.

View Source
var (
	EnvironmentalConditions_Precipitation_name = map[int32]string{
		0: "PRECIPITATION_UNKNOWN",
		1: "PRECIPITATION_OTHER",
		2: "PRECIPITATION_NONE",
		3: "PRECIPITATION_VERY_LIGHT",
		4: "PRECIPITATION_LIGHT",
		5: "PRECIPITATION_MODERATE",
		6: "PRECIPITATION_HEAVY",
		7: "PRECIPITATION_VERY_HEAVY",
		8: "PRECIPITATION_EXTREME",
	}
	EnvironmentalConditions_Precipitation_value = map[string]int32{
		"PRECIPITATION_UNKNOWN":    0,
		"PRECIPITATION_OTHER":      1,
		"PRECIPITATION_NONE":       2,
		"PRECIPITATION_VERY_LIGHT": 3,
		"PRECIPITATION_LIGHT":      4,
		"PRECIPITATION_MODERATE":   5,
		"PRECIPITATION_HEAVY":      6,
		"PRECIPITATION_VERY_HEAVY": 7,
		"PRECIPITATION_EXTREME":    8,
	}
)

Enum value maps for EnvironmentalConditions_Precipitation.

View Source
var (
	EnvironmentalConditions_Fog_name = map[int32]string{
		0: "FOG_UNKNOWN",
		1: "FOG_OTHER",
		2: "FOG_EXCELLENT_VISIBILITY",
		3: "FOG_GOOD_VISIBILITY",
		4: "FOG_MODERATE_VISIBILITY",
		5: "FOG_POOR_VISIBILITY",
		6: "FOG_MIST",
		7: "FOG_LIGHT",
		8: "FOG_THICK",
		9: "FOG_DENSE",
	}
	EnvironmentalConditions_Fog_value = map[string]int32{
		"FOG_UNKNOWN":              0,
		"FOG_OTHER":                1,
		"FOG_EXCELLENT_VISIBILITY": 2,
		"FOG_GOOD_VISIBILITY":      3,
		"FOG_MODERATE_VISIBILITY":  4,
		"FOG_POOR_VISIBILITY":      5,
		"FOG_MIST":                 6,
		"FOG_LIGHT":                7,
		"FOG_THICK":                8,
		"FOG_DENSE":                9,
	}
)

Enum value maps for EnvironmentalConditions_Fog.

View Source
var (
	EnvironmentalConditions_AmbientIllumination_name = map[int32]string{
		0:  "AMBIENT_ILLUMINATION_UNKNOWN",
		1:  "AMBIENT_ILLUMINATION_OTHER",
		2:  "AMBIENT_ILLUMINATION_LEVEL1",
		3:  "AMBIENT_ILLUMINATION_LEVEL2",
		4:  "AMBIENT_ILLUMINATION_LEVEL3",
		5:  "AMBIENT_ILLUMINATION_LEVEL4",
		6:  "AMBIENT_ILLUMINATION_LEVEL5",
		7:  "AMBIENT_ILLUMINATION_LEVEL6",
		8:  "AMBIENT_ILLUMINATION_LEVEL7",
		9:  "AMBIENT_ILLUMINATION_LEVEL8",
		10: "AMBIENT_ILLUMINATION_LEVEL9",
	}
	EnvironmentalConditions_AmbientIllumination_value = map[string]int32{
		"AMBIENT_ILLUMINATION_UNKNOWN": 0,
		"AMBIENT_ILLUMINATION_OTHER":   1,
		"AMBIENT_ILLUMINATION_LEVEL1":  2,
		"AMBIENT_ILLUMINATION_LEVEL2":  3,
		"AMBIENT_ILLUMINATION_LEVEL3":  4,
		"AMBIENT_ILLUMINATION_LEVEL4":  5,
		"AMBIENT_ILLUMINATION_LEVEL5":  6,
		"AMBIENT_ILLUMINATION_LEVEL6":  7,
		"AMBIENT_ILLUMINATION_LEVEL7":  8,
		"AMBIENT_ILLUMINATION_LEVEL8":  9,
		"AMBIENT_ILLUMINATION_LEVEL9":  10,
	}
)

Enum value maps for EnvironmentalConditions_AmbientIllumination.

View Source
var (
	EnvironmentalConditions_CloudLayer_FractionalCloudCover_name = map[int32]string{
		0:  "FRACTIONAL_CLOUD_COVER_UNKNOWN",
		1:  "FRACTIONAL_CLOUD_COVER_OTHER",
		2:  "FRACTIONAL_CLOUD_COVER_ZERO_OKTAS",
		3:  "FRACTIONAL_CLOUD_COVER_ONE_OKTAS",
		4:  "FRACTIONAL_CLOUD_COVER_TWO_OKTAS",
		5:  "FRACTIONAL_CLOUD_COVER_THREE_OKTAS",
		6:  "FRACTIONAL_CLOUD_COVER_FOUR_OKTAS",
		7:  "FRACTIONAL_CLOUD_COVER_FIVE_OKTAS",
		8:  "FRACTIONAL_CLOUD_COVER_SIX_OKTAS",
		9:  "FRACTIONAL_CLOUD_COVER_SEVEN_OKTAS",
		10: "FRACTIONAL_CLOUD_COVER_EIGHT_OKTAS",
		11: "FRACTIONAL_CLOUD_COVER_SKY_OBSCURED",
	}
	EnvironmentalConditions_CloudLayer_FractionalCloudCover_value = map[string]int32{
		"FRACTIONAL_CLOUD_COVER_UNKNOWN":      0,
		"FRACTIONAL_CLOUD_COVER_OTHER":        1,
		"FRACTIONAL_CLOUD_COVER_ZERO_OKTAS":   2,
		"FRACTIONAL_CLOUD_COVER_ONE_OKTAS":    3,
		"FRACTIONAL_CLOUD_COVER_TWO_OKTAS":    4,
		"FRACTIONAL_CLOUD_COVER_THREE_OKTAS":  5,
		"FRACTIONAL_CLOUD_COVER_FOUR_OKTAS":   6,
		"FRACTIONAL_CLOUD_COVER_FIVE_OKTAS":   7,
		"FRACTIONAL_CLOUD_COVER_SIX_OKTAS":    8,
		"FRACTIONAL_CLOUD_COVER_SEVEN_OKTAS":  9,
		"FRACTIONAL_CLOUD_COVER_EIGHT_OKTAS":  10,
		"FRACTIONAL_CLOUD_COVER_SKY_OBSCURED": 11,
	}
)

Enum value maps for EnvironmentalConditions_CloudLayer_FractionalCloudCover.

View Source
var (
	DetectionClassification_name = map[int32]string{
		0: "DETECTION_CLASSIFICATION_UNKNOWN",
		1: "DETECTION_CLASSIFICATION_OTHER",
		2: "DETECTION_CLASSIFICATION_INVALID",
		3: "DETECTION_CLASSIFICATION_CLUTTER",
		4: "DETECTION_CLASSIFICATION_OVERDRIVABLE",
		5: "DETECTION_CLASSIFICATION_UNDERDRIVABLE",
	}
	DetectionClassification_value = map[string]int32{
		"DETECTION_CLASSIFICATION_UNKNOWN":       0,
		"DETECTION_CLASSIFICATION_OTHER":         1,
		"DETECTION_CLASSIFICATION_INVALID":       2,
		"DETECTION_CLASSIFICATION_CLUTTER":       3,
		"DETECTION_CLASSIFICATION_OVERDRIVABLE":  4,
		"DETECTION_CLASSIFICATION_UNDERDRIVABLE": 5,
	}
)

Enum value maps for DetectionClassification.

View Source
var (
	SensorDetectionHeader_DataQualifier_name = map[int32]string{
		0: "DATA_QUALIFIER_UNKNOWN",
		1: "DATA_QUALIFIER_OTHER",
		2: "DATA_QUALIFIER_AVAILABLE",
		3: "DATA_QUALIFIER_AVAILABLE_REDUCED",
		4: "DATA_QUALIFIER_NOT_AVAILABLE",
		5: "DATA_QUALIFIER_BLINDNESS",
		6: "DATA_QUALIFIER_TEMPORARY_AVAILABLE",
		7: "DATA_QUALIFIER_INVALID",
	}
	SensorDetectionHeader_DataQualifier_value = map[string]int32{
		"DATA_QUALIFIER_UNKNOWN":             0,
		"DATA_QUALIFIER_OTHER":               1,
		"DATA_QUALIFIER_AVAILABLE":           2,
		"DATA_QUALIFIER_AVAILABLE_REDUCED":   3,
		"DATA_QUALIFIER_NOT_AVAILABLE":       4,
		"DATA_QUALIFIER_BLINDNESS":           5,
		"DATA_QUALIFIER_TEMPORARY_AVAILABLE": 6,
		"DATA_QUALIFIER_INVALID":             7,
	}
)

Enum value maps for SensorDetectionHeader_DataQualifier.

View Source
var (
	SensorDetectionHeader_ExtendedQualifier_name = map[int32]string{
		0:  "EXTENDED_QUALIFIER_UNKNOWN",
		1:  "EXTENDED_QUALIFIER_OTHER",
		2:  "EXTENDED_QUALIFIER_NORMAL_OPERATION_MODE",
		3:  "EXTENDED_QUALIFIER_POWER_UP_OR_DOWN",
		4:  "EXTENDED_QUALIFIER_SENSOR_NOT_CALIBRATED",
		5:  "EXTENDED_QUALIFIER_SENSOR_BLOCKED",
		6:  "EXTENDED_QUALIFIER_SENSOR_MISALIGNED",
		7:  "EXTENDED_QUALIFIER_BAD_SENSOR_ENVIRONMENTAL_CONDITION",
		8:  "EXTENDED_QUALIFIER_REDUCED_FIELD_OF_VIEW",
		9:  "EXTENDED_QUALIFIER_INPUT_NOT_AVAILABLE",
		10: "EXTENDED_QUALIFIER_INTERNAL_REASON",
		11: "EXTENDED_QUALIFIER_EXTERNAL_DISTURBANCE",
		12: "EXTENDED_QUALIFIER_BEGINNING_BLOCKAGE",
	}
	SensorDetectionHeader_ExtendedQualifier_value = map[string]int32{
		"EXTENDED_QUALIFIER_UNKNOWN":                            0,
		"EXTENDED_QUALIFIER_OTHER":                              1,
		"EXTENDED_QUALIFIER_NORMAL_OPERATION_MODE":              2,
		"EXTENDED_QUALIFIER_POWER_UP_OR_DOWN":                   3,
		"EXTENDED_QUALIFIER_SENSOR_NOT_CALIBRATED":              4,
		"EXTENDED_QUALIFIER_SENSOR_BLOCKED":                     5,
		"EXTENDED_QUALIFIER_SENSOR_MISALIGNED":                  6,
		"EXTENDED_QUALIFIER_BAD_SENSOR_ENVIRONMENTAL_CONDITION": 7,
		"EXTENDED_QUALIFIER_REDUCED_FIELD_OF_VIEW":              8,
		"EXTENDED_QUALIFIER_INPUT_NOT_AVAILABLE":                9,
		"EXTENDED_QUALIFIER_INTERNAL_REASON":                    10,
		"EXTENDED_QUALIFIER_EXTERNAL_DISTURBANCE":               11,
		"EXTENDED_QUALIFIER_BEGINNING_BLOCKAGE":                 12,
	}
)

Enum value maps for SensorDetectionHeader_ExtendedQualifier.

View Source
var (
	CameraDetection_Color_name = map[int32]string{
		0: "COLOR_UNKNOWN",
		1: "COLOR_OTHER",
		2: "COLOR_BLACK",
		3: "COLOR_GRAY",

		4:  "COLOR_WHITE",
		5:  "COLOR_YELLOW",
		6:  "COLOR_ORANGE",
		7:  "COLOR_RED",
		8:  "COLOR_VIOLET",
		9:  "COLOR_BLUE",
		10: "COLOR_GREEN",
		11: "COLOR_REFLECTIVE",
	}
	CameraDetection_Color_value = map[string]int32{
		"COLOR_UNKNOWN":    0,
		"COLOR_OTHER":      1,
		"COLOR_BLACK":      2,
		"COLOR_GRAY":       3,
		"COLOR_GREY":       3,
		"COLOR_WHITE":      4,
		"COLOR_YELLOW":     5,
		"COLOR_ORANGE":     6,
		"COLOR_RED":        7,
		"COLOR_VIOLET":     8,
		"COLOR_BLUE":       9,
		"COLOR_GREEN":      10,
		"COLOR_REFLECTIVE": 11,
	}
)

Enum value maps for CameraDetection_Color.

View Source
var (
	CameraDetection_ImageShapeType_name = map[int32]string{
		0: "IMAGE_SHAPE_TYPE_UNKNOWN",
		1: "IMAGE_SHAPE_TYPE_OTHER",
		2: "IMAGE_SHAPE_TYPE_POINT",
		3: "IMAGE_SHAPE_TYPE_BOX",
		4: "IMAGE_SHAPE_TYPE_ELLIPSE",
		5: "IMAGE_SHAPE_TYPE_POLYGON",
		6: "IMAGE_SHAPE_TYPE_POLYLINE",
		7: "IMAGE_SHAPE_TYPE_POINT_CLOUD",
	}
	CameraDetection_ImageShapeType_value = map[string]int32{
		"IMAGE_SHAPE_TYPE_UNKNOWN":     0,
		"IMAGE_SHAPE_TYPE_OTHER":       1,
		"IMAGE_SHAPE_TYPE_POINT":       2,
		"IMAGE_SHAPE_TYPE_BOX":         3,
		"IMAGE_SHAPE_TYPE_ELLIPSE":     4,
		"IMAGE_SHAPE_TYPE_POLYGON":     5,
		"IMAGE_SHAPE_TYPE_POLYLINE":    6,
		"IMAGE_SHAPE_TYPE_POINT_CLOUD": 7,
	}
)

Enum value maps for CameraDetection_ImageShapeType.

View Source
var (
	HostVehicleData_VehicleBasics_OperatingState_name = map[int32]string{
		0: "OPERATING_STATE_UNKNOWN",
		1: "OPERATING_STATE_OTHER",
		2: "OPERATING_STATE_SLEEP",
		3: "OPERATING_STATE_STANDBY",
		4: "OPERATING_STATE_BOARDING",
		5: "OPERATING_STATE_ENTERTAINMENT",
		6: "OPERATING_STATE_DRIVING",
		7: "OPERATING_STATE_DIAGNOSTIC",
	}
	HostVehicleData_VehicleBasics_OperatingState_value = map[string]int32{
		"OPERATING_STATE_UNKNOWN":       0,
		"OPERATING_STATE_OTHER":         1,
		"OPERATING_STATE_SLEEP":         2,
		"OPERATING_STATE_STANDBY":       3,
		"OPERATING_STATE_BOARDING":      4,
		"OPERATING_STATE_ENTERTAINMENT": 5,
		"OPERATING_STATE_DRIVING":       6,
		"OPERATING_STATE_DIAGNOSTIC":    7,
	}
)

Enum value maps for HostVehicleData_VehicleBasics_OperatingState.

View Source
var (
	HostVehicleData_VehiclePowertrain_Motor_Type_name = map[int32]string{
		0: "TYPE_UNKNOWN",
		1: "TYPE_OTHER",
		2: "TYPE_OTTO",
		3: "TYPE_DIESEL",
		4: "TYPE_ELECTRIC",
	}
	HostVehicleData_VehiclePowertrain_Motor_Type_value = map[string]int32{
		"TYPE_UNKNOWN":  0,
		"TYPE_OTHER":    1,
		"TYPE_OTTO":     2,
		"TYPE_DIESEL":   3,
		"TYPE_ELECTRIC": 4,
	}
)

Enum value maps for HostVehicleData_VehiclePowertrain_Motor_Type.

View Source
var (
	HostVehicleData_VehicleAutomatedDrivingFunction_Name_name = map[int32]string{
		0:  "NAME_UNKNOWN",
		1:  "NAME_OTHER",
		2:  "NAME_BLIND_SPOT_WARNING",
		3:  "NAME_FORWARD_COLLISION_WARNING",
		4:  "NAME_LANE_DEPARTURE_WARNING",
		5:  "NAME_PARKING_COLLISION_WARNING",
		6:  "NAME_REAR_CROSS_TRAFFIC_WARNING",
		7:  "NAME_AUTOMATIC_EMERGENCY_BRAKING",
		8:  "NAME_AUTOMATIC_EMERGENCY_STEERING",
		9:  "NAME_REVERSE_AUTOMATIC_EMERGENCY_BRAKING",
		10: "NAME_ADAPTIVE_CRUISE_CONTROL",
		11: "NAME_LANE_KEEPING_ASSIST",
		12: "NAME_ACTIVE_DRIVING_ASSISTANCE",
		13: "NAME_BACKUP_CAMERA",
		14: "NAME_SURROUND_VIEW_CAMERA",
		15: "NAME_ACTIVE_PARKING_ASSISTANCE",
		16: "NAME_REMOTE_PARKING_ASSISTANCE",
		17: "NAME_TRAILER_ASSISTANCE",
		18: "NAME_AUTOMATIC_HIGH_BEAMS",
		19: "NAME_DRIVER_MONITORING",
		20: "NAME_HEAD_UP_DISPLAY",
		21: "NAME_NIGHT_VISION",
		22: "NAME_URBAN_DRIVING",
		23: "NAME_HIGHWAY_AUTOPILOT",
		24: "NAME_CRUISE_CONTROL",
		25: "NAME_SPEED_LIMIT_CONTROL",
	}
	HostVehicleData_VehicleAutomatedDrivingFunction_Name_value = map[string]int32{
		"NAME_UNKNOWN":                             0,
		"NAME_OTHER":                               1,
		"NAME_BLIND_SPOT_WARNING":                  2,
		"NAME_FORWARD_COLLISION_WARNING":           3,
		"NAME_LANE_DEPARTURE_WARNING":              4,
		"NAME_PARKING_COLLISION_WARNING":           5,
		"NAME_REAR_CROSS_TRAFFIC_WARNING":          6,
		"NAME_AUTOMATIC_EMERGENCY_BRAKING":         7,
		"NAME_AUTOMATIC_EMERGENCY_STEERING":        8,
		"NAME_REVERSE_AUTOMATIC_EMERGENCY_BRAKING": 9,
		"NAME_ADAPTIVE_CRUISE_CONTROL":             10,
		"NAME_LANE_KEEPING_ASSIST":                 11,
		"NAME_ACTIVE_DRIVING_ASSISTANCE":           12,
		"NAME_BACKUP_CAMERA":                       13,
		"NAME_SURROUND_VIEW_CAMERA":                14,
		"NAME_ACTIVE_PARKING_ASSISTANCE":           15,
		"NAME_REMOTE_PARKING_ASSISTANCE":           16,
		"NAME_TRAILER_ASSISTANCE":                  17,
		"NAME_AUTOMATIC_HIGH_BEAMS":                18,
		"NAME_DRIVER_MONITORING":                   19,
		"NAME_HEAD_UP_DISPLAY":                     20,
		"NAME_NIGHT_VISION":                        21,
		"NAME_URBAN_DRIVING":                       22,
		"NAME_HIGHWAY_AUTOPILOT":                   23,
		"NAME_CRUISE_CONTROL":                      24,
		"NAME_SPEED_LIMIT_CONTROL":                 25,
	}
)

Enum value maps for HostVehicleData_VehicleAutomatedDrivingFunction_Name.

View Source
var (
	HostVehicleData_VehicleAutomatedDrivingFunction_State_name = map[int32]string{
		0: "STATE_UNKNOWN",
		1: "STATE_OTHER",
		2: "STATE_ERRORED",
		3: "STATE_UNAVAILABLE",
		4: "STATE_AVAILABLE",
		5: "STATE_STANDBY",
		6: "STATE_ACTIVE",
	}
	HostVehicleData_VehicleAutomatedDrivingFunction_State_value = map[string]int32{
		"STATE_UNKNOWN":     0,
		"STATE_OTHER":       1,
		"STATE_ERRORED":     2,
		"STATE_UNAVAILABLE": 3,
		"STATE_AVAILABLE":   4,
		"STATE_STANDBY":     5,
		"STATE_ACTIVE":      6,
	}
)

Enum value maps for HostVehicleData_VehicleAutomatedDrivingFunction_State.

View Source
var (
	HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason_name = map[int32]string{
		0: "REASON_BRAKE_PEDAL",
		1: "REASON_STEERING_INPUT",
	}
	HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason_value = map[string]int32{
		"REASON_BRAKE_PEDAL":    0,
		"REASON_STEERING_INPUT": 1,
	}
)

Enum value maps for HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason.

View Source
var (
	Lane_Classification_Type_name = map[int32]string{
		0: "TYPE_UNKNOWN",
		1: "TYPE_OTHER",
		2: "TYPE_DRIVING",
		3: "TYPE_NONDRIVING",
		4: "TYPE_INTERSECTION",
	}
	Lane_Classification_Type_value = map[string]int32{
		"TYPE_UNKNOWN":      0,
		"TYPE_OTHER":        1,
		"TYPE_DRIVING":      2,
		"TYPE_NONDRIVING":   3,
		"TYPE_INTERSECTION": 4,
	}
)

Enum value maps for Lane_Classification_Type.

View Source
var (
	Lane_Classification_Subtype_name = map[int32]string{
		0:  "SUBTYPE_UNKNOWN",
		1:  "SUBTYPE_OTHER",
		2:  "SUBTYPE_NORMAL",
		3:  "SUBTYPE_BIKING",
		4:  "SUBTYPE_SIDEWALK",
		5:  "SUBTYPE_PARKING",
		6:  "SUBTYPE_STOP",
		7:  "SUBTYPE_RESTRICTED",
		8:  "SUBTYPE_BORDER",
		9:  "SUBTYPE_SHOULDER",
		10: "SUBTYPE_EXIT",
		11: "SUBTYPE_ENTRY",
		12: "SUBTYPE_ONRAMP",
		13: "SUBTYPE_OFFRAMP",
		14: "SUBTYPE_CONNECTINGRAMP",
	}
	Lane_Classification_Subtype_value = map[string]int32{
		"SUBTYPE_UNKNOWN":        0,
		"SUBTYPE_OTHER":          1,
		"SUBTYPE_NORMAL":         2,
		"SUBTYPE_BIKING":         3,
		"SUBTYPE_SIDEWALK":       4,
		"SUBTYPE_PARKING":        5,
		"SUBTYPE_STOP":           6,
		"SUBTYPE_RESTRICTED":     7,
		"SUBTYPE_BORDER":         8,
		"SUBTYPE_SHOULDER":       9,
		"SUBTYPE_EXIT":           10,
		"SUBTYPE_ENTRY":          11,
		"SUBTYPE_ONRAMP":         12,
		"SUBTYPE_OFFRAMP":        13,
		"SUBTYPE_CONNECTINGRAMP": 14,
	}
)

Enum value maps for Lane_Classification_Subtype.

View Source
var (
	LaneBoundary_BoundaryPoint_Dash_name = map[int32]string{
		0: "DASH_UNKNOWN",
		1: "DASH_OTHER",
		2: "DASH_START",
		3: "DASH_CONTINUE",
		4: "DASH_END",
		5: "DASH_GAP",
	}
	LaneBoundary_BoundaryPoint_Dash_value = map[string]int32{
		"DASH_UNKNOWN":  0,
		"DASH_OTHER":    1,
		"DASH_START":    2,
		"DASH_CONTINUE": 3,
		"DASH_END":      4,
		"DASH_GAP":      5,
	}
)

Enum value maps for LaneBoundary_BoundaryPoint_Dash.

View Source
var (
	LaneBoundary_Classification_Type_name = map[int32]string{
		0:  "TYPE_UNKNOWN",
		1:  "TYPE_OTHER",
		2:  "TYPE_NO_LINE",
		3:  "TYPE_SOLID_LINE",
		4:  "TYPE_DASHED_LINE",
		5:  "TYPE_BOTTS_DOTS",
		6:  "TYPE_ROAD_EDGE",
		7:  "TYPE_SNOW_EDGE",
		8:  "TYPE_GRASS_EDGE",
		9:  "TYPE_GRAVEL_EDGE",
		10: "TYPE_SOIL_EDGE",
		11: "TYPE_GUARD_RAIL",
		12: "TYPE_CURB",
		13: "TYPE_STRUCTURE",
		14: "TYPE_BARRIER",
		15: "TYPE_SOUND_BARRIER",
	}
	LaneBoundary_Classification_Type_value = map[string]int32{
		"TYPE_UNKNOWN":       0,
		"TYPE_OTHER":         1,
		"TYPE_NO_LINE":       2,
		"TYPE_SOLID_LINE":    3,
		"TYPE_DASHED_LINE":   4,
		"TYPE_BOTTS_DOTS":    5,
		"TYPE_ROAD_EDGE":     6,
		"TYPE_SNOW_EDGE":     7,
		"TYPE_GRASS_EDGE":    8,
		"TYPE_GRAVEL_EDGE":   9,
		"TYPE_SOIL_EDGE":     10,
		"TYPE_GUARD_RAIL":    11,
		"TYPE_CURB":          12,
		"TYPE_STRUCTURE":     13,
		"TYPE_BARRIER":       14,
		"TYPE_SOUND_BARRIER": 15,
	}
)

Enum value maps for LaneBoundary_Classification_Type.

View Source
var (
	LaneBoundary_Classification_Color_name = map[int32]string{
		0: "COLOR_UNKNOWN",
		1: "COLOR_OTHER",
		2: "COLOR_NONE",
		3: "COLOR_WHITE",
		4: "COLOR_YELLOW",
		5: "COLOR_RED",
		6: "COLOR_BLUE",
		7: "COLOR_GREEN",
		8: "COLOR_VIOLET",
		9: "COLOR_ORANGE",
	}
	LaneBoundary_Classification_Color_value = map[string]int32{
		"COLOR_UNKNOWN": 0,
		"COLOR_OTHER":   1,
		"COLOR_NONE":    2,
		"COLOR_WHITE":   3,
		"COLOR_YELLOW":  4,
		"COLOR_RED":     5,
		"COLOR_BLUE":    6,
		"COLOR_GREEN":   7,
		"COLOR_VIOLET":  8,
		"COLOR_ORANGE":  9,
	}
)

Enum value maps for LaneBoundary_Classification_Color.

View Source
var (
	LogicalDetectionClassification_name = map[int32]string{
		0: "LOGICAL_DETECTION_CLASSIFICATION_UNKNOWN",
		1: "LOGICAL_DETECTION_CLASSIFICATION_OTHER",
		2: "LOGICAL_DETECTION_CLASSIFICATION_INVALID",
		3: "LOGICAL_DETECTION_CLASSIFICATION_CLUTTER",
		4: "LOGICAL_DETECTION_CLASSIFICATION_OVERDRIVABLE",
		5: "LOGICAL_DETECTION_CLASSIFICATION_UNDERDRIVABLE",
	}
	LogicalDetectionClassification_value = map[string]int32{
		"LOGICAL_DETECTION_CLASSIFICATION_UNKNOWN":       0,
		"LOGICAL_DETECTION_CLASSIFICATION_OTHER":         1,
		"LOGICAL_DETECTION_CLASSIFICATION_INVALID":       2,
		"LOGICAL_DETECTION_CLASSIFICATION_CLUTTER":       3,
		"LOGICAL_DETECTION_CLASSIFICATION_OVERDRIVABLE":  4,
		"LOGICAL_DETECTION_CLASSIFICATION_UNDERDRIVABLE": 5,
	}
)

Enum value maps for LogicalDetectionClassification.

View Source
var (
	LogicalDetectionDataHeader_DataQualifier_name = map[int32]string{
		0: "DATA_QUALIFIER_UNKNOWN",
		1: "DATA_QUALIFIER_OTHER",
		2: "DATA_QUALIFIER_AVAILABLE",
		3: "DATA_QUALIFIER_AVAILABLE_REDUCED",
		4: "DATA_QUALIFIER_NOT_AVAILABLE",
		5: "DATA_QUALIFIER_BLINDNESS",
		6: "DATA_QUALIFIER_TEMPORARY_AVAILABLE",
		7: "DATA_QUALIFIER_INVALID",
	}
	LogicalDetectionDataHeader_DataQualifier_value = map[string]int32{
		"DATA_QUALIFIER_UNKNOWN":             0,
		"DATA_QUALIFIER_OTHER":               1,
		"DATA_QUALIFIER_AVAILABLE":           2,
		"DATA_QUALIFIER_AVAILABLE_REDUCED":   3,
		"DATA_QUALIFIER_NOT_AVAILABLE":       4,
		"DATA_QUALIFIER_BLINDNESS":           5,
		"DATA_QUALIFIER_TEMPORARY_AVAILABLE": 6,
		"DATA_QUALIFIER_INVALID":             7,
	}
)

Enum value maps for LogicalDetectionDataHeader_DataQualifier.

View Source
var (
	LogicalLaneBoundary_PassingRule_name = map[int32]string{
		0: "PASSING_RULE_UNKNOWN",
		1: "PASSING_RULE_OTHER",
		2: "PASSING_RULE_NONE_ALLOWED",
		3: "PASSING_RULE_INCREASING_T",
		4: "PASSING_RULE_DECREASING_T",
		5: "PASSING_RULE_BOTH_ALLOWED",
	}
	LogicalLaneBoundary_PassingRule_value = map[string]int32{
		"PASSING_RULE_UNKNOWN":      0,
		"PASSING_RULE_OTHER":        1,
		"PASSING_RULE_NONE_ALLOWED": 2,
		"PASSING_RULE_INCREASING_T": 3,
		"PASSING_RULE_DECREASING_T": 4,
		"PASSING_RULE_BOTH_ALLOWED": 5,
	}
)

Enum value maps for LogicalLaneBoundary_PassingRule.

View Source
var (
	LogicalLane_Type_name = map[int32]string{
		0:  "TYPE_UNKNOWN",
		1:  "TYPE_OTHER",
		2:  "TYPE_NORMAL",
		3:  "TYPE_BIKING",
		4:  "TYPE_SIDEWALK",
		5:  "TYPE_PARKING",
		6:  "TYPE_STOP",
		7:  "TYPE_RESTRICTED",
		8:  "TYPE_BORDER",
		9:  "TYPE_SHOULDER",
		10: "TYPE_EXIT",
		11: "TYPE_ENTRY",
		12: "TYPE_ONRAMP",
		13: "TYPE_OFFRAMP",
		14: "TYPE_CONNECTINGRAMP",
		15: "TYPE_MEDIAN",
		16: "TYPE_CURB",
		17: "TYPE_RAIL",
		18: "TYPE_TRAM",
	}
	LogicalLane_Type_value = map[string]int32{
		"TYPE_UNKNOWN":        0,
		"TYPE_OTHER":          1,
		"TYPE_NORMAL":         2,
		"TYPE_BIKING":         3,
		"TYPE_SIDEWALK":       4,
		"TYPE_PARKING":        5,
		"TYPE_STOP":           6,
		"TYPE_RESTRICTED":     7,
		"TYPE_BORDER":         8,
		"TYPE_SHOULDER":       9,
		"TYPE_EXIT":           10,
		"TYPE_ENTRY":          11,
		"TYPE_ONRAMP":         12,
		"TYPE_OFFRAMP":        13,
		"TYPE_CONNECTINGRAMP": 14,
		"TYPE_MEDIAN":         15,
		"TYPE_CURB":           16,
		"TYPE_RAIL":           17,
		"TYPE_TRAM":           18,
	}
)

Enum value maps for LogicalLane_Type.

View Source
var (
	LogicalLane_MoveDirection_name = map[int32]string{
		0: "MOVE_DIRECTION_UNKNOWN",
		1: "MOVE_DIRECTION_OTHER",
		2: "MOVE_DIRECTION_INCREASING_S",
		3: "MOVE_DIRECTION_DECREASING_S",
		4: "MOVE_DIRECTION_BOTH_ALLOWED",
	}
	LogicalLane_MoveDirection_value = map[string]int32{
		"MOVE_DIRECTION_UNKNOWN":      0,
		"MOVE_DIRECTION_OTHER":        1,
		"MOVE_DIRECTION_INCREASING_S": 2,
		"MOVE_DIRECTION_DECREASING_S": 3,
		"MOVE_DIRECTION_BOTH_ALLOWED": 4,
	}
)

Enum value maps for LogicalLane_MoveDirection.

View Source
var (
	LogicalLane_TrafficRule_TrafficRuleType_name = map[int32]string{
		0: "TRAFFIC_RULE_TYPE_SPEED_LIMIT",
	}
	LogicalLane_TrafficRule_TrafficRuleType_value = map[string]int32{
		"TRAFFIC_RULE_TYPE_SPEED_LIMIT": 0,
	}
)

Enum value maps for LogicalLane_TrafficRule_TrafficRuleType.

View Source
var (
	MotionRequest_MotionRequestType_name = map[int32]string{
		0: "MOTION_REQUEST_TYPE_DESIRED_STATE",
		1: "MOTION_REQUEST_TYPE_TRAJECTORY",
	}
	MotionRequest_MotionRequestType_value = map[string]int32{
		"MOTION_REQUEST_TYPE_DESIRED_STATE": 0,
		"MOTION_REQUEST_TYPE_TRAJECTORY":    1,
	}
)

Enum value maps for MotionRequest_MotionRequestType.

View Source
var (
	StationaryObject_Classification_Type_name = map[int32]string{
		0:  "TYPE_UNKNOWN",
		1:  "TYPE_OTHER",
		2:  "TYPE_BRIDGE",
		3:  "TYPE_BUILDING",
		4:  "TYPE_POLE",
		5:  "TYPE_PYLON",
		6:  "TYPE_DELINEATOR",
		7:  "TYPE_TREE",
		8:  "TYPE_BARRIER",
		9:  "TYPE_VEGETATION",
		10: "TYPE_CURBSTONE",
		11: "TYPE_WALL",
		12: "TYPE_VERTICAL_STRUCTURE",
		13: "TYPE_RECTANGULAR_STRUCTURE",
		14: "TYPE_OVERHEAD_STRUCTURE",
		15: "TYPE_REFLECTIVE_STRUCTURE",
		16: "TYPE_CONSTRUCTION_SITE_ELEMENT",
		17: "TYPE_SPEED_BUMP",
		18: "TYPE_EMITTING_STRUCTURE",
	}
	StationaryObject_Classification_Type_value = map[string]int32{
		"TYPE_UNKNOWN":                   0,
		"TYPE_OTHER":                     1,
		"TYPE_BRIDGE":                    2,
		"TYPE_BUILDING":                  3,
		"TYPE_POLE":                      4,
		"TYPE_PYLON":                     5,
		"TYPE_DELINEATOR":                6,
		"TYPE_TREE":                      7,
		"TYPE_BARRIER":                   8,
		"TYPE_VEGETATION":                9,
		"TYPE_CURBSTONE":                 10,
		"TYPE_WALL":                      11,
		"TYPE_VERTICAL_STRUCTURE":        12,
		"TYPE_RECTANGULAR_STRUCTURE":     13,
		"TYPE_OVERHEAD_STRUCTURE":        14,
		"TYPE_REFLECTIVE_STRUCTURE":      15,
		"TYPE_CONSTRUCTION_SITE_ELEMENT": 16,
		"TYPE_SPEED_BUMP":                17,
		"TYPE_EMITTING_STRUCTURE":        18,
	}
)

Enum value maps for StationaryObject_Classification_Type.

View Source
var (
	StationaryObject_Classification_Material_name = map[int32]string{
		0: "MATERIAL_UNKNOWN",
		1: "MATERIAL_OTHER",
		2: "MATERIAL_WOOD",
		3: "MATERIAL_PLASTIC",
		4: "MATERIAL_CONCRETE",
		5: "MATERIAL_METAL",
		6: "MATERIAL_STONE",
		7: "MATERIAL_GLASS",

		8: "MATERIAL_MUD",
	}
	StationaryObject_Classification_Material_value = map[string]int32{
		"MATERIAL_UNKNOWN":  0,
		"MATERIAL_OTHER":    1,
		"MATERIAL_WOOD":     2,
		"MATERIAL_PLASTIC":  3,
		"MATERIAL_CONCRETE": 4,
		"MATERIAL_METAL":    5,
		"MATERIAL_STONE":    6,
		"MATERIAL_GLASS":    7,
		"MATERIAL_GLAS":     7,
		"MATERIAL_MUD":      8,
	}
)

Enum value maps for StationaryObject_Classification_Material.

View Source
var (
	StationaryObject_Classification_Density_name = map[int32]string{
		0: "DENSITY_UNKNOWN",
		1: "DENSITY_OTHER",
		2: "DENSITY_SOLID",
		3: "DENSITY_SMALL_MESH",
		4: "DENSITY_MEDIAN_MESH",
		5: "DENSITY_LARGE_MESH",
		6: "DENSITY_OPEN",
	}
	StationaryObject_Classification_Density_value = map[string]int32{
		"DENSITY_UNKNOWN":     0,
		"DENSITY_OTHER":       1,
		"DENSITY_SOLID":       2,
		"DENSITY_SMALL_MESH":  3,
		"DENSITY_MEDIAN_MESH": 4,
		"DENSITY_LARGE_MESH":  5,
		"DENSITY_OPEN":        6,
	}
)

Enum value maps for StationaryObject_Classification_Density.

View Source
var (
	StationaryObject_Classification_Color_name = map[int32]string{
		0: "COLOR_UNKNOWN",
		1: "COLOR_OTHER",
		2: "COLOR_YELLOW",
		3: "COLOR_GREEN",
		4: "COLOR_BLUE",
		5: "COLOR_VIOLET",
		6: "COLOR_RED",
		7: "COLOR_ORANGE",
		8: "COLOR_BLACK",
		9: "COLOR_GRAY",

		10: "COLOR_WHITE",
	}
	StationaryObject_Classification_Color_value = map[string]int32{
		"COLOR_UNKNOWN": 0,
		"COLOR_OTHER":   1,
		"COLOR_YELLOW":  2,
		"COLOR_GREEN":   3,
		"COLOR_BLUE":    4,
		"COLOR_VIOLET":  5,
		"COLOR_RED":     6,
		"COLOR_ORANGE":  7,
		"COLOR_BLACK":   8,
		"COLOR_GRAY":    9,
		"COLOR_GREY":    9,
		"COLOR_WHITE":   10,
	}
)

Enum value maps for StationaryObject_Classification_Color.

View Source
var (
	MovingObject_Type_name = map[int32]string{
		0: "TYPE_UNKNOWN",
		1: "TYPE_OTHER",
		2: "TYPE_VEHICLE",
		3: "TYPE_PEDESTRIAN",
		4: "TYPE_ANIMAL",
	}
	MovingObject_Type_value = map[string]int32{
		"TYPE_UNKNOWN":    0,
		"TYPE_OTHER":      1,
		"TYPE_VEHICLE":    2,
		"TYPE_PEDESTRIAN": 3,
		"TYPE_ANIMAL":     4,
	}
)

Enum value maps for MovingObject_Type.

View Source
var (
	MovingObject_VehicleClassification_Type_name = map[int32]string{
		0: "TYPE_UNKNOWN",
		1: "TYPE_OTHER",
		2: "TYPE_SMALL_CAR",
		3: "TYPE_COMPACT_CAR",
		4: "TYPE_CAR",

		5:  "TYPE_LUXURY_CAR",
		6:  "TYPE_DELIVERY_VAN",
		7:  "TYPE_HEAVY_TRUCK",
		16: "TYPE_SEMITRACTOR",
		8:  "TYPE_SEMITRAILER",
		9:  "TYPE_TRAILER",
		10: "TYPE_MOTORBIKE",
		11: "TYPE_BICYCLE",
		12: "TYPE_BUS",
		13: "TYPE_TRAM",
		14: "TYPE_TRAIN",
		15: "TYPE_WHEELCHAIR",
		17: "TYPE_STANDUP_SCOOTER",
	}
	MovingObject_VehicleClassification_Type_value = map[string]int32{
		"TYPE_UNKNOWN":         0,
		"TYPE_OTHER":           1,
		"TYPE_SMALL_CAR":       2,
		"TYPE_COMPACT_CAR":     3,
		"TYPE_CAR":             4,
		"TYPE_MEDIUM_CAR":      4,
		"TYPE_LUXURY_CAR":      5,
		"TYPE_DELIVERY_VAN":    6,
		"TYPE_HEAVY_TRUCK":     7,
		"TYPE_SEMITRACTOR":     16,
		"TYPE_SEMITRAILER":     8,
		"TYPE_TRAILER":         9,
		"TYPE_MOTORBIKE":       10,
		"TYPE_BICYCLE":         11,
		"TYPE_BUS":             12,
		"TYPE_TRAM":            13,
		"TYPE_TRAIN":           14,
		"TYPE_WHEELCHAIR":      15,
		"TYPE_STANDUP_SCOOTER": 17,
	}
)

Enum value maps for MovingObject_VehicleClassification_Type.

View Source
var (
	MovingObject_VehicleClassification_Role_name = map[int32]string{
		0:  "ROLE_UNKNOWN",
		1:  "ROLE_OTHER",
		2:  "ROLE_CIVIL",
		3:  "ROLE_AMBULANCE",
		4:  "ROLE_FIRE",
		5:  "ROLE_POLICE",
		6:  "ROLE_PUBLIC_TRANSPORT",
		7:  "ROLE_ROAD_ASSISTANCE",
		8:  "ROLE_GARBAGE_COLLECTION",
		9:  "ROLE_ROAD_CONSTRUCTION",
		10: "ROLE_MILITARY",
	}
	MovingObject_VehicleClassification_Role_value = map[string]int32{
		"ROLE_UNKNOWN":            0,
		"ROLE_OTHER":              1,
		"ROLE_CIVIL":              2,
		"ROLE_AMBULANCE":          3,
		"ROLE_FIRE":               4,
		"ROLE_POLICE":             5,
		"ROLE_PUBLIC_TRANSPORT":   6,
		"ROLE_ROAD_ASSISTANCE":    7,
		"ROLE_GARBAGE_COLLECTION": 8,
		"ROLE_ROAD_CONSTRUCTION":  9,
		"ROLE_MILITARY":           10,
	}
)

Enum value maps for MovingObject_VehicleClassification_Role.

View Source
var (
	MovingObject_VehicleClassification_LightState_IndicatorState_name = map[int32]string{
		0: "INDICATOR_STATE_UNKNOWN",
		1: "INDICATOR_STATE_OTHER",
		2: "INDICATOR_STATE_OFF",
		3: "INDICATOR_STATE_LEFT",
		4: "INDICATOR_STATE_RIGHT",
		5: "INDICATOR_STATE_WARNING",
	}
	MovingObject_VehicleClassification_LightState_IndicatorState_value = map[string]int32{
		"INDICATOR_STATE_UNKNOWN": 0,
		"INDICATOR_STATE_OTHER":   1,
		"INDICATOR_STATE_OFF":     2,
		"INDICATOR_STATE_LEFT":    3,
		"INDICATOR_STATE_RIGHT":   4,
		"INDICATOR_STATE_WARNING": 5,
	}
)

Enum value maps for MovingObject_VehicleClassification_LightState_IndicatorState.

View Source
var (
	MovingObject_VehicleClassification_LightState_GenericLightState_name = map[int32]string{
		0: "GENERIC_LIGHT_STATE_UNKNOWN",
		1: "GENERIC_LIGHT_STATE_OTHER",
		2: "GENERIC_LIGHT_STATE_OFF",
		3: "GENERIC_LIGHT_STATE_ON",
		4: "GENERIC_LIGHT_STATE_FLASHING_BLUE",
		5: "GENERIC_LIGHT_STATE_FLASHING_BLUE_AND_RED",
		6: "GENERIC_LIGHT_STATE_FLASHING_AMBER",
	}
	MovingObject_VehicleClassification_LightState_GenericLightState_value = map[string]int32{
		"GENERIC_LIGHT_STATE_UNKNOWN":               0,
		"GENERIC_LIGHT_STATE_OTHER":                 1,
		"GENERIC_LIGHT_STATE_OFF":                   2,
		"GENERIC_LIGHT_STATE_ON":                    3,
		"GENERIC_LIGHT_STATE_FLASHING_BLUE":         4,
		"GENERIC_LIGHT_STATE_FLASHING_BLUE_AND_RED": 5,
		"GENERIC_LIGHT_STATE_FLASHING_AMBER":        6,
	}
)

Enum value maps for MovingObject_VehicleClassification_LightState_GenericLightState.

View Source
var (
	MovingObject_VehicleClassification_LightState_BrakeLightState_name = map[int32]string{
		0: "BRAKE_LIGHT_STATE_UNKNOWN",
		1: "BRAKE_LIGHT_STATE_OTHER",
		2: "BRAKE_LIGHT_STATE_OFF",
		3: "BRAKE_LIGHT_STATE_NORMAL",
		4: "BRAKE_LIGHT_STATE_STRONG",
	}
	MovingObject_VehicleClassification_LightState_BrakeLightState_value = map[string]int32{
		"BRAKE_LIGHT_STATE_UNKNOWN": 0,
		"BRAKE_LIGHT_STATE_OTHER":   1,
		"BRAKE_LIGHT_STATE_OFF":     2,
		"BRAKE_LIGHT_STATE_NORMAL":  3,
		"BRAKE_LIGHT_STATE_STRONG":  4,
	}
)

Enum value maps for MovingObject_VehicleClassification_LightState_BrakeLightState.

View Source
var (
	MovingObject_PedestrianAttributes_Bone_Type_name = map[int32]string{
		0:  "TYPE_ROOT",
		1:  "TYPE_HIP",
		2:  "TYPE_LOWER_SPINE",
		3:  "TYPE_UPPER_SPINE",
		4:  "TYPE_NECK",
		5:  "TYPE_HEAD",
		6:  "TYPE_SHOULDER_L",
		7:  "TYPE_SHOULDER_R",
		8:  "TYPE_UPPER_ARM_L",
		9:  "TYPE_UPPER_ARM_R",
		10: "TYPE_LOWER_ARM_L",
		11: "TYPE_LOWER_ARM_R",
		12: "TYPE_FULL_HAND_L",
		13: "TYPE_FULL_HAND_R",
		14: "TYPE_UPPER_LEG_L",
		15: "TYPE_UPPER_LEG_R",
		16: "TYPE_LOWER_LEG_L",
		17: "TYPE_LOWER_LEG_R",
		18: "TYPE_FULL_FOOT_L",
		19: "TYPE_FULL_FOOT_R",
	}
	MovingObject_PedestrianAttributes_Bone_Type_value = map[string]int32{
		"TYPE_ROOT":        0,
		"TYPE_HIP":         1,
		"TYPE_LOWER_SPINE": 2,
		"TYPE_UPPER_SPINE": 3,
		"TYPE_NECK":        4,
		"TYPE_HEAD":        5,
		"TYPE_SHOULDER_L":  6,
		"TYPE_SHOULDER_R":  7,
		"TYPE_UPPER_ARM_L": 8,
		"TYPE_UPPER_ARM_R": 9,
		"TYPE_LOWER_ARM_L": 10,
		"TYPE_LOWER_ARM_R": 11,
		"TYPE_FULL_HAND_L": 12,
		"TYPE_FULL_HAND_R": 13,
		"TYPE_UPPER_LEG_L": 14,
		"TYPE_UPPER_LEG_R": 15,
		"TYPE_LOWER_LEG_L": 16,
		"TYPE_LOWER_LEG_R": 17,
		"TYPE_FULL_FOOT_L": 18,
		"TYPE_FULL_FOOT_R": 19,
	}
)

Enum value maps for MovingObject_PedestrianAttributes_Bone_Type.

View Source
var (
	Occupant_Classification_Seat_name = map[int32]string{
		0:  "SEAT_UNKNOWN",
		1:  "SEAT_OTHER",
		2:  "SEAT_FRONT_LEFT",
		3:  "SEAT_FRONT_RIGHT",
		4:  "SEAT_FRONT_MIDDLE",
		5:  "SEAT_BACK_LEFT",
		6:  "SEAT_BACK_RIGHT",
		7:  "SEAT_BACK_MIDDLE",
		8:  "SEAT_THIRD_ROW_LEFT",
		9:  "SEAT_THIRD_ROW_RIGHT",
		10: "SEAT_THIRD_ROW_MIDDLE",
	}
	Occupant_Classification_Seat_value = map[string]int32{
		"SEAT_UNKNOWN":          0,
		"SEAT_OTHER":            1,
		"SEAT_FRONT_LEFT":       2,
		"SEAT_FRONT_RIGHT":      3,
		"SEAT_FRONT_MIDDLE":     4,
		"SEAT_BACK_LEFT":        5,
		"SEAT_BACK_RIGHT":       6,
		"SEAT_BACK_MIDDLE":      7,
		"SEAT_THIRD_ROW_LEFT":   8,
		"SEAT_THIRD_ROW_RIGHT":  9,
		"SEAT_THIRD_ROW_MIDDLE": 10,
	}
)

Enum value maps for Occupant_Classification_Seat.

View Source
var (
	Occupant_Classification_SteeringControl_name = map[int32]string{
		0: "STEERING_CONTROL_UNKNOWN",
		1: "STEERING_CONTROL_OTHER",
		2: "STEERING_CONTROL_NO_HAND",
		3: "STEERING_CONTROL_ONE_HAND",
		4: "STEERING_CONTROL_BOTH_HANDS",
		5: "STEERING_CONTROL_LEFT_HAND",
		6: "STEERING_CONTROL_RIGHT_HAND",
	}
	Occupant_Classification_SteeringControl_value = map[string]int32{
		"STEERING_CONTROL_UNKNOWN":    0,
		"STEERING_CONTROL_OTHER":      1,
		"STEERING_CONTROL_NO_HAND":    2,
		"STEERING_CONTROL_ONE_HAND":   3,
		"STEERING_CONTROL_BOTH_HANDS": 4,
		"STEERING_CONTROL_LEFT_HAND":  5,
		"STEERING_CONTROL_RIGHT_HAND": 6,
	}
)

Enum value maps for Occupant_Classification_SteeringControl.

View Source
var (
	ReferenceLine_Type_name = map[int32]string{
		0: "TYPE_POLYLINE",
		1: "TYPE_POLYLINE_WITH_T_AXIS",
	}
	ReferenceLine_Type_value = map[string]int32{
		"TYPE_POLYLINE":             0,
		"TYPE_POLYLINE_WITH_T_AXIS": 1,
	}
)

Enum value maps for ReferenceLine_Type.

View Source
var (
	RoadMarking_Classification_Type_name = map[int32]string{
		0: "TYPE_UNKNOWN",
		1: "TYPE_OTHER",
		2: "TYPE_PAINTED_TRAFFIC_SIGN",
		3: "TYPE_SYMBOLIC_TRAFFIC_SIGN",
		4: "TYPE_TEXTUAL_TRAFFIC_SIGN",
		5: "TYPE_GENERIC_SYMBOL",
		6: "TYPE_GENERIC_LINE",
		7: "TYPE_GENERIC_TEXT",
	}
	RoadMarking_Classification_Type_value = map[string]int32{
		"TYPE_UNKNOWN":               0,
		"TYPE_OTHER":                 1,
		"TYPE_PAINTED_TRAFFIC_SIGN":  2,
		"TYPE_SYMBOLIC_TRAFFIC_SIGN": 3,
		"TYPE_TEXTUAL_TRAFFIC_SIGN":  4,
		"TYPE_GENERIC_SYMBOL":        5,
		"TYPE_GENERIC_LINE":          6,
		"TYPE_GENERIC_TEXT":          7,
	}
)

Enum value maps for RoadMarking_Classification_Type.

View Source
var (
	RoadMarking_Classification_Color_name = map[int32]string{
		0: "COLOR_UNKNOWN",
		1: "COLOR_OTHER",
		2: "COLOR_WHITE",
		3: "COLOR_YELLOW",
		5: "COLOR_BLUE",
		6: "COLOR_RED",
		7: "COLOR_GREEN",
		8: "COLOR_VIOLET",
		9: "COLOR_ORANGE",
	}
	RoadMarking_Classification_Color_value = map[string]int32{
		"COLOR_UNKNOWN": 0,
		"COLOR_OTHER":   1,
		"COLOR_WHITE":   2,
		"COLOR_YELLOW":  3,
		"COLOR_BLUE":    5,
		"COLOR_RED":     6,
		"COLOR_GREEN":   7,
		"COLOR_VIOLET":  8,
		"COLOR_ORANGE":  9,
	}
)

Enum value maps for RoadMarking_Classification_Color.

View Source
var (
	DetectedEntityHeader_DataQualifier_name = map[int32]string{
		0: "DATA_QUALIFIER_UNKNOWN",
		1: "DATA_QUALIFIER_OTHER",
		2: "DATA_QUALIFIER_AVAILABLE",
		3: "DATA_QUALIFIER_AVAILABLE_REDUCED",
		4: "DATA_QUALIFIER_NOT_AVAILABLE",
		5: "DATA_QUALIFIER_BLINDNESS",
		6: "DATA_QUALIFIER_TEMPORARY_AVAILABLE",
	}
	DetectedEntityHeader_DataQualifier_value = map[string]int32{
		"DATA_QUALIFIER_UNKNOWN":             0,
		"DATA_QUALIFIER_OTHER":               1,
		"DATA_QUALIFIER_AVAILABLE":           2,
		"DATA_QUALIFIER_AVAILABLE_REDUCED":   3,
		"DATA_QUALIFIER_NOT_AVAILABLE":       4,
		"DATA_QUALIFIER_BLINDNESS":           5,
		"DATA_QUALIFIER_TEMPORARY_AVAILABLE": 6,
	}
)

Enum value maps for DetectedEntityHeader_DataQualifier.

View Source
var (
	UltrasonicSpecificObjectData_TrilaterationStatus_name = map[int32]string{
		0: "TRILATERATION_STATUS_UNKNOWN",
		1: "TRILATERATION_STATUS_OTHER",
		2: "TRILATERATION_STATUS_NOT_TRILATERATED",
		3: "TRILATERATION_STATUS_TRILATERATED",
	}
	UltrasonicSpecificObjectData_TrilaterationStatus_value = map[string]int32{
		"TRILATERATION_STATUS_UNKNOWN":          0,
		"TRILATERATION_STATUS_OTHER":            1,
		"TRILATERATION_STATUS_NOT_TRILATERATED": 2,
		"TRILATERATION_STATUS_TRILATERATED":     3,
	}
)

Enum value maps for UltrasonicSpecificObjectData_TrilaterationStatus.

View Source
var (
	UltrasonicSpecificObjectData_Trend_name = map[int32]string{
		0: "TREND_UNKNOWN",
		1: "TREND_OTHER",
		2: "TREND_CONSTANT_APPROACHING",
		3: "TREND_CONSTANT",
		4: "TREND_APPROACHING",
		5: "TREND_DEPARTING",
	}
	UltrasonicSpecificObjectData_Trend_value = map[string]int32{
		"TREND_UNKNOWN":              0,
		"TREND_OTHER":                1,
		"TREND_CONSTANT_APPROACHING": 2,
		"TREND_CONSTANT":             3,
		"TREND_APPROACHING":          4,
		"TREND_DEPARTING":            5,
	}
)

Enum value maps for UltrasonicSpecificObjectData_Trend.

View Source
var (
	CameraSensorViewConfiguration_PixelOrder_name = map[int32]string{
		0: "PIXEL_ORDER_DEFAULT",
		1: "PIXEL_ORDER_OTHER",
		2: "PIXEL_ORDER_RIGHT_LEFT_TOP_BOTTOM",
		3: "PIXEL_ORDER_LEFT_RIGHT_BOTTOM_TOP",
	}
	CameraSensorViewConfiguration_PixelOrder_value = map[string]int32{
		"PIXEL_ORDER_DEFAULT":               0,
		"PIXEL_ORDER_OTHER":                 1,
		"PIXEL_ORDER_RIGHT_LEFT_TOP_BOTTOM": 2,
		"PIXEL_ORDER_LEFT_RIGHT_BOTTOM_TOP": 3,
	}
)

Enum value maps for CameraSensorViewConfiguration_PixelOrder.

View Source
var (
	CameraSensorViewConfiguration_ChannelFormat_name = map[int32]string{
		0:  "CHANNEL_FORMAT_UNKNOWN",
		1:  "CHANNEL_FORMAT_OTHER",
		2:  "CHANNEL_FORMAT_MONO_U8_LIN",
		3:  "CHANNEL_FORMAT_MONO_U16_LIN",
		4:  "CHANNEL_FORMAT_MONO_U32_LIN",
		5:  "CHANNEL_FORMAT_MONO_F32_LIN",
		6:  "CHANNEL_FORMAT_RGB_U8_LIN",
		7:  "CHANNEL_FORMAT_RGB_U16_LIN",
		8:  "CHANNEL_FORMAT_RGB_U32_LIN",
		9:  "CHANNEL_FORMAT_RGB_F32_LIN",
		10: "CHANNEL_FORMAT_BAYER_BGGR_U8_LIN",
		11: "CHANNEL_FORMAT_BAYER_BGGR_U16_LIN",
		12: "CHANNEL_FORMAT_BAYER_BGGR_U32_LIN",
		13: "CHANNEL_FORMAT_BAYER_BGGR_F32_LIN",
		14: "CHANNEL_FORMAT_BAYER_RGGB_U8_LIN",
		15: "CHANNEL_FORMAT_BAYER_RGGB_U16_LIN",
		16: "CHANNEL_FORMAT_BAYER_RGGB_U32_LIN",
		17: "CHANNEL_FORMAT_BAYER_RGGB_F32_LIN",
		18: "CHANNEL_FORMAT_RCCC_U8_LIN",
		19: "CHANNEL_FORMAT_RCCC_U16_LIN",
		20: "CHANNEL_FORMAT_RCCC_U32_LIN",
		21: "CHANNEL_FORMAT_RCCC_F32_LIN",
		22: "CHANNEL_FORMAT_RCCB_U8_LIN",
		23: "CHANNEL_FORMAT_RCCB_U16_LIN",
		24: "CHANNEL_FORMAT_RCCB_U32_LIN",
		25: "CHANNEL_FORMAT_RCCB_F32_LIN",
	}
	CameraSensorViewConfiguration_ChannelFormat_value = map[string]int32{
		"CHANNEL_FORMAT_UNKNOWN":            0,
		"CHANNEL_FORMAT_OTHER":              1,
		"CHANNEL_FORMAT_MONO_U8_LIN":        2,
		"CHANNEL_FORMAT_MONO_U16_LIN":       3,
		"CHANNEL_FORMAT_MONO_U32_LIN":       4,
		"CHANNEL_FORMAT_MONO_F32_LIN":       5,
		"CHANNEL_FORMAT_RGB_U8_LIN":         6,
		"CHANNEL_FORMAT_RGB_U16_LIN":        7,
		"CHANNEL_FORMAT_RGB_U32_LIN":        8,
		"CHANNEL_FORMAT_RGB_F32_LIN":        9,
		"CHANNEL_FORMAT_BAYER_BGGR_U8_LIN":  10,
		"CHANNEL_FORMAT_BAYER_BGGR_U16_LIN": 11,
		"CHANNEL_FORMAT_BAYER_BGGR_U32_LIN": 12,
		"CHANNEL_FORMAT_BAYER_BGGR_F32_LIN": 13,
		"CHANNEL_FORMAT_BAYER_RGGB_U8_LIN":  14,
		"CHANNEL_FORMAT_BAYER_RGGB_U16_LIN": 15,
		"CHANNEL_FORMAT_BAYER_RGGB_U32_LIN": 16,
		"CHANNEL_FORMAT_BAYER_RGGB_F32_LIN": 17,
		"CHANNEL_FORMAT_RCCC_U8_LIN":        18,
		"CHANNEL_FORMAT_RCCC_U16_LIN":       19,
		"CHANNEL_FORMAT_RCCC_U32_LIN":       20,
		"CHANNEL_FORMAT_RCCC_F32_LIN":       21,
		"CHANNEL_FORMAT_RCCB_U8_LIN":        22,
		"CHANNEL_FORMAT_RCCB_U16_LIN":       23,
		"CHANNEL_FORMAT_RCCB_U32_LIN":       24,
		"CHANNEL_FORMAT_RCCB_F32_LIN":       25,
	}
)

Enum value maps for CameraSensorViewConfiguration_ChannelFormat.

View Source
var (
	TrafficAction_FollowingMode_name = map[int32]string{
		0: "FOLLOWING_MODE_POSITION",
		1: "FOLLOWING_MODE_FOLLOW",
	}
	TrafficAction_FollowingMode_value = map[string]int32{
		"FOLLOWING_MODE_POSITION": 0,
		"FOLLOWING_MODE_FOLLOW":   1,
	}
)

Enum value maps for TrafficAction_FollowingMode.

View Source
var (
	TrafficAction_DynamicsShape_name = map[int32]string{
		0: "DYNAMICS_SHAPE_UNSPECIFIED",
		1: "DYNAMICS_SHAPE_LINEAR",
		2: "DYNAMICS_SHAPE_CUBIC",
		3: "DYNAMICS_SHAPE_SINUSOIDAL",
		4: "DYNAMICS_SHAPE_STEP",
	}
	TrafficAction_DynamicsShape_value = map[string]int32{
		"DYNAMICS_SHAPE_UNSPECIFIED": 0,
		"DYNAMICS_SHAPE_LINEAR":      1,
		"DYNAMICS_SHAPE_CUBIC":       2,
		"DYNAMICS_SHAPE_SINUSOIDAL":  3,
		"DYNAMICS_SHAPE_STEP":        4,
	}
)

Enum value maps for TrafficAction_DynamicsShape.

View Source
var (
	TrafficLight_Classification_Color_name = map[int32]string{
		0: "COLOR_UNKNOWN",
		1: "COLOR_OTHER",
		2: "COLOR_RED",
		3: "COLOR_YELLOW",
		4: "COLOR_GREEN",
		5: "COLOR_BLUE",
		6: "COLOR_WHITE",
	}
	TrafficLight_Classification_Color_value = map[string]int32{
		"COLOR_UNKNOWN": 0,
		"COLOR_OTHER":   1,
		"COLOR_RED":     2,
		"COLOR_YELLOW":  3,
		"COLOR_GREEN":   4,
		"COLOR_BLUE":    5,
		"COLOR_WHITE":   6,
	}
)

Enum value maps for TrafficLight_Classification_Color.

View Source
var (
	TrafficLight_Classification_Icon_name = map[int32]string{
		0:  "ICON_UNKNOWN",
		1:  "ICON_OTHER",
		2:  "ICON_NONE",
		3:  "ICON_ARROW_STRAIGHT_AHEAD",
		4:  "ICON_ARROW_LEFT",
		5:  "ICON_ARROW_DIAG_LEFT",
		6:  "ICON_ARROW_STRAIGHT_AHEAD_LEFT",
		7:  "ICON_ARROW_RIGHT",
		8:  "ICON_ARROW_DIAG_RIGHT",
		9:  "ICON_ARROW_STRAIGHT_AHEAD_RIGHT",
		10: "ICON_ARROW_LEFT_RIGHT",
		11: "ICON_ARROW_DOWN",
		12: "ICON_ARROW_DOWN_LEFT",
		13: "ICON_ARROW_DOWN_RIGHT",
		14: "ICON_ARROW_CROSS",
		15: "ICON_PEDESTRIAN",
		16: "ICON_WALK",
		17: "ICON_DONT_WALK",
		18: "ICON_BICYCLE",
		19: "ICON_PEDESTRIAN_AND_BICYCLE",
		20: "ICON_COUNTDOWN_SECONDS",
		21: "ICON_COUNTDOWN_PERCENT",
		22: "ICON_TRAM",
		23: "ICON_BUS",
		24: "ICON_BUS_AND_TRAM",
	}
	TrafficLight_Classification_Icon_value = map[string]int32{
		"ICON_UNKNOWN":                    0,
		"ICON_OTHER":                      1,
		"ICON_NONE":                       2,
		"ICON_ARROW_STRAIGHT_AHEAD":       3,
		"ICON_ARROW_LEFT":                 4,
		"ICON_ARROW_DIAG_LEFT":            5,
		"ICON_ARROW_STRAIGHT_AHEAD_LEFT":  6,
		"ICON_ARROW_RIGHT":                7,
		"ICON_ARROW_DIAG_RIGHT":           8,
		"ICON_ARROW_STRAIGHT_AHEAD_RIGHT": 9,
		"ICON_ARROW_LEFT_RIGHT":           10,
		"ICON_ARROW_DOWN":                 11,
		"ICON_ARROW_DOWN_LEFT":            12,
		"ICON_ARROW_DOWN_RIGHT":           13,
		"ICON_ARROW_CROSS":                14,
		"ICON_PEDESTRIAN":                 15,
		"ICON_WALK":                       16,
		"ICON_DONT_WALK":                  17,
		"ICON_BICYCLE":                    18,
		"ICON_PEDESTRIAN_AND_BICYCLE":     19,
		"ICON_COUNTDOWN_SECONDS":          20,
		"ICON_COUNTDOWN_PERCENT":          21,
		"ICON_TRAM":                       22,
		"ICON_BUS":                        23,
		"ICON_BUS_AND_TRAM":               24,
	}
)

Enum value maps for TrafficLight_Classification_Icon.

View Source
var (
	TrafficLight_Classification_Mode_name = map[int32]string{
		0: "MODE_UNKNOWN",
		1: "MODE_OTHER",
		2: "MODE_OFF",
		3: "MODE_CONSTANT",
		4: "MODE_FLASHING",
		5: "MODE_COUNTING",
	}
	TrafficLight_Classification_Mode_value = map[string]int32{
		"MODE_UNKNOWN":  0,
		"MODE_OTHER":    1,
		"MODE_OFF":      2,
		"MODE_CONSTANT": 3,
		"MODE_FLASHING": 4,
		"MODE_COUNTING": 5,
	}
)

Enum value maps for TrafficLight_Classification_Mode.

View Source
var (
	TrafficSignValue_Unit_name = map[int32]string{
		0:  "UNIT_UNKNOWN",
		1:  "UNIT_OTHER",
		2:  "UNIT_NO_UNIT",
		3:  "UNIT_KILOMETER_PER_HOUR",
		4:  "UNIT_MILE_PER_HOUR",
		5:  "UNIT_METER",
		6:  "UNIT_KILOMETER",
		7:  "UNIT_FEET",
		8:  "UNIT_MILE",
		9:  "UNIT_METRIC_TON",
		10: "UNIT_LONG_TON",
		11: "UNIT_SHORT_TON",
		15: "UNIT_HOUR",
		12: "UNIT_MINUTES",
		16: "UNIT_DAY_OF_MONTH",
		13: "UNIT_DAY",
		14: "UNIT_PERCENTAGE",
		17: "UNIT_DURATION_DAY",
		18: "UNIT_DURATION_HOUR",
		19: "UNIT_DURATION_MINUTE",
	}
	TrafficSignValue_Unit_value = map[string]int32{
		"UNIT_UNKNOWN":            0,
		"UNIT_OTHER":              1,
		"UNIT_NO_UNIT":            2,
		"UNIT_KILOMETER_PER_HOUR": 3,
		"UNIT_MILE_PER_HOUR":      4,
		"UNIT_METER":              5,
		"UNIT_KILOMETER":          6,
		"UNIT_FEET":               7,
		"UNIT_MILE":               8,
		"UNIT_METRIC_TON":         9,
		"UNIT_LONG_TON":           10,
		"UNIT_SHORT_TON":          11,
		"UNIT_HOUR":               15,
		"UNIT_MINUTES":            12,
		"UNIT_DAY_OF_MONTH":       16,
		"UNIT_DAY":                13,
		"UNIT_PERCENTAGE":         14,
		"UNIT_DURATION_DAY":       17,
		"UNIT_DURATION_HOUR":      18,
		"UNIT_DURATION_MINUTE":    19,
	}
)

Enum value maps for TrafficSignValue_Unit.

View Source
var (
	TrafficSign_Variability_name = map[int32]string{
		0: "VARIABILITY_UNKNOWN",
		1: "VARIABILITY_OTHER",
		2: "VARIABILITY_FIXED",
		3: "VARIABILITY_VARIABLE",
		4: "VARIABILITY_MOVABLE",
		5: "VARIABILITY_MUTABLE",
		6: "VARIABILITY_MOVABLE_AND_MUTABLE",
	}
	TrafficSign_Variability_value = map[string]int32{
		"VARIABILITY_UNKNOWN":             0,
		"VARIABILITY_OTHER":               1,
		"VARIABILITY_FIXED":               2,
		"VARIABILITY_VARIABLE":            3,
		"VARIABILITY_MOVABLE":             4,
		"VARIABILITY_MUTABLE":             5,
		"VARIABILITY_MOVABLE_AND_MUTABLE": 6,
	}
)

Enum value maps for TrafficSign_Variability.

View Source
var (
	TrafficSign_MainSign_Classification_Type_name = map[int32]string{}/* 241 elements not displayed */

	TrafficSign_MainSign_Classification_Type_value = map[string]int32{}/* 241 elements not displayed */

)

Enum value maps for TrafficSign_MainSign_Classification_Type.

View Source
var (
	TrafficSign_MainSign_Classification_DirectionScope_name = map[int32]string{
		0: "DIRECTION_SCOPE_UNKNOWN",
		1: "DIRECTION_SCOPE_OTHER",
		2: "DIRECTION_SCOPE_NO_DIRECTION",
		3: "DIRECTION_SCOPE_LEFT",
		4: "DIRECTION_SCOPE_RIGHT",
		5: "DIRECTION_SCOPE_LEFT_RIGHT",
	}
	TrafficSign_MainSign_Classification_DirectionScope_value = map[string]int32{
		"DIRECTION_SCOPE_UNKNOWN":      0,
		"DIRECTION_SCOPE_OTHER":        1,
		"DIRECTION_SCOPE_NO_DIRECTION": 2,
		"DIRECTION_SCOPE_LEFT":         3,
		"DIRECTION_SCOPE_RIGHT":        4,
		"DIRECTION_SCOPE_LEFT_RIGHT":   5,
	}
)

Enum value maps for TrafficSign_MainSign_Classification_DirectionScope.

View Source
var (
	TrafficSign_SupplementarySign_Classification_Type_name = map[int32]string{
		0:  "TYPE_UNKNOWN",
		1:  "TYPE_OTHER",
		2:  "TYPE_NO_SIGN",
		41: "TYPE_TEXT",
		39: "TYPE_SPACE",
		26: "TYPE_TIME",
		30: "TYPE_ARROW",
		46: "TYPE_CONSTRAINED_TO",
		45: "TYPE_EXCEPT",
		3:  "TYPE_VALID_FOR_DISTANCE",
		27: "TYPE_PRIORITY_ROAD_BOTTOM_LEFT_FOUR_WAY",
		28: "TYPE_PRIORITY_ROAD_TOP_LEFT_FOUR_WAY",
		32: "TYPE_PRIORITY_ROAD_BOTTOM_LEFT_THREE_WAY_STRAIGHT",
		33: "TYPE_PRIORITY_ROAD_BOTTOM_LEFT_THREE_WAY_SIDEWAYS",
		34: "TYPE_PRIORITY_ROAD_TOP_LEFT_THREE_WAY_STRAIGHT",
		29: "TYPE_PRIORITY_ROAD_BOTTOM_RIGHT_FOUR_WAY",
		31: "TYPE_PRIORITY_ROAD_TOP_RIGHT_FOUR_WAY",
		35: "TYPE_PRIORITY_ROAD_BOTTOM_RIGHT_THREE_WAY_STRAIGHT",
		36: "TYPE_PRIORITY_ROAD_BOTTOM_RIGHT_THREE_WAY_SIDEWAY",
		37: "TYPE_PRIORITY_ROAD_TOP_RIGHT_THREE_WAY_STRAIGHT",
		4:  "TYPE_VALID_IN_DISTANCE",
		25: "TYPE_STOP_IN",
		11: "TYPE_LEFT_ARROW",
		13: "TYPE_LEFT_BEND_ARROW",
		12: "TYPE_RIGHT_ARROW",
		14: "TYPE_RIGHT_BEND_ARROW",
		40: "TYPE_ACCIDENT",
		9:  "TYPE_SNOW",
		8:  "TYPE_FOG",
		48: "TYPE_ROLLING_HIGHWAY_INFORMATION",
		47: "TYPE_SERVICES",
		5:  "TYPE_TIME_RANGE",
		43: "TYPE_PARKING_DISC_TIME_RESTRICTION",
		6:  "TYPE_WEIGHT",
		44: "TYPE_WET",
		42: "TYPE_PARKING_CONSTRAINT",
		38: "TYPE_NO_WAITING_SIDE_STRIPES",
		7:  "TYPE_RAIN",
		10: "TYPE_SNOW_RAIN",
		19: "TYPE_NIGHT",
		21: "TYPE_STOP_4_WAY",
		15: "TYPE_TRUCK",
		16: "TYPE_TRACTORS_MAY_BE_PASSED",
		17: "TYPE_HAZARDOUS",
		18: "TYPE_TRAILER",
		20: "TYPE_ZONE",
		22: "TYPE_MOTORCYCLE",
		23: "TYPE_MOTORCYCLE_ALLOWED",
		24: "TYPE_CAR",
	}
	TrafficSign_SupplementarySign_Classification_Type_value = map[string]int32{
		"TYPE_UNKNOWN":            0,
		"TYPE_OTHER":              1,
		"TYPE_NO_SIGN":            2,
		"TYPE_TEXT":               41,
		"TYPE_SPACE":              39,
		"TYPE_TIME":               26,
		"TYPE_ARROW":              30,
		"TYPE_CONSTRAINED_TO":     46,
		"TYPE_EXCEPT":             45,
		"TYPE_VALID_FOR_DISTANCE": 3,
		"TYPE_PRIORITY_ROAD_BOTTOM_LEFT_FOUR_WAY":            27,
		"TYPE_PRIORITY_ROAD_TOP_LEFT_FOUR_WAY":               28,
		"TYPE_PRIORITY_ROAD_BOTTOM_LEFT_THREE_WAY_STRAIGHT":  32,
		"TYPE_PRIORITY_ROAD_BOTTOM_LEFT_THREE_WAY_SIDEWAYS":  33,
		"TYPE_PRIORITY_ROAD_TOP_LEFT_THREE_WAY_STRAIGHT":     34,
		"TYPE_PRIORITY_ROAD_BOTTOM_RIGHT_FOUR_WAY":           29,
		"TYPE_PRIORITY_ROAD_TOP_RIGHT_FOUR_WAY":              31,
		"TYPE_PRIORITY_ROAD_BOTTOM_RIGHT_THREE_WAY_STRAIGHT": 35,
		"TYPE_PRIORITY_ROAD_BOTTOM_RIGHT_THREE_WAY_SIDEWAY":  36,
		"TYPE_PRIORITY_ROAD_TOP_RIGHT_THREE_WAY_STRAIGHT":    37,
		"TYPE_VALID_IN_DISTANCE":                             4,
		"TYPE_STOP_IN":                                       25,
		"TYPE_LEFT_ARROW":                                    11,
		"TYPE_LEFT_BEND_ARROW":                               13,
		"TYPE_RIGHT_ARROW":                                   12,
		"TYPE_RIGHT_BEND_ARROW":                              14,
		"TYPE_ACCIDENT":                                      40,
		"TYPE_SNOW":                                          9,
		"TYPE_FOG":                                           8,
		"TYPE_ROLLING_HIGHWAY_INFORMATION":                   48,
		"TYPE_SERVICES":                                      47,
		"TYPE_TIME_RANGE":                                    5,
		"TYPE_PARKING_DISC_TIME_RESTRICTION":                 43,
		"TYPE_WEIGHT":                                        6,
		"TYPE_WET":                                           44,
		"TYPE_PARKING_CONSTRAINT":                            42,
		"TYPE_NO_WAITING_SIDE_STRIPES":                       38,
		"TYPE_RAIN":                                          7,
		"TYPE_SNOW_RAIN":                                     10,
		"TYPE_NIGHT":                                         19,
		"TYPE_STOP_4_WAY":                                    21,
		"TYPE_TRUCK":                                         15,
		"TYPE_TRACTORS_MAY_BE_PASSED":                        16,
		"TYPE_HAZARDOUS":                                     17,
		"TYPE_TRAILER":                                       18,
		"TYPE_ZONE":                                          20,
		"TYPE_MOTORCYCLE":                                    22,
		"TYPE_MOTORCYCLE_ALLOWED":                            23,
		"TYPE_CAR":                                           24,
	}
)

Enum value maps for TrafficSign_SupplementarySign_Classification_Type.

View Source
var (
	TrafficSign_SupplementarySign_Classification_Actor_name = map[int32]string{
		0:  "ACTOR_UNKNOWN",
		1:  "ACTOR_OTHER",
		2:  "ACTOR_NO_ACTOR",
		3:  "ACTOR_AGRICULTURAL_VEHICLES",
		4:  "ACTOR_BICYCLES",
		5:  "ACTOR_BUSES",
		6:  "ACTOR_CAMPERS",
		7:  "ACTOR_CARAVANS",
		8:  "ACTOR_CARS",
		9:  "ACTOR_CARS_WITH_CARAVANS",
		10: "ACTOR_CARS_WITH_TRAILERS",
		11: "ACTOR_CATTLE",
		12: "ACTOR_CHILDREN",
		13: "ACTOR_CONSTRUCTION_VEHICLES",
		14: "ACTOR_DELIVERY_VEHICLES",
		15: "ACTOR_DISABLED_PERSONS",
		16: "ACTOR_EBIKES",
		17: "ACTOR_ELECTRIC_VEHICLES",
		18: "ACTOR_EMERGENCY_VEHICLES",
		19: "ACTOR_FERRY_USERS",
		20: "ACTOR_FORESTRY_VEHICLES",
		21: "ACTOR_HAZARDOUS_GOODS_VEHICLES",
		22: "ACTOR_HORSE_CARRIAGES",
		23: "ACTOR_HORSE_RIDERS",
		24: "ACTOR_INLINE_SKATERS",
		25: "ACTOR_MEDICAL_VEHICLES",
		26: "ACTOR_MILITARY_VEHICLES",
		27: "ACTOR_MOPEDS",
		28: "ACTOR_MOTORCYCLES",
		29: "ACTOR_MOTORIZED_MULTITRACK_VEHICLES",
		30: "ACTOR_OPERATIONAL_AND_UTILITY_VEHICLES",
		31: "ACTOR_PEDESTRIANS",
		32: "ACTOR_PUBLIC_TRANSPORT_VEHICLES",
		33: "ACTOR_RAILROAD_TRAFFIC",
		34: "ACTOR_RESIDENTS",
		35: "ACTOR_SLURRY_TRANSPORT",
		36: "ACTOR_TAXIS",
		37: "ACTOR_TRACTORS",
		38: "ACTOR_TRAILERS",
		39: "ACTOR_TRAMS",
		40: "ACTOR_TRUCKS",
		41: "ACTOR_TRUCKS_WITH_SEMITRAILERS",
		42: "ACTOR_TRUCKS_WITH_TRAILERS",
		43: "ACTOR_VEHICLES_WITH_GREEN_BADGES",
		44: "ACTOR_VEHICLES_WITH_RED_BADGES",
		45: "ACTOR_VEHICLES_WITH_YELLOW_BADGES",
		46: "ACTOR_WATER_POLLUTANT_VEHICLES",
		47: "ACTOR_WINTER_SPORTSPEOPLE",
	}
	TrafficSign_SupplementarySign_Classification_Actor_value = map[string]int32{
		"ACTOR_UNKNOWN":                          0,
		"ACTOR_OTHER":                            1,
		"ACTOR_NO_ACTOR":                         2,
		"ACTOR_AGRICULTURAL_VEHICLES":            3,
		"ACTOR_BICYCLES":                         4,
		"ACTOR_BUSES":                            5,
		"ACTOR_CAMPERS":                          6,
		"ACTOR_CARAVANS":                         7,
		"ACTOR_CARS":                             8,
		"ACTOR_CARS_WITH_CARAVANS":               9,
		"ACTOR_CARS_WITH_TRAILERS":               10,
		"ACTOR_CATTLE":                           11,
		"ACTOR_CHILDREN":                         12,
		"ACTOR_CONSTRUCTION_VEHICLES":            13,
		"ACTOR_DELIVERY_VEHICLES":                14,
		"ACTOR_DISABLED_PERSONS":                 15,
		"ACTOR_EBIKES":                           16,
		"ACTOR_ELECTRIC_VEHICLES":                17,
		"ACTOR_EMERGENCY_VEHICLES":               18,
		"ACTOR_FERRY_USERS":                      19,
		"ACTOR_FORESTRY_VEHICLES":                20,
		"ACTOR_HAZARDOUS_GOODS_VEHICLES":         21,
		"ACTOR_HORSE_CARRIAGES":                  22,
		"ACTOR_HORSE_RIDERS":                     23,
		"ACTOR_INLINE_SKATERS":                   24,
		"ACTOR_MEDICAL_VEHICLES":                 25,
		"ACTOR_MILITARY_VEHICLES":                26,
		"ACTOR_MOPEDS":                           27,
		"ACTOR_MOTORCYCLES":                      28,
		"ACTOR_MOTORIZED_MULTITRACK_VEHICLES":    29,
		"ACTOR_OPERATIONAL_AND_UTILITY_VEHICLES": 30,
		"ACTOR_PEDESTRIANS":                      31,
		"ACTOR_PUBLIC_TRANSPORT_VEHICLES":        32,
		"ACTOR_RAILROAD_TRAFFIC":                 33,
		"ACTOR_RESIDENTS":                        34,
		"ACTOR_SLURRY_TRANSPORT":                 35,
		"ACTOR_TAXIS":                            36,
		"ACTOR_TRACTORS":                         37,
		"ACTOR_TRAILERS":                         38,
		"ACTOR_TRAMS":                            39,
		"ACTOR_TRUCKS":                           40,
		"ACTOR_TRUCKS_WITH_SEMITRAILERS":         41,
		"ACTOR_TRUCKS_WITH_TRAILERS":             42,
		"ACTOR_VEHICLES_WITH_GREEN_BADGES":       43,
		"ACTOR_VEHICLES_WITH_RED_BADGES":         44,
		"ACTOR_VEHICLES_WITH_YELLOW_BADGES":      45,
		"ACTOR_WATER_POLLUTANT_VEHICLES":         46,
		"ACTOR_WINTER_SPORTSPEOPLE":              47,
	}
)

Enum value maps for TrafficSign_SupplementarySign_Classification_Actor.

View Source
var (
	TrafficSign_SupplementarySign_Classification_Arrow_Direction_name = map[int32]string{
		0:  "DIRECTION_UNKNOWN",
		1:  "DIRECTION_OTHER",
		2:  "DIRECTION_NO_DIRECTION",
		3:  "DIRECTION_DIRECT_0_DEG",
		4:  "DIRECTION_DIRECT_45_DEG_RIGHT",
		5:  "DIRECTION_DIRECT_45_DEG_LEFT",
		6:  "DIRECTION_DIRECT_90_DEG_RIGHT",
		7:  "DIRECTION_DIRECT_90_DEG_LEFT",
		8:  "DIRECTION_DIRECT_135_DEG_RIGHT",
		9:  "DIRECTION_DIRECT_135_DEG_LEFT",
		10: "DIRECTION_DIRECT_180_DEG",
		11: "DIRECTION_TURN_45_DEG_RIGHT",
		12: "DIRECTION_TURN_45_DEG_LEFT",
		13: "DIRECTION_TURN_90_DEG_RIGHT",
		14: "DIRECTION_TURN_90_DEG_LEFT",
		15: "DIRECTION_TURN_135_DEG_RIGHT",
		16: "DIRECTION_TURN_135_DEG_LEFT",
		17: "DIRECTION_TURN_180_DEG_RIGHT",
		18: "DIRECTION_TURN_180_DEG_LEFT",
		19: "DIRECTION_CIRCLE_0_DEG",
		20: "DIRECTION_CIRCLE_45_DEG_RIGHT",
		21: "DIRECTION_CIRCLE_45_DEG_LEFT",
		22: "DIRECTION_CIRCLE_90_DEG_RIGHT",
		23: "DIRECTION_CIRCLE_90_DEG_LEFT",
		24: "DIRECTION_CIRCLE_135_DEG_RIGHT",
		25: "DIRECTION_CIRCLE_135_DEG_LEFT",
		26: "DIRECTION_CIRCLE_180_DEG",
		27: "DIRECTION_KEEP_LEFT_TO_TURN_0_DEG",
		28: "DIRECTION_KEEP_RIGHT_TO_TURN_0_DEG",
		29: "DIRECTION_KEEP_LEFT_TO_TURN_90_DEG_RIGHT",
		30: "DIRECTION_KEEP_RIGHT_TO_TURN_90_DEG_LEFT",
		31: "DIRECTION_KEEP_LEFT_DRIVE_BACK_TO_TURN_90_DEG_RIGHT",
		32: "DIRECTION_KEEP_RIGHT_DRIVE_BACK_TO_TURN_90_DEG_LEFT",
	}
	TrafficSign_SupplementarySign_Classification_Arrow_Direction_value = map[string]int32{
		"DIRECTION_UNKNOWN":                                   0,
		"DIRECTION_OTHER":                                     1,
		"DIRECTION_NO_DIRECTION":                              2,
		"DIRECTION_DIRECT_0_DEG":                              3,
		"DIRECTION_DIRECT_45_DEG_RIGHT":                       4,
		"DIRECTION_DIRECT_45_DEG_LEFT":                        5,
		"DIRECTION_DIRECT_90_DEG_RIGHT":                       6,
		"DIRECTION_DIRECT_90_DEG_LEFT":                        7,
		"DIRECTION_DIRECT_135_DEG_RIGHT":                      8,
		"DIRECTION_DIRECT_135_DEG_LEFT":                       9,
		"DIRECTION_DIRECT_180_DEG":                            10,
		"DIRECTION_TURN_45_DEG_RIGHT":                         11,
		"DIRECTION_TURN_45_DEG_LEFT":                          12,
		"DIRECTION_TURN_90_DEG_RIGHT":                         13,
		"DIRECTION_TURN_90_DEG_LEFT":                          14,
		"DIRECTION_TURN_135_DEG_RIGHT":                        15,
		"DIRECTION_TURN_135_DEG_LEFT":                         16,
		"DIRECTION_TURN_180_DEG_RIGHT":                        17,
		"DIRECTION_TURN_180_DEG_LEFT":                         18,
		"DIRECTION_CIRCLE_0_DEG":                              19,
		"DIRECTION_CIRCLE_45_DEG_RIGHT":                       20,
		"DIRECTION_CIRCLE_45_DEG_LEFT":                        21,
		"DIRECTION_CIRCLE_90_DEG_RIGHT":                       22,
		"DIRECTION_CIRCLE_90_DEG_LEFT":                        23,
		"DIRECTION_CIRCLE_135_DEG_RIGHT":                      24,
		"DIRECTION_CIRCLE_135_DEG_LEFT":                       25,
		"DIRECTION_CIRCLE_180_DEG":                            26,
		"DIRECTION_KEEP_LEFT_TO_TURN_0_DEG":                   27,
		"DIRECTION_KEEP_RIGHT_TO_TURN_0_DEG":                  28,
		"DIRECTION_KEEP_LEFT_TO_TURN_90_DEG_RIGHT":            29,
		"DIRECTION_KEEP_RIGHT_TO_TURN_90_DEG_LEFT":            30,
		"DIRECTION_KEEP_LEFT_DRIVE_BACK_TO_TURN_90_DEG_RIGHT": 31,
		"DIRECTION_KEEP_RIGHT_DRIVE_BACK_TO_TURN_90_DEG_LEFT": 32,
	}
)

Enum value maps for TrafficSign_SupplementarySign_Classification_Arrow_Direction.

View Source
var (
	// Extend \c FileOptions with current interface version of OSI
	//
	// optional osi3.InterfaceVersion current_interface_version = 81000;
	E_CurrentInterfaceVersion = &file_osi_version_proto_extTypes[0]
)

Extension fields to descriptorpb.FileOptions.

View Source
var File_osi_common_proto protoreflect.FileDescriptor
View Source
var File_osi_datarecording_proto protoreflect.FileDescriptor
View Source
var File_osi_detectedlane_proto protoreflect.FileDescriptor
View Source
var File_osi_detectedobject_proto protoreflect.FileDescriptor
View Source
var File_osi_detectedoccupant_proto protoreflect.FileDescriptor
View Source
var File_osi_detectedroadmarking_proto protoreflect.FileDescriptor
View Source
var File_osi_detectedtrafficlight_proto protoreflect.FileDescriptor
View Source
var File_osi_detectedtrafficsign_proto protoreflect.FileDescriptor
View Source
var File_osi_environment_proto protoreflect.FileDescriptor
View Source
var File_osi_featuredata_proto protoreflect.FileDescriptor
View Source
var File_osi_groundtruth_proto protoreflect.FileDescriptor
View Source
var File_osi_hostvehicledata_proto protoreflect.FileDescriptor
View Source
var File_osi_lane_proto protoreflect.FileDescriptor
View Source
var File_osi_logicaldetectiondata_proto protoreflect.FileDescriptor
View Source
var File_osi_logicallane_proto protoreflect.FileDescriptor
View Source
var File_osi_motionrequest_proto protoreflect.FileDescriptor
View Source
var File_osi_object_proto protoreflect.FileDescriptor
View Source
var File_osi_occupant_proto protoreflect.FileDescriptor
View Source
var File_osi_referenceline_proto protoreflect.FileDescriptor
View Source
var File_osi_roadmarking_proto protoreflect.FileDescriptor
View Source
var File_osi_route_proto protoreflect.FileDescriptor
View Source
var File_osi_sensordata_proto protoreflect.FileDescriptor
View Source
var File_osi_sensorspecific_proto protoreflect.FileDescriptor
View Source
var File_osi_sensorview_proto protoreflect.FileDescriptor
View Source
var File_osi_sensorviewconfiguration_proto protoreflect.FileDescriptor
View Source
var File_osi_streamingupdate_proto protoreflect.FileDescriptor
View Source
var File_osi_trafficcommand_proto protoreflect.FileDescriptor
View Source
var File_osi_trafficcommandupdate_proto protoreflect.FileDescriptor
View Source
var File_osi_trafficlight_proto protoreflect.FileDescriptor
View Source
var File_osi_trafficsign_proto protoreflect.FileDescriptor
View Source
var File_osi_trafficupdate_proto protoreflect.FileDescriptor
View Source
var File_osi_version_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type BaseMoving

type BaseMoving struct {

	// The 3D dimension of the moving object (its bounding box).
	//
	// \note The \c #dimension must completely enclose the geometry of the
	// \c BaseMoving with the exception of the side mirrors for vehicles.
	//
	// \note The bounding box does NOT include side mirrors for vehicles.
	Dimension *Dimension3D `protobuf:"bytes,1,opt,name=dimension" json:"dimension,omitempty"`
	// The reference point for position and orientation: the center (x,y,z) of
	// the bounding box.
	Position *Vector3D `protobuf:"bytes,2,opt,name=position" json:"position,omitempty"`
	// The relative orientation of the moving object w.r.t. its parent frame,
	// noted in the parent frame. The orientation becomes global/absolute if
	// the parent frame is inertial (all parent frames up to ground truth).
	//
	// \f$ Origin_{\text{base moving entity}} :=
	// Rotation_{yaw,pitch,roll}( \f$ \c #orientation \f$ )*
	// (Origin_{\text{parent coord system}} -
	// \f$ \c #position \f$ ) \f$
	//
	// \note There may be some constraints how to align the orientation w.r.t.
	// to some stationary object's or entity's definition.
	Orientation *Orientation3D `protobuf:"bytes,3,opt,name=orientation" json:"orientation,omitempty"`
	// The relative velocity of the moving object w.r.t. the parent frame,
	// noted in the parent frame. The velocity becomes global/absolute if
	// the parent frame does is inertial (all parent frames up to ground truth).
	//
	// \c #position \f$ (t) := \f$ \c #position \f$ (t-dt)+ \f$ \c #velocity \f$
	// *dt \f$
	Velocity *Vector3D `protobuf:"bytes,4,opt,name=velocity" json:"velocity,omitempty"`
	// The relative acceleration of the moving object w.r.t. its parent frame,
	// noted in the parent frame. The acceleration becomes global/absolute if
	// the parent frame is inertial (all parent frames up to ground truth).
	//
	// \c #position \f$ (t) := \f$ \c #position \f$ (t-dt)+ \f$ \c #velocity \f$
	// *dt+ \f$ \c #acceleration \f$ /2*dt^2\f$
	//
	// \c #velocity \f$ (t) := \f$ \c #velocity \f$ (t-dt)+ \f$ \c #acceleration
	// \f$ *dt \f$
	Acceleration *Vector3D `protobuf:"bytes,5,opt,name=acceleration" json:"acceleration,omitempty"`
	// The relative orientation rate of the moving object w.r.t. its parent
	// frame and parent orientation rate in the center point of the bounding box
	// (origin of the bounding box frame), noted in the parent frame.
	// The orientation becomes global/absolute if the parent frame is inertial
	// (all parent frames up to ground truth).
	//
	// \c #orientation \f$ .yaw(t) := \f$ \c #orientation_rate \f$ .yaw(t) * dt
	// + \f$ \c #orientation \f$ .yaw(t-dt) \f$
	//
	// \c #orientation \f$ .pitch(t) := \f$ \c #orientation_rate \f$ .pitch(t) *
	// dt + \f$ \c #orientation \f$ .pitch(t-dt) \f$
	//
	// \c #orientation \f$ .roll(t) := \f$ \c #orientation_rate \f$ .roll(t) *
	// dt + \f$ \c #orientation \f$ .roll(t-dt)\f$
	OrientationRate *Orientation3D `protobuf:"bytes,6,opt,name=orientation_rate,json=orientationRate" json:"orientation_rate,omitempty"`
	// The relative orientation acceleration of the moving object w.r.t. its
	// parent frame and parent orientation acceleration in the center point of
	// the bounding box (origin of the bounding box frame), noted in the parent
	// frame. The orientation becomes global/absolute if the parent frame is
	// inertial (all parent frames up to ground truth).
	//
	// \c #orientation_rate \f$ .yaw(t) := \f$ \c #orientation_acceleration \f$
	// .yaw(t) * dt + \f$ \c #orientation_rate \f$ .yaw(t-dt) \f$
	//
	// \c #orientation_rate \f$ .pitch(t) := \f$ \c #orientation_acceleration
	// \f$ .pitch(t) * dt
	// + \f$ \c #orientation_rate \f$ .pitch(t-dt) \f$
	//
	// \c #orientation_rate \f$ .roll(t) := \f$ \c #orientation_acceleration \f$
	// .roll(t) * dt +
	//
	//	\f$ \c #orientation_rate \f$ .roll(t-dt) \f$
	OrientationAcceleration *Orientation3D `protobuf:"bytes,8,opt,name=orientation_acceleration,json=orientationAcceleration" json:"orientation_acceleration,omitempty"`
	// Usage as ground truth:
	// The two dimensional (flat) contour of the object. This is an extension of
	// the concept of a bounding box as defined by \c Dimension3d. The contour
	// is the projection of the object's outline onto the z-plane in the object
	// frame (independent of its current position and orientation). The height
	// is the same as the height of the bounding box.
	//
	// Usage as sensor data:
	// The polygon describes the visible part of the object's contour.
	//
	// General definitions:
	// The polygon is defined in the local object frame: x pointing forward and
	// y to the left. The origin is the center of the bounding box.
	// As ground truth, the polygon is closed by connecting the last with the
	// first point. Therefore these two points must be different. The polygon
	// must consist of at least three points. As sensor data, however, the
	// polygon is open.
	// The polygon is defined counter-clockwise.
	BasePolygon []*Vector2D `protobuf:"bytes,7,rep,name=base_polygon,json=basePolygon" json:"base_polygon,omitempty"`
	// Sub-divisions of the overall bounding box of the \c BaseMoving object.
	//
	// The bounding box sections can include side mirrors, cargo, etc. for
	// vehicles, as well as body-part sections for pedestrians. Note that for
	// more precise pedestrian information \c PedestrianAttributes can be used.
	//
	// \note The bounding box sub-divisions can extend beyond the overall
	// bounding box, however no actual geometry must reside outside of the
	// overall bounding box, with the specific exception of the side mirrors.
	//
	// \note If any sub-divisions are provided, then they must cover all
	// occupied space of the overall bounding box. In other words, a consumer
	// of this data is guaranteed that any part of the overall bounding box
	// that is not covered by any sub-division is free of physical objects,
	// and thus no collisions can occur there.
	BoundingBoxSection []*BoundingBox `protobuf:"bytes,9,rep,name=bounding_box_section,json=boundingBoxSection" json:"bounding_box_section,omitempty"`
	// contains filtered or unexported fields
}

\brief The base attributes of an object that is moving.

This includes the \c MovingObject messages.

\image html OSI_BaseMoving.svg

\image html OSI_BaseMoving_Top.svg

E.g. a vehicle is a base moving object.

All coordinates and orientations from ground truth objects are relative to the global ground truth frame. All coordinates and orientations from detected objects are relative to the host vehicle frame (see: \c MovingObject vehicle reference point).

func (*BaseMoving) Descriptor deprecated

func (*BaseMoving) Descriptor() ([]byte, []int)

Deprecated: Use BaseMoving.ProtoReflect.Descriptor instead.

func (*BaseMoving) GetAcceleration

func (x *BaseMoving) GetAcceleration() *Vector3D

func (*BaseMoving) GetBasePolygon

func (x *BaseMoving) GetBasePolygon() []*Vector2D

func (*BaseMoving) GetBoundingBoxSection

func (x *BaseMoving) GetBoundingBoxSection() []*BoundingBox

func (*BaseMoving) GetDimension

func (x *BaseMoving) GetDimension() *Dimension3D

func (*BaseMoving) GetOrientation

func (x *BaseMoving) GetOrientation() *Orientation3D

func (*BaseMoving) GetOrientationAcceleration

func (x *BaseMoving) GetOrientationAcceleration() *Orientation3D

func (*BaseMoving) GetOrientationRate

func (x *BaseMoving) GetOrientationRate() *Orientation3D

func (*BaseMoving) GetPosition

func (x *BaseMoving) GetPosition() *Vector3D

func (*BaseMoving) GetVelocity

func (x *BaseMoving) GetVelocity() *Vector3D

func (*BaseMoving) ProtoMessage

func (*BaseMoving) ProtoMessage()

func (*BaseMoving) ProtoReflect

func (x *BaseMoving) ProtoReflect() protoreflect.Message

func (*BaseMoving) Reset

func (x *BaseMoving) Reset()

func (*BaseMoving) String

func (x *BaseMoving) String() string

type BaseStationary

type BaseStationary struct {

	// The 3D dimensions of the stationary object (bounding box), e.g. a
	// landmark.
	//
	// \note The \c #dimension must completely enclose the geometry of the
	// \c BaseStationary .
	Dimension *Dimension3D `protobuf:"bytes,1,opt,name=dimension" json:"dimension,omitempty"`
	// The reference point for position and orientation, i.e. the center (x,y,z)
	// of the bounding box.
	Position *Vector3D `protobuf:"bytes,2,opt,name=position" json:"position,omitempty"`
	// The relative orientation of the stationary object w.r.t. its parent
	// frame, noted in the parent frame. The orientation becomes global/absolute
	// if the parent frame is inertial (all parent frames up to ground truth).
	//
	// \f$ Origin_{\text{base stationary entity}} :=
	// Rotation_{yaw,pitch,roll}( \f$ \c #orientation \f$ )*
	// (Origin_{\text{parent coord system}} -
	// \f$ \c #position \f$ )\f$
	//
	// \note There may be some constraints how to align the orientation w.r.t.
	// to some stationary object's or entity's definition.
	Orientation *Orientation3D `protobuf:"bytes,3,opt,name=orientation" json:"orientation,omitempty"`
	// Usage as ground truth:
	// The two dimensional (flat) contour of the object. This is an extension of
	// the concept of a bounding box as defined by \c Dimension3d. The contour
	// is the projection of the object's outline onto the z-plane in the object
	// frame (independent of its current position and orientation). The height
	// is the same as the height of the bounding box.
	//
	// Usage as sensor data:
	// The polygon describes the visible part of the object's contour.
	//
	// General definitions:
	// The polygon is defined in the local object frame: x pointing forward and
	// y to the left.
	// The origin is the center of the bounding box.
	// As ground truth, the polygon is closed by connecting the last with the
	// first point. Therefore these two points must be different. The polygon
	// must consist of at least three points.
	// As sensor data, however, the polygon is open.
	// The polygon is defined counter-clockwise.
	BasePolygon []*Vector2D `protobuf:"bytes,4,rep,name=base_polygon,json=basePolygon" json:"base_polygon,omitempty"`
	// Sub-divisions of the overall bounding box of the \c BaseStationary object.
	//
	// The bounding box sections can include separate parts on partially-opaque
	// objects such as trees with a distinction between trunk and crown.
	//
	// \note The bounding box sub-divisions can extend beyond the overall
	// bounding box, however no actual geometry must reside outside of the
	// overall bounding box.
	//
	// \note If any sub-divisions are provided, then they must cover all
	// occupied space of the overall bounding box. In other words, a consumer
	// of this data is guaranteed that any part of the overall bounding box
	// that is not covered by any sub-division is free of physical objects,
	// and thus no collisions can occur there.
	BoundingBoxSection []*BoundingBox `protobuf:"bytes,5,rep,name=bounding_box_section,json=boundingBoxSection" json:"bounding_box_section,omitempty"`
	// contains filtered or unexported fields
}

\brief The base attributes of a stationary object or entity.

This includes the \c StationaryObject , \c TrafficSign , \c TrafficLight , \c RoadMarking messages.

\image html OSI_BaseStationary.svg

All coordinates and orientations from ground truth objects are relative to the global ground truth frame (see image). (All coordinates and orientations from detected objects are relative to the host vehicle frame (see: \c Vehicle vehicle reference point).)

func (*BaseStationary) Descriptor deprecated

func (*BaseStationary) Descriptor() ([]byte, []int)

Deprecated: Use BaseStationary.ProtoReflect.Descriptor instead.

func (*BaseStationary) GetBasePolygon

func (x *BaseStationary) GetBasePolygon() []*Vector2D

func (*BaseStationary) GetBoundingBoxSection

func (x *BaseStationary) GetBoundingBoxSection() []*BoundingBox

func (*BaseStationary) GetDimension

func (x *BaseStationary) GetDimension() *Dimension3D

func (*BaseStationary) GetOrientation

func (x *BaseStationary) GetOrientation() *Orientation3D

func (*BaseStationary) GetPosition

func (x *BaseStationary) GetPosition() *Vector3D

func (*BaseStationary) ProtoMessage

func (*BaseStationary) ProtoMessage()

func (*BaseStationary) ProtoReflect

func (x *BaseStationary) ProtoReflect() protoreflect.Message

func (*BaseStationary) Reset

func (x *BaseStationary) Reset()

func (*BaseStationary) String

func (x *BaseStationary) String() string

type BoundingBox

type BoundingBox struct {

	// The 3D dimensions of the bounding box.
	Dimension *Dimension3D `protobuf:"bytes,1,opt,name=dimension" json:"dimension,omitempty"`
	// The 3D position of the bounding box. The position is the center
	// of the bounding box and the pivot for the \c dimension and \c orientation.
	//
	// \note The position should be within the same coordinate frame as
	// its parent, not relative to coordinate frame of the parent object.
	// The position becomes global/absolute if the parent frame is inertial
	// (all parent frames up to ground truth).
	Position *Vector3D `protobuf:"bytes,2,opt,name=position" json:"position,omitempty"`
	// The 3D orientation of the bounding box.
	//
	// \note The orientation should be within the same coordinate frame as
	// its parent, not relative to the coordinate frame of the parent object.
	// The orientation becomes global/absolute if the parent frame is inertial
	// (all parent frames up to ground truth).
	Orientation *Orientation3D `protobuf:"bytes,3,opt,name=orientation" json:"orientation,omitempty"`
	// The type of object contained in the bounding box.
	ContainedObjectType *BoundingBox_Type `` /* 141-byte string literal not displayed */
	// Opaque reference of an associated 3D model of the bounding box.
	//
	// \note It is implementation-specific how model_references are resolved to
	// 3d models. This means the coordinate system, model origin, and model
	// orientation are also implementation-specific.
	ModelReference *string `protobuf:"bytes,5,opt,name=model_reference,json=modelReference" json:"model_reference,omitempty"`
	// contains filtered or unexported fields
}

\brief A bounding box description.

A bounding box representing a sub-section of its parent's overall dimension, either that of a \c BaseMoving or \c BaseStationary .

The parent frame of the \c BoundingBox is identical to the parent frame of the \c MovingObject or \c StationaryObject it is associated to. For example, if the parent object coordinates are given relative to the global coordinate system, then the \c BoundingBox coordinates are also given relative to the global coordinate system.

\note The overall bounding box of the object is still defined using the dimension, position and orientation of the \c BaseMoving or \c BaseStationary .

func (*BoundingBox) Descriptor deprecated

func (*BoundingBox) Descriptor() ([]byte, []int)

Deprecated: Use BoundingBox.ProtoReflect.Descriptor instead.

func (*BoundingBox) GetContainedObjectType

func (x *BoundingBox) GetContainedObjectType() BoundingBox_Type

func (*BoundingBox) GetDimension

func (x *BoundingBox) GetDimension() *Dimension3D

func (*BoundingBox) GetModelReference

func (x *BoundingBox) GetModelReference() string

func (*BoundingBox) GetOrientation

func (x *BoundingBox) GetOrientation() *Orientation3D

func (*BoundingBox) GetPosition

func (x *BoundingBox) GetPosition() *Vector3D

func (*BoundingBox) ProtoMessage

func (*BoundingBox) ProtoMessage()

func (*BoundingBox) ProtoReflect

func (x *BoundingBox) ProtoReflect() protoreflect.Message

func (*BoundingBox) Reset

func (x *BoundingBox) Reset()

func (*BoundingBox) String

func (x *BoundingBox) String() string

type BoundingBox_Type

type BoundingBox_Type int32

Definition of different types of object contained within the bounding box

const (
	// Object of unknown type (must not be used in ground truth).
	BoundingBox_TYPE_UNKNOWN BoundingBox_Type = 0
	// Any other type of object.
	BoundingBox_TYPE_OTHER BoundingBox_Type = 1
	// The main structure of an object, e.g. a chassis of a vehicle,
	// or the central structure of a building, a tree trunk, etc.
	BoundingBox_TYPE_BASE_STRUCTURE BoundingBox_Type = 2
	// A protruding, integral part of an object, which is not
	// temporarily attached, e.g. a tree crown, a light pole arm, or a
	// parking house gate. The protruding structure is meant to be an
	// additional part to a base structure.
	BoundingBox_TYPE_PROTRUDING_STRUCTURE BoundingBox_Type = 3
	// Additional, temporarily attached cargo to an object.
	BoundingBox_TYPE_CARGO BoundingBox_Type = 4
	// The door of an object.
	//
	// For vehicles, this includes driver and passenger doors, trunk
	// and front hoods, and fuel or charging port covers.
	BoundingBox_TYPE_DOOR BoundingBox_Type = 5
	// The side mirror of a vehicle.
	//
	// \note The side mirror is not included in the overall bounding box
	// of the parent object.
	BoundingBox_TYPE_SIDE_MIRROR BoundingBox_Type = 6
)

func (BoundingBox_Type) Descriptor

func (BoundingBox_Type) Enum

func (BoundingBox_Type) EnumDescriptor deprecated

func (BoundingBox_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use BoundingBox_Type.Descriptor instead.

func (BoundingBox_Type) Number

func (BoundingBox_Type) String

func (x BoundingBox_Type) String() string

func (BoundingBox_Type) Type

func (*BoundingBox_Type) UnmarshalJSON deprecated

func (x *BoundingBox_Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type CameraDetection

type CameraDetection struct {

	// Existence probability of the detection not based on history. Value does
	// not depend on any past experience with similar detections.
	//
	// \note Used as confidence measure where a low value means less confidence
	// and a high value indicates strong confidence.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	ExistenceProbability *float64 `protobuf:"fixed64,1,opt,name=existence_probability,json=existenceProbability" json:"existence_probability,omitempty"`
	// ID of the detected object this detection is associated to.
	//
	// \note ID = MAX(uint64) indicates no reference to an object.
	//
	// \rules
	// refers_to: DetectedObject
	// \endrules
	ObjectId *Identifier `protobuf:"bytes,2,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	// Difference to the base timestamp \c
	// SensorDetectionHeader::measurement_time.
	//
	// The timestamp of this detection :=
	// \c SensorDetectionHeader::measurement_time + \c #time_difference.
	TimeDifference *Timestamp `protobuf:"bytes,3,opt,name=time_difference,json=timeDifference" json:"time_difference,omitempty"`
	// Definition of the image shape type of this detection.
	ImageShapeType *CameraDetection_ImageShapeType `` /* 140-byte string literal not displayed */
	// The defined shape is background.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationBackground *bool `` /* 144-byte string literal not displayed */
	// The defined shape is foreground.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationForeground *bool `` /* 144-byte string literal not displayed */
	// The defined shape is flat.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationFlat *bool `` /* 126-byte string literal not displayed */
	// The defined shape is upright.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationUpright *bool `` /* 135-byte string literal not displayed */
	// The defined shape is ground.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationGround *bool `` /* 132-byte string literal not displayed */
	// The defined shape is sky.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationSky *bool `protobuf:"varint,10,opt,name=shape_classification_sky,json=shapeClassificationSky" json:"shape_classification_sky,omitempty"`
	// The defined shape is vegetation.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationVegetation *bool `` /* 145-byte string literal not displayed */
	// The defined shape is a road.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationRoad *bool `` /* 127-byte string literal not displayed */
	// The defined shape is a non-driving lane (e.g. sidewalk).
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationNonDrivingLane *bool `` /* 161-byte string literal not displayed */
	// The defined shape is non-road (e.g. traffic island).
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationNonRoad *bool `` /* 138-byte string literal not displayed */
	// The defined shape is a stationary object.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationStationaryObject *bool `` /* 165-byte string literal not displayed */
	// The defined shape is a possible moving object.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationMovingObject *bool `` /* 153-byte string literal not displayed */
	// The defined shape is a landmark.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationLandmark *bool `` /* 139-byte string literal not displayed */
	// The defined shape is a traffic sign.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationTrafficSign *bool `` /* 150-byte string literal not displayed */
	// The defined shape is a traffic light.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationTrafficLight *bool `` /* 153-byte string literal not displayed */
	// The defined shape is a road marking sign.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationRoadMarking *bool `` /* 150-byte string literal not displayed */
	// The defined shape is a vehicle.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationVehicle *bool `` /* 136-byte string literal not displayed */
	// The defined shape is a pedestrian.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationPedestrian *bool `` /* 145-byte string literal not displayed */
	// The defined shape is an animal.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationAnimal *bool `` /* 133-byte string literal not displayed */
	// The defined shape is a pedestrian seen by the sensor from the front.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationPedestrianFront *bool `` /* 162-byte string literal not displayed */
	// The defined shape is a pedestrian seen by the sensor from the side.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationPedestrianSide *bool `` /* 159-byte string literal not displayed */
	// The defined shape is a pedestrian seen by the sensor from the rear.
	// The probability for this classification is at least
	// \c #shape_classification_probability.
	ShapeClassificationPedestrianRear *bool `` /* 159-byte string literal not displayed */
	// This probability defines the minimum probability for each selected
	// shape classification.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	ShapeClassificationProbability *float64 `` /* 149-byte string literal not displayed */
	// The dominant color of the shape.
	//
	// \attention DEPRECATED: This color enum will be removed in version
	// 4.0.0. Use the field \c #color_description (\c ColorDescription)
	// instead.
	Color *CameraDetection_Color `protobuf:"varint,28,opt,name=color,enum=osi3.CameraDetection_Color" json:"color,omitempty"`
	// The probability of the shape's color.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	ColorProbability *float64 `protobuf:"fixed64,29,opt,name=color_probability,json=colorProbability" json:"color_probability,omitempty"`
	// If one shape has different shape classifications and shape classification
	// probability or color and color probability, all detections in this cycle
	// have the same ambiguity ID.
	//
	// \note ID = MAX(uint64) indicates no reference to an object.
	AmbiguityId *Identifier `protobuf:"bytes,30,opt,name=ambiguity_id,json=ambiguityId" json:"ambiguity_id,omitempty"`
	// Index of the first point in the camera detection.
	FirstPointIndex *uint32 `protobuf:"varint,31,opt,name=first_point_index,json=firstPointIndex" json:"first_point_index,omitempty"`
	// Number of points which defines the shape.
	// \c #image_shape_type may restrict the number of possible values.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	NumberOfPoints *uint32 `protobuf:"varint,32,opt,name=number_of_points,json=numberOfPoints" json:"number_of_points,omitempty"`
	// The dominant color of the shape.
	ColorDescription *ColorDescription `protobuf:"bytes,33,opt,name=color_description,json=colorDescription" json:"color_description,omitempty"`
	// contains filtered or unexported fields
}

\brief Camera detection from the sensor.

func (*CameraDetection) Descriptor deprecated

func (*CameraDetection) Descriptor() ([]byte, []int)

Deprecated: Use CameraDetection.ProtoReflect.Descriptor instead.

func (*CameraDetection) GetAmbiguityId

func (x *CameraDetection) GetAmbiguityId() *Identifier

func (*CameraDetection) GetColor

func (x *CameraDetection) GetColor() CameraDetection_Color

func (*CameraDetection) GetColorDescription

func (x *CameraDetection) GetColorDescription() *ColorDescription

func (*CameraDetection) GetColorProbability

func (x *CameraDetection) GetColorProbability() float64

func (*CameraDetection) GetExistenceProbability

func (x *CameraDetection) GetExistenceProbability() float64

func (*CameraDetection) GetFirstPointIndex

func (x *CameraDetection) GetFirstPointIndex() uint32

func (*CameraDetection) GetImageShapeType

func (x *CameraDetection) GetImageShapeType() CameraDetection_ImageShapeType

func (*CameraDetection) GetNumberOfPoints

func (x *CameraDetection) GetNumberOfPoints() uint32

func (*CameraDetection) GetObjectId

func (x *CameraDetection) GetObjectId() *Identifier

func (*CameraDetection) GetShapeClassificationAnimal

func (x *CameraDetection) GetShapeClassificationAnimal() bool

func (*CameraDetection) GetShapeClassificationBackground

func (x *CameraDetection) GetShapeClassificationBackground() bool

func (*CameraDetection) GetShapeClassificationFlat

func (x *CameraDetection) GetShapeClassificationFlat() bool

func (*CameraDetection) GetShapeClassificationForeground

func (x *CameraDetection) GetShapeClassificationForeground() bool

func (*CameraDetection) GetShapeClassificationGround

func (x *CameraDetection) GetShapeClassificationGround() bool

func (*CameraDetection) GetShapeClassificationLandmark

func (x *CameraDetection) GetShapeClassificationLandmark() bool

func (*CameraDetection) GetShapeClassificationMovingObject

func (x *CameraDetection) GetShapeClassificationMovingObject() bool

func (*CameraDetection) GetShapeClassificationNonDrivingLane

func (x *CameraDetection) GetShapeClassificationNonDrivingLane() bool

func (*CameraDetection) GetShapeClassificationNonRoad

func (x *CameraDetection) GetShapeClassificationNonRoad() bool

func (*CameraDetection) GetShapeClassificationPedestrian

func (x *CameraDetection) GetShapeClassificationPedestrian() bool

func (*CameraDetection) GetShapeClassificationPedestrianFront

func (x *CameraDetection) GetShapeClassificationPedestrianFront() bool

func (*CameraDetection) GetShapeClassificationPedestrianRear

func (x *CameraDetection) GetShapeClassificationPedestrianRear() bool

func (*CameraDetection) GetShapeClassificationPedestrianSide

func (x *CameraDetection) GetShapeClassificationPedestrianSide() bool

func (*CameraDetection) GetShapeClassificationProbability

func (x *CameraDetection) GetShapeClassificationProbability() float64

func (*CameraDetection) GetShapeClassificationRoad

func (x *CameraDetection) GetShapeClassificationRoad() bool

func (*CameraDetection) GetShapeClassificationRoadMarking

func (x *CameraDetection) GetShapeClassificationRoadMarking() bool

func (*CameraDetection) GetShapeClassificationSky

func (x *CameraDetection) GetShapeClassificationSky() bool

func (*CameraDetection) GetShapeClassificationStationaryObject

func (x *CameraDetection) GetShapeClassificationStationaryObject() bool

func (*CameraDetection) GetShapeClassificationTrafficLight

func (x *CameraDetection) GetShapeClassificationTrafficLight() bool

func (*CameraDetection) GetShapeClassificationTrafficSign

func (x *CameraDetection) GetShapeClassificationTrafficSign() bool

func (*CameraDetection) GetShapeClassificationUpright

func (x *CameraDetection) GetShapeClassificationUpright() bool

func (*CameraDetection) GetShapeClassificationVegetation

func (x *CameraDetection) GetShapeClassificationVegetation() bool

func (*CameraDetection) GetShapeClassificationVehicle

func (x *CameraDetection) GetShapeClassificationVehicle() bool

func (*CameraDetection) GetTimeDifference

func (x *CameraDetection) GetTimeDifference() *Timestamp

func (*CameraDetection) ProtoMessage

func (*CameraDetection) ProtoMessage()

func (*CameraDetection) ProtoReflect

func (x *CameraDetection) ProtoReflect() protoreflect.Message

func (*CameraDetection) Reset

func (x *CameraDetection) Reset()

func (*CameraDetection) String

func (x *CameraDetection) String() string

type CameraDetectionData

type CameraDetectionData struct {

	// Header attributes of camera detection from one camera sensor.
	Header *SensorDetectionHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// Additional header attributes of camera detection from one camera sensor.
	SpecificHeader *CameraDetectionSpecificHeader `protobuf:"bytes,3,opt,name=specific_header,json=specificHeader" json:"specific_header,omitempty"`
	// List of camera detections.
	Detection []*CameraDetection `protobuf:"bytes,2,rep,name=detection" json:"detection,omitempty"`
	// List of points which are used by detections.
	Point []*CameraPoint `protobuf:"bytes,4,rep,name=point" json:"point,omitempty"`
	// contains filtered or unexported fields
}

\brief Data from one camera sensor including a list of detections.

func (*CameraDetectionData) Descriptor deprecated

func (*CameraDetectionData) Descriptor() ([]byte, []int)

Deprecated: Use CameraDetectionData.ProtoReflect.Descriptor instead.

func (*CameraDetectionData) GetDetection

func (x *CameraDetectionData) GetDetection() []*CameraDetection

func (*CameraDetectionData) GetHeader

func (*CameraDetectionData) GetPoint

func (x *CameraDetectionData) GetPoint() []*CameraPoint

func (*CameraDetectionData) GetSpecificHeader

func (x *CameraDetectionData) GetSpecificHeader() *CameraDetectionSpecificHeader

func (*CameraDetectionData) ProtoMessage

func (*CameraDetectionData) ProtoMessage()

func (*CameraDetectionData) ProtoReflect

func (x *CameraDetectionData) ProtoReflect() protoreflect.Message

func (*CameraDetectionData) Reset

func (x *CameraDetectionData) Reset()

func (*CameraDetectionData) String

func (x *CameraDetectionData) String() string

type CameraDetectionSpecificHeader

type CameraDetectionSpecificHeader struct {

	// The current number of points which all detections in the detections list
	// refer.
	//
	// \note This value has to be set if the list contains invalid points.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	NumberOfValidPoints *uint32 `protobuf:"varint,1,opt,name=number_of_valid_points,json=numberOfValidPoints" json:"number_of_valid_points,omitempty"`
	// contains filtered or unexported fields
}

\brief Specific header extension for camera sensors.

func (*CameraDetectionSpecificHeader) Descriptor deprecated

func (*CameraDetectionSpecificHeader) Descriptor() ([]byte, []int)

Deprecated: Use CameraDetectionSpecificHeader.ProtoReflect.Descriptor instead.

func (*CameraDetectionSpecificHeader) GetNumberOfValidPoints

func (x *CameraDetectionSpecificHeader) GetNumberOfValidPoints() uint32

func (*CameraDetectionSpecificHeader) ProtoMessage

func (*CameraDetectionSpecificHeader) ProtoMessage()

func (*CameraDetectionSpecificHeader) ProtoReflect

func (*CameraDetectionSpecificHeader) Reset

func (x *CameraDetectionSpecificHeader) Reset()

func (*CameraDetectionSpecificHeader) String

type CameraDetection_Color

type CameraDetection_Color int32

Definition of shape dominant color.

\attention DEPRECATED: This color enum will be removed in version 4.0.0. Use \c ColorDescription instead.

const (
	// Color of the shape is unknown (must not be used in ground
	// truth).
	CameraDetection_COLOR_UNKNOWN CameraDetection_Color = 0
	// Shape with another (unspecified but known) color.
	CameraDetection_COLOR_OTHER CameraDetection_Color = 1
	// Shape with black color.
	CameraDetection_COLOR_BLACK CameraDetection_Color = 2
	// Shape with gray color.
	CameraDetection_COLOR_GRAY CameraDetection_Color = 3
	// Shape with gray color.
	//
	// \note Deprecated variant spelling of COLOR_GRAY
	CameraDetection_COLOR_GREY CameraDetection_Color = 3
	// Shape with white color.
	CameraDetection_COLOR_WHITE CameraDetection_Color = 4
	// Shape with yellow color.
	CameraDetection_COLOR_YELLOW CameraDetection_Color = 5
	// Shape with orange color.
	CameraDetection_COLOR_ORANGE CameraDetection_Color = 6
	// Shape with red color.
	CameraDetection_COLOR_RED CameraDetection_Color = 7
	// Shape with violet color.
	CameraDetection_COLOR_VIOLET CameraDetection_Color = 8
	// Shape with blue color.
	CameraDetection_COLOR_BLUE CameraDetection_Color = 9
	// Shape with green color.
	CameraDetection_COLOR_GREEN CameraDetection_Color = 10
	// Shape with reflective color.
	CameraDetection_COLOR_REFLECTIVE CameraDetection_Color = 11
)

func (CameraDetection_Color) Descriptor

func (CameraDetection_Color) Enum

func (CameraDetection_Color) EnumDescriptor deprecated

func (CameraDetection_Color) EnumDescriptor() ([]byte, []int)

Deprecated: Use CameraDetection_Color.Descriptor instead.

func (CameraDetection_Color) Number

func (CameraDetection_Color) String

func (x CameraDetection_Color) String() string

func (CameraDetection_Color) Type

func (*CameraDetection_Color) UnmarshalJSON deprecated

func (x *CameraDetection_Color) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type CameraDetection_ImageShapeType

type CameraDetection_ImageShapeType int32

Definition of different image shape types.

const (
	// Shape type is unknown (must not be used in ground truth).
	CameraDetection_IMAGE_SHAPE_TYPE_UNKNOWN CameraDetection_ImageShapeType = 0
	// Other (unspecified but known) shape type.
	CameraDetection_IMAGE_SHAPE_TYPE_OTHER CameraDetection_ImageShapeType = 1
	// Image shape is defined by a single point.
	//
	// Allowed number of referenced points: 1
	CameraDetection_IMAGE_SHAPE_TYPE_POINT CameraDetection_ImageShapeType = 2
	// Image shape is defined by a box.
	//
	// Allowed number of referenced points: 2 or 3
	//
	// Allowed number of referenced points = 2: first and third corner of
	// the box. Box is aligned horizontal resp. vertical.
	//
	// Allowed number of referenced points = 3: first, second and third
	// corner of the box. fourth corner is calculated by first+third-second
	// corner.
	CameraDetection_IMAGE_SHAPE_TYPE_BOX CameraDetection_ImageShapeType = 3
	// Image shape is defined by an ellipse.
	//
	// Allowed number of referenced points: 2 or 3
	//
	// Allowed number of referenced points = 2: center point of circle,
	// point on circle
	//
	// Allowed number of referenced points = 3: center point of ellipse,
	// point on ellipse at main axis of ellipse, point on ellipse at minor
	// axis of ellipse
	CameraDetection_IMAGE_SHAPE_TYPE_ELLIPSE CameraDetection_ImageShapeType = 4
	// Image shape is defined by a polygon.
	//
	// Allowed number of referenced points: 3 .. n
	//
	// Polygon is defined by the first, second, third and so on points. The
	// polygon shape is closed (last and first point are different).
	CameraDetection_IMAGE_SHAPE_TYPE_POLYGON CameraDetection_ImageShapeType = 5
	// Image shape is defined by a polyline.
	//
	// Allowed number of referenced points: 2 .. n
	//
	// Polyline is defined by the first, second and so on points. The
	// polyline shape is open.
	CameraDetection_IMAGE_SHAPE_TYPE_POLYLINE CameraDetection_ImageShapeType = 6
	// Image shape is defined by a point cloud.
	//
	// Allowed number of referenced points: 2 .. n
	//
	// Point cloud is defined by a number of points. The points are not
	// connected in the point cloud.
	CameraDetection_IMAGE_SHAPE_TYPE_POINT_CLOUD CameraDetection_ImageShapeType = 7
)

func (CameraDetection_ImageShapeType) Descriptor

func (CameraDetection_ImageShapeType) Enum

func (CameraDetection_ImageShapeType) EnumDescriptor deprecated

func (CameraDetection_ImageShapeType) EnumDescriptor() ([]byte, []int)

Deprecated: Use CameraDetection_ImageShapeType.Descriptor instead.

func (CameraDetection_ImageShapeType) Number

func (CameraDetection_ImageShapeType) String

func (CameraDetection_ImageShapeType) Type

func (*CameraDetection_ImageShapeType) UnmarshalJSON deprecated

func (x *CameraDetection_ImageShapeType) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type CameraPoint

type CameraPoint struct {

	// Existence probability of the point not based on history. Value does
	// not depend on any past experience with similar points.
	//
	// \note Used as confidence measure where a low value means less confidence
	// and a high value indicates strong confidence.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	ExistenceProbability *float64 `protobuf:"fixed64,1,opt,name=existence_probability,json=existenceProbability" json:"existence_probability,omitempty"`
	// Measured point referred by one camera detection given in spherical
	// coordinates in the sensor coordinate system.
	Point *Spherical3D `protobuf:"bytes,2,opt,name=point" json:"point,omitempty"`
	// Root mean squared error of the measured point.
	PointRmse *Spherical3D `protobuf:"bytes,3,opt,name=point_rmse,json=pointRmse" json:"point_rmse,omitempty"`
	// contains filtered or unexported fields
}

\brief Camera point from the sensor.

func (*CameraPoint) Descriptor deprecated

func (*CameraPoint) Descriptor() ([]byte, []int)

Deprecated: Use CameraPoint.ProtoReflect.Descriptor instead.

func (*CameraPoint) GetExistenceProbability

func (x *CameraPoint) GetExistenceProbability() float64

func (*CameraPoint) GetPoint

func (x *CameraPoint) GetPoint() *Spherical3D

func (*CameraPoint) GetPointRmse

func (x *CameraPoint) GetPointRmse() *Spherical3D

func (*CameraPoint) ProtoMessage

func (*CameraPoint) ProtoMessage()

func (*CameraPoint) ProtoReflect

func (x *CameraPoint) ProtoReflect() protoreflect.Message

func (*CameraPoint) Reset

func (x *CameraPoint) Reset()

func (*CameraPoint) String

func (x *CameraPoint) String() string

type CameraSensorView

type CameraSensorView struct {

	// Camera view configuration valid at the time the data was created.
	ViewConfiguration *CameraSensorViewConfiguration `protobuf:"bytes,1,opt,name=view_configuration,json=viewConfiguration" json:"view_configuration,omitempty"`
	// Raw image data.
	//
	// The raw image data in the memory layout specified by the camera
	// sensor input configuration. The pixel order is specified in
	// CameraSensorViewConfiguration.pixel_order with the
	// default value PIXEL_ORDER_DEFAULT (i.e. left-to-right, top-to-bottom).
	ImageData []byte `protobuf:"bytes,2,opt,name=image_data,json=imageData" json:"image_data,omitempty"`
	// contains filtered or unexported fields
}

\brief Definition of the camera sensor view.

Camera specific sensor view data.

func (*CameraSensorView) Descriptor deprecated

func (*CameraSensorView) Descriptor() ([]byte, []int)

Deprecated: Use CameraSensorView.ProtoReflect.Descriptor instead.

func (*CameraSensorView) GetImageData

func (x *CameraSensorView) GetImageData() []byte

func (*CameraSensorView) GetViewConfiguration

func (x *CameraSensorView) GetViewConfiguration() *CameraSensorViewConfiguration

func (*CameraSensorView) ProtoMessage

func (*CameraSensorView) ProtoMessage()

func (*CameraSensorView) ProtoReflect

func (x *CameraSensorView) ProtoReflect() protoreflect.Message

func (*CameraSensorView) Reset

func (x *CameraSensorView) Reset()

func (*CameraSensorView) String

func (x *CameraSensorView) String() string

type CameraSensorViewConfiguration

type CameraSensorViewConfiguration struct {

	// The ID of the sensor at host vehicle's mounting_position.
	//
	// This is the ID of the physical sensor, to be used in its detected
	// features output; it is distinct from the ID of its virtual sensor.
	//
	// The ID is to be provided by the environment simulation, the sensor
	// model is not in a position to provide a useful default value.
	SensorId *Identifier `protobuf:"bytes,1,opt,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// The physical mounting position of the sensor (origin and orientation
	// of the sensor coordinate system) given in vehicle coordinates [1].
	// The physical position pertains to this detector individually, and
	// governs the sensor-relative coordinates in features detected by this
	// detector.
	//
	// \arg \b x-direction of sensor coordinate system: sensor viewing direction
	// \arg \b z-direction of sensor coordinate system: sensor (up)
	// \arg \b y-direction of sensor coordinate system: perpendicular to x and z
	// right hand system
	//
	// \par Reference:
	// [1] DIN Deutsches Institut fuer Normung e. V. (2013). <em>DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe</em>. (DIN ISO 8855:2013-11). Berlin, Germany.
	//
	// \note The origin of vehicle's coordinate system in world frame is
	// ( \c MovingObject::base . \c BaseMoving::position +
	// Inverse_Rotation_yaw_pitch_roll( \c MovingObject::base . \c
	// BaseMoving::orientation) * \c
	// MovingObject::VehicleAttributes::bbcenter_to_rear) . The orientation of
	// the vehicle's coordinate system is equal to the orientation of the
	// vehicle's bounding box \c MovingObject::base . \c
	// BaseMoving::orientation. \note A default position can be provided by the
	// sensor model (e.g. to indicate the position the model was validated for),
	// but this is optional; the environment simulation must provide a valid
	// mounting position (based on the vehicle configuration) when setting the
	// view configuration.
	MountingPosition *MountingPosition `protobuf:"bytes,2,opt,name=mounting_position,json=mountingPosition" json:"mounting_position,omitempty"`
	// The root mean squared error of the mounting position.
	MountingPositionRmse *MountingPosition `protobuf:"bytes,3,opt,name=mounting_position_rmse,json=mountingPositionRmse" json:"mounting_position_rmse,omitempty"`
	// Field of View in horizontal orientation of the physical sensor.
	//
	// Viewing range: [- \c #field_of_view_horizontal/2,  \c
	// #field_of_view_horizontal/2] azimuth in the sensor frame as defined in \c
	// Spherical3d.
	//
	// Unit: rad
	FieldOfViewHorizontal *float64 `protobuf:"fixed64,4,opt,name=field_of_view_horizontal,json=fieldOfViewHorizontal" json:"field_of_view_horizontal,omitempty"`
	// Field of View in vertical orientation of the physical sensor.
	//
	// Viewing range: [- \c #field_of_view_vertical/2,  \c
	// #field_of_view_vertical/2] elevation in the sensor frame at zero azimuth
	// as defined in \c Spherical3d.
	//
	// Unit: rad
	FieldOfViewVertical *float64 `protobuf:"fixed64,5,opt,name=field_of_view_vertical,json=fieldOfViewVertical" json:"field_of_view_vertical,omitempty"`
	// Number of pixels to produce across horizontal field of view.
	//
	// \note This is a characteristic of the rendering engine of the
	// environment simulation, not a direct characteristic of the sensor.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	NumberOfPixelsHorizontal *uint32 `` /* 131-byte string literal not displayed */
	// Number of pixels to produce across horizontal field of view.
	//
	// \note This is a characteristic of the rendering engine of the
	// environment simulation, not a direct characteristic of the sensor.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	NumberOfPixelsVertical *uint32 `protobuf:"varint,7,opt,name=number_of_pixels_vertical,json=numberOfPixelsVertical" json:"number_of_pixels_vertical,omitempty"`
	// Format for image data (includes number, kind and format of channels).
	//
	// In the message provided by the sensor model, this field can
	// be repeated and all values are acceptable to the model, with
	// the most acceptable value being listed first, and the remaining
	// values indicating alternatives in descending order of preference.
	//
	// In the message provided to the sensor model, this field must
	// contain exactly one value, indicating the format of the image
	// data being provided by the simulation environment - which must
	// be one of the values the sensor model requested - or there
	// must be no value, indicating that the simulation environment
	// cannot provide image data in one of the requested formats.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	ChannelFormat []CameraSensorViewConfiguration_ChannelFormat `` /* 148-byte string literal not displayed */
	// Number of samples per pixel.
	//
	// \note This is a characteristic of the ray tracing engine of the
	// environment simulation, not a direct characteristic of the sensor.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	SamplesPerPixel *uint32 `protobuf:"varint,9,opt,name=samples_per_pixel,json=samplesPerPixel" json:"samples_per_pixel,omitempty"`
	// Maximum number of interactions to take into account.
	//
	// \note This is a characteristic of the ray tracing engine of the
	// environment simulation, not a direct characteristic of the sensor.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	MaxNumberOfInteractions *uint32 `` /* 129-byte string literal not displayed */
	// In use-cases where a spectral ray-tracer is used, this message
	// determines the range of the wavelength and its desired number
	// of samples.
	WavelengthData []*WavelengthData `protobuf:"bytes,11,rep,name=wavelength_data,json=wavelengthData" json:"wavelength_data,omitempty"`
	// Indicates if and how the the pixel data is ordered
	//
	// The default value (PIXEL_ORDER_DEFAULT) indicates standard image
	// pixel order (left-to-right, top-to-bottom). The other values can
	// be used to indicate/request mirroring (right to left or bottom to top).
	//
	// \note For rotations of the pixel data, use the camera coordinate system.
	PixelOrder *CameraSensorViewConfiguration_PixelOrder `` /* 137-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief The configuration settings for the Camera Sensor View to be provided by the environment simulation.

func (*CameraSensorViewConfiguration) Descriptor deprecated

func (*CameraSensorViewConfiguration) Descriptor() ([]byte, []int)

Deprecated: Use CameraSensorViewConfiguration.ProtoReflect.Descriptor instead.

func (*CameraSensorViewConfiguration) GetChannelFormat

func (*CameraSensorViewConfiguration) GetFieldOfViewHorizontal

func (x *CameraSensorViewConfiguration) GetFieldOfViewHorizontal() float64

func (*CameraSensorViewConfiguration) GetFieldOfViewVertical

func (x *CameraSensorViewConfiguration) GetFieldOfViewVertical() float64

func (*CameraSensorViewConfiguration) GetMaxNumberOfInteractions

func (x *CameraSensorViewConfiguration) GetMaxNumberOfInteractions() uint32

func (*CameraSensorViewConfiguration) GetMountingPosition

func (x *CameraSensorViewConfiguration) GetMountingPosition() *MountingPosition

func (*CameraSensorViewConfiguration) GetMountingPositionRmse

func (x *CameraSensorViewConfiguration) GetMountingPositionRmse() *MountingPosition

func (*CameraSensorViewConfiguration) GetNumberOfPixelsHorizontal

func (x *CameraSensorViewConfiguration) GetNumberOfPixelsHorizontal() uint32

func (*CameraSensorViewConfiguration) GetNumberOfPixelsVertical

func (x *CameraSensorViewConfiguration) GetNumberOfPixelsVertical() uint32

func (*CameraSensorViewConfiguration) GetPixelOrder

func (*CameraSensorViewConfiguration) GetSamplesPerPixel

func (x *CameraSensorViewConfiguration) GetSamplesPerPixel() uint32

func (*CameraSensorViewConfiguration) GetSensorId

func (x *CameraSensorViewConfiguration) GetSensorId() *Identifier

func (*CameraSensorViewConfiguration) GetWavelengthData

func (x *CameraSensorViewConfiguration) GetWavelengthData() []*WavelengthData

func (*CameraSensorViewConfiguration) ProtoMessage

func (*CameraSensorViewConfiguration) ProtoMessage()

func (*CameraSensorViewConfiguration) ProtoReflect

func (*CameraSensorViewConfiguration) Reset

func (x *CameraSensorViewConfiguration) Reset()

func (*CameraSensorViewConfiguration) String

type CameraSensorViewConfiguration_ChannelFormat

type CameraSensorViewConfiguration_ChannelFormat int32

Channel format.

const (
	// Type of channel format is unknown (must not be used).
	CameraSensorViewConfiguration_CHANNEL_FORMAT_UNKNOWN CameraSensorViewConfiguration_ChannelFormat = 0
	// Unspecified but known channel format.
	// Consider proposing an additional format if using
	// \c #CHANNEL_FORMAT_OTHER.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_OTHER CameraSensorViewConfiguration_ChannelFormat = 1
	// Single Luminance Channel UINT8 Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_MONO_U8_LIN CameraSensorViewConfiguration_ChannelFormat = 2
	// Single Luminance Channel UINT16 Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_MONO_U16_LIN CameraSensorViewConfiguration_ChannelFormat = 3
	// Single Luminance Channel UINT32 Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_MONO_U32_LIN CameraSensorViewConfiguration_ChannelFormat = 4
	// Single Luminance Channel Single Precision FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_MONO_F32_LIN CameraSensorViewConfiguration_ChannelFormat = 5
	// Packed RGB Channels (no padding) UINT8 Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RGB_U8_LIN CameraSensorViewConfiguration_ChannelFormat = 6
	// Packed RGB Channels (no padding) UINT16 Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RGB_U16_LIN CameraSensorViewConfiguration_ChannelFormat = 7
	// Packed RGB Channels (no padding) UINT32 Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RGB_U32_LIN CameraSensorViewConfiguration_ChannelFormat = 8
	// Packed RGB Channels (no padding) Single Precision FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RGB_F32_LIN CameraSensorViewConfiguration_ChannelFormat = 9
	// Bayer BGGR Channels UINT8 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_BAYER_BGGR_U8_LIN CameraSensorViewConfiguration_ChannelFormat = 10
	// Bayer BGGR Channels UINT16 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_BAYER_BGGR_U16_LIN CameraSensorViewConfiguration_ChannelFormat = 11
	// Bayer BGGR Channels UINT32 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_BAYER_BGGR_U32_LIN CameraSensorViewConfiguration_ChannelFormat = 12
	// Bayer BGGR Channels Single Precision FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_BAYER_BGGR_F32_LIN CameraSensorViewConfiguration_ChannelFormat = 13
	// Bayer RGGB Channels UINT8 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_BAYER_RGGB_U8_LIN CameraSensorViewConfiguration_ChannelFormat = 14
	// Bayer RGGB Channels UINT16 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_BAYER_RGGB_U16_LIN CameraSensorViewConfiguration_ChannelFormat = 15
	// Bayer RGGB Channels UINT32 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_BAYER_RGGB_U32_LIN CameraSensorViewConfiguration_ChannelFormat = 16
	// Bayer RGGB Channels Single Precision FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_BAYER_RGGB_F32_LIN CameraSensorViewConfiguration_ChannelFormat = 17
	// Red Clear Clear Clear Channels UINT8 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RCCC_U8_LIN CameraSensorViewConfiguration_ChannelFormat = 18
	// Red Clear Clear Clear Channels UINT16 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RCCC_U16_LIN CameraSensorViewConfiguration_ChannelFormat = 19
	// Red Clear Clear Clear Channels UINT32 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RCCC_U32_LIN CameraSensorViewConfiguration_ChannelFormat = 20
	// Red Clear Clear Clear Channels Single Precision FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RCCC_F32_LIN CameraSensorViewConfiguration_ChannelFormat = 21
	// Red Clear Clear Blue Channels UINT8 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RCCB_U8_LIN CameraSensorViewConfiguration_ChannelFormat = 22
	// Red Clear Clear Blue Channels UINT16 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RCCB_U16_LIN CameraSensorViewConfiguration_ChannelFormat = 23
	// Red Clear Clear Blue Channels UINT32 FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RCCB_U32_LIN CameraSensorViewConfiguration_ChannelFormat = 24
	// Red Clear Clear Blue Channels Single Precision FP Linear.
	CameraSensorViewConfiguration_CHANNEL_FORMAT_RCCB_F32_LIN CameraSensorViewConfiguration_ChannelFormat = 25
)

func (CameraSensorViewConfiguration_ChannelFormat) Descriptor

func (CameraSensorViewConfiguration_ChannelFormat) Enum

func (CameraSensorViewConfiguration_ChannelFormat) EnumDescriptor deprecated

func (CameraSensorViewConfiguration_ChannelFormat) EnumDescriptor() ([]byte, []int)

Deprecated: Use CameraSensorViewConfiguration_ChannelFormat.Descriptor instead.

func (CameraSensorViewConfiguration_ChannelFormat) Number

func (CameraSensorViewConfiguration_ChannelFormat) String

func (CameraSensorViewConfiguration_ChannelFormat) Type

func (*CameraSensorViewConfiguration_ChannelFormat) UnmarshalJSON deprecated

Deprecated: Do not use.

type CameraSensorViewConfiguration_PixelOrder

type CameraSensorViewConfiguration_PixelOrder int32

Pixel layout

Pixel layout documents the order of pixels in the \c image_data in CameraSensorView.

\note this enum does not contain an entry to do mirroring upside down and left-to-right at the same time, because this is equivalent to a 180-degree rotation, which should be indicated in the sensor coordinate system.

const (
	// Pixel data is not mirrored (Default).
	// Pixels are ordered left-to-right, top-to-bottom.
	CameraSensorViewConfiguration_PIXEL_ORDER_DEFAULT CameraSensorViewConfiguration_PixelOrder = 0
	// Known pixel order that is not supported by OSI.
	// Consider proposing an additional format if using
	// \c #PIXEL_ORDER_OTHER.
	CameraSensorViewConfiguration_PIXEL_ORDER_OTHER CameraSensorViewConfiguration_PixelOrder = 1
	// Pixels are ordered right-to-left, top-to-bottom.
	// Pixel data is mirrored along the vertical axis.
	// The image is mirrored left-to-right.
	CameraSensorViewConfiguration_PIXEL_ORDER_RIGHT_LEFT_TOP_BOTTOM CameraSensorViewConfiguration_PixelOrder = 2
	// Pixels are ordered left-to-right, bottom-to-top.
	// Pixel data is mirrored along the horizontal axis.
	// The image is mirrored top-to-bottom.
	CameraSensorViewConfiguration_PIXEL_ORDER_LEFT_RIGHT_BOTTOM_TOP CameraSensorViewConfiguration_PixelOrder = 3
)

func (CameraSensorViewConfiguration_PixelOrder) Descriptor

func (CameraSensorViewConfiguration_PixelOrder) Enum

func (CameraSensorViewConfiguration_PixelOrder) EnumDescriptor deprecated

func (CameraSensorViewConfiguration_PixelOrder) EnumDescriptor() ([]byte, []int)

Deprecated: Use CameraSensorViewConfiguration_PixelOrder.Descriptor instead.

func (CameraSensorViewConfiguration_PixelOrder) Number

func (CameraSensorViewConfiguration_PixelOrder) String

func (CameraSensorViewConfiguration_PixelOrder) Type

func (*CameraSensorViewConfiguration_PixelOrder) UnmarshalJSON deprecated

func (x *CameraSensorViewConfiguration_PixelOrder) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type CameraSpecificObjectData

type CameraSpecificObjectData struct {
	// contains filtered or unexported fields
}

\brief Message encapsulates all data for detected objects that is specific to camera sensors.

func (*CameraSpecificObjectData) Descriptor deprecated

func (*CameraSpecificObjectData) Descriptor() ([]byte, []int)

Deprecated: Use CameraSpecificObjectData.ProtoReflect.Descriptor instead.

func (*CameraSpecificObjectData) ProtoMessage

func (*CameraSpecificObjectData) ProtoMessage()

func (*CameraSpecificObjectData) ProtoReflect

func (x *CameraSpecificObjectData) ProtoReflect() protoreflect.Message

func (*CameraSpecificObjectData) Reset

func (x *CameraSpecificObjectData) Reset()

func (*CameraSpecificObjectData) String

func (x *CameraSpecificObjectData) String() string

type ColorCMYK

type ColorCMYK struct {

	// Cyan ratio
	//
	// Range: [0,1]
	Cyan *float64 `protobuf:"fixed64,1,opt,name=cyan" json:"cyan,omitempty"`
	// Magenta ratio
	//
	// Range: [0,1]
	Magenta *float64 `protobuf:"fixed64,2,opt,name=magenta" json:"magenta,omitempty"`
	// Yellow ratio
	//
	// Range: [0,1]
	Yellow *float64 `protobuf:"fixed64,3,opt,name=yellow" json:"yellow,omitempty"`
	// Black ratio
	//
	// Range: [0,1]
	Key *float64 `protobuf:"fixed64,4,opt,name=key" json:"key,omitempty"`
	// contains filtered or unexported fields
}

\brief CMYK colors model

ColorCMYK provides values for cyan, magenta, yellow and key/black.

func (*ColorCMYK) Descriptor deprecated

func (*ColorCMYK) Descriptor() ([]byte, []int)

Deprecated: Use ColorCMYK.ProtoReflect.Descriptor instead.

func (*ColorCMYK) GetCyan

func (x *ColorCMYK) GetCyan() float64

func (*ColorCMYK) GetKey

func (x *ColorCMYK) GetKey() float64

func (*ColorCMYK) GetMagenta

func (x *ColorCMYK) GetMagenta() float64

func (*ColorCMYK) GetYellow

func (x *ColorCMYK) GetYellow() float64

func (*ColorCMYK) ProtoMessage

func (*ColorCMYK) ProtoMessage()

func (*ColorCMYK) ProtoReflect

func (x *ColorCMYK) ProtoReflect() protoreflect.Message

func (*ColorCMYK) Reset

func (x *ColorCMYK) Reset()

func (*ColorCMYK) String

func (x *ColorCMYK) String() string

type ColorDescription

type ColorDescription struct {

	// Grayscale color model
	Grey *ColorGrey `protobuf:"bytes,1,opt,name=grey" json:"grey,omitempty"`
	// RGB (Red, Green, Blue) color model
	Rgb *ColorRGB `protobuf:"bytes,2,opt,name=rgb" json:"rgb,omitempty"`
	// RGBIR (Red, Green, Blue, Infrared) color model
	Rgbir *ColorRGBIR `protobuf:"bytes,3,opt,name=rgbir" json:"rgbir,omitempty"`
	// HSV (Hue, Saturation, Value) color model
	Hsv *ColorHSV `protobuf:"bytes,4,opt,name=hsv" json:"hsv,omitempty"`
	// LUV (Luminance, U-coordinate, V-coordinate) color model
	Luv *ColorLUV `protobuf:"bytes,5,opt,name=luv" json:"luv,omitempty"`
	// CMYK (Cyan, Magenta, Yellow, Key) color model
	Cmyk *ColorCMYK `protobuf:"bytes,6,opt,name=cmyk" json:"cmyk,omitempty"`
	// contains filtered or unexported fields
}

\brief The description of a color within available color spaces.

ColorDescription represents the visual, non-semantic appearance of an object, structure or feature within various available color spaces.

Depending on the context, this may define the color of an object or structure a priori (e.g. GroundTruth objects) or describe a perceived color (e.g. CameraDetections).

func (*ColorDescription) Descriptor deprecated

func (*ColorDescription) Descriptor() ([]byte, []int)

Deprecated: Use ColorDescription.ProtoReflect.Descriptor instead.

func (*ColorDescription) GetCmyk

func (x *ColorDescription) GetCmyk() *ColorCMYK

func (*ColorDescription) GetGrey

func (x *ColorDescription) GetGrey() *ColorGrey

func (*ColorDescription) GetHsv

func (x *ColorDescription) GetHsv() *ColorHSV

func (*ColorDescription) GetLuv

func (x *ColorDescription) GetLuv() *ColorLUV

func (*ColorDescription) GetRgb

func (x *ColorDescription) GetRgb() *ColorRGB

func (*ColorDescription) GetRgbir

func (x *ColorDescription) GetRgbir() *ColorRGBIR

func (*ColorDescription) ProtoMessage

func (*ColorDescription) ProtoMessage()

func (*ColorDescription) ProtoReflect

func (x *ColorDescription) ProtoReflect() protoreflect.Message

func (*ColorDescription) Reset

func (x *ColorDescription) Reset()

func (*ColorDescription) String

func (x *ColorDescription) String() string

type ColorGrey

type ColorGrey struct {

	// Definition of a grayscale
	//
	// Range: [0,1]
	Grey *float64 `protobuf:"fixed64,1,opt,name=grey" json:"grey,omitempty"`
	// contains filtered or unexported fields
}

\brief Grayscale color model

ColorGrey defines a grayscale.

func (*ColorGrey) Descriptor deprecated

func (*ColorGrey) Descriptor() ([]byte, []int)

Deprecated: Use ColorGrey.ProtoReflect.Descriptor instead.

func (*ColorGrey) GetGrey

func (x *ColorGrey) GetGrey() float64

func (*ColorGrey) ProtoMessage

func (*ColorGrey) ProtoMessage()

func (*ColorGrey) ProtoReflect

func (x *ColorGrey) ProtoReflect() protoreflect.Message

func (*ColorGrey) Reset

func (x *ColorGrey) Reset()

func (*ColorGrey) String

func (x *ColorGrey) String() string

type ColorHSV

type ColorHSV struct {

	// Hue
	//
	// Unit: deg
	// Range: [0,360[
	Hue *float64 `protobuf:"fixed64,1,opt,name=hue" json:"hue,omitempty"`
	// Saturation
	//
	// Range: [0,1]
	Saturation *float64 `protobuf:"fixed64,2,opt,name=saturation" json:"saturation,omitempty"`
	// Value
	//
	// Range: [0,1]
	Value *float64 `protobuf:"fixed64,3,opt,name=value" json:"value,omitempty"`
	// contains filtered or unexported fields
}

\brief HSV color model

ColorHSV provides values for hue, saturation and value/brightness.

func (*ColorHSV) Descriptor deprecated

func (*ColorHSV) Descriptor() ([]byte, []int)

Deprecated: Use ColorHSV.ProtoReflect.Descriptor instead.

func (*ColorHSV) GetHue

func (x *ColorHSV) GetHue() float64

func (*ColorHSV) GetSaturation

func (x *ColorHSV) GetSaturation() float64

func (*ColorHSV) GetValue

func (x *ColorHSV) GetValue() float64

func (*ColorHSV) ProtoMessage

func (*ColorHSV) ProtoMessage()

func (*ColorHSV) ProtoReflect

func (x *ColorHSV) ProtoReflect() protoreflect.Message

func (*ColorHSV) Reset

func (x *ColorHSV) Reset()

func (*ColorHSV) String

func (x *ColorHSV) String() string

type ColorLUV

type ColorLUV struct {

	// Luminance
	//
	// Range: [0,1]
	Luminance *float64 `protobuf:"fixed64,1,opt,name=luminance" json:"luminance,omitempty"`
	// U-coordinate
	//
	// Range: [0,1]
	U *float64 `protobuf:"fixed64,2,opt,name=u" json:"u,omitempty"`
	// V-Coordinate
	//
	// Range: [0,1]
	V *float64 `protobuf:"fixed64,3,opt,name=v" json:"v,omitempty"`
	// contains filtered or unexported fields
}

\brief LUV color model

ColorLUV provides values for luminance, U- and V-coordinate.

func (*ColorLUV) Descriptor deprecated

func (*ColorLUV) Descriptor() ([]byte, []int)

Deprecated: Use ColorLUV.ProtoReflect.Descriptor instead.

func (*ColorLUV) GetLuminance

func (x *ColorLUV) GetLuminance() float64

func (*ColorLUV) GetU

func (x *ColorLUV) GetU() float64

func (*ColorLUV) GetV

func (x *ColorLUV) GetV() float64

func (*ColorLUV) ProtoMessage

func (*ColorLUV) ProtoMessage()

func (*ColorLUV) ProtoReflect

func (x *ColorLUV) ProtoReflect() protoreflect.Message

func (*ColorLUV) Reset

func (x *ColorLUV) Reset()

func (*ColorLUV) String

func (x *ColorLUV) String() string

type ColorRGB

type ColorRGB struct {

	// Red ratio
	//
	// Range: [0,1]
	Red *float64 `protobuf:"fixed64,1,opt,name=red" json:"red,omitempty"`
	// Green ratio
	//
	// Range: [0,1]
	Green *float64 `protobuf:"fixed64,2,opt,name=green" json:"green,omitempty"`
	// Blue ratio
	//
	// Range: [0,1]
	Blue *float64 `protobuf:"fixed64,3,opt,name=blue" json:"blue,omitempty"`
	// contains filtered or unexported fields
}

\brief RGB color model

ColorRGB provides values for red, green and blue.

func (*ColorRGB) Descriptor deprecated

func (*ColorRGB) Descriptor() ([]byte, []int)

Deprecated: Use ColorRGB.ProtoReflect.Descriptor instead.

func (*ColorRGB) GetBlue

func (x *ColorRGB) GetBlue() float64

func (*ColorRGB) GetGreen

func (x *ColorRGB) GetGreen() float64

func (*ColorRGB) GetRed

func (x *ColorRGB) GetRed() float64

func (*ColorRGB) ProtoMessage

func (*ColorRGB) ProtoMessage()

func (*ColorRGB) ProtoReflect

func (x *ColorRGB) ProtoReflect() protoreflect.Message

func (*ColorRGB) Reset

func (x *ColorRGB) Reset()

func (*ColorRGB) String

func (x *ColorRGB) String() string

type ColorRGBIR

type ColorRGBIR struct {

	// Red ratio
	//
	// Range: [0,1]
	Red *float64 `protobuf:"fixed64,1,opt,name=red" json:"red,omitempty"`
	// Green ratio
	//
	// Range: [0,1]
	Green *float64 `protobuf:"fixed64,2,opt,name=green" json:"green,omitempty"`
	// Blue ratio
	//
	// Range: [0,1]
	Blue *float64 `protobuf:"fixed64,3,opt,name=blue" json:"blue,omitempty"`
	// Infrared
	//
	// Range: [0,1]
	Infrared *float64 `protobuf:"fixed64,4,opt,name=infrared" json:"infrared,omitempty"`
	// contains filtered or unexported fields
}

\brief RGBIR color model

ColorRGBIR provides values for red, green, blue and infrared.

func (*ColorRGBIR) Descriptor deprecated

func (*ColorRGBIR) Descriptor() ([]byte, []int)

Deprecated: Use ColorRGBIR.ProtoReflect.Descriptor instead.

func (*ColorRGBIR) GetBlue

func (x *ColorRGBIR) GetBlue() float64

func (*ColorRGBIR) GetGreen

func (x *ColorRGBIR) GetGreen() float64

func (*ColorRGBIR) GetInfrared

func (x *ColorRGBIR) GetInfrared() float64

func (*ColorRGBIR) GetRed

func (x *ColorRGBIR) GetRed() float64

func (*ColorRGBIR) ProtoMessage

func (*ColorRGBIR) ProtoMessage()

func (*ColorRGBIR) ProtoReflect

func (x *ColorRGBIR) ProtoReflect() protoreflect.Message

func (*ColorRGBIR) Reset

func (x *ColorRGBIR) Reset()

func (*ColorRGBIR) String

func (x *ColorRGBIR) String() string

type DetectedEntityHeader

type DetectedEntityHeader struct {

	// Time stamp at which the measurement was taken (not the time at which it
	// was processed or at which it is transmitted) in the global synchronized
	// time.
	//
	// \note See \c SensorData::timestamp and \c
	// SensorData::last_measurement_time for detailed discussions on the
	// semantics of time-related fields.
	MeasurementTime *Timestamp `protobuf:"bytes,1,opt,name=measurement_time,json=measurementTime" json:"measurement_time,omitempty"`
	// Continuous up counter to identify the cycle.
	CycleCounter *uint64 `protobuf:"varint,2,opt,name=cycle_counter,json=cycleCounter" json:"cycle_counter,omitempty"`
	// Data Qualifier expresses to what extent the content of this event can be
	// relied on.
	DataQualifier *DetectedEntityHeader_DataQualifier `` /* 139-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief The header attributes of each detected entity.

func (*DetectedEntityHeader) Descriptor deprecated

func (*DetectedEntityHeader) Descriptor() ([]byte, []int)

Deprecated: Use DetectedEntityHeader.ProtoReflect.Descriptor instead.

func (*DetectedEntityHeader) GetCycleCounter

func (x *DetectedEntityHeader) GetCycleCounter() uint64

func (*DetectedEntityHeader) GetDataQualifier

func (*DetectedEntityHeader) GetMeasurementTime

func (x *DetectedEntityHeader) GetMeasurementTime() *Timestamp

func (*DetectedEntityHeader) ProtoMessage

func (*DetectedEntityHeader) ProtoMessage()

func (*DetectedEntityHeader) ProtoReflect

func (x *DetectedEntityHeader) ProtoReflect() protoreflect.Message

func (*DetectedEntityHeader) Reset

func (x *DetectedEntityHeader) Reset()

func (*DetectedEntityHeader) String

func (x *DetectedEntityHeader) String() string

type DetectedEntityHeader_DataQualifier

type DetectedEntityHeader_DataQualifier int32

Data qualifier communicates the overall availability of the interface.

const (
	// Unknown (must not be used in ground truth).
	DetectedEntityHeader_DATA_QUALIFIER_UNKNOWN DetectedEntityHeader_DataQualifier = 0
	// Other (unspecified but known).
	DetectedEntityHeader_DATA_QUALIFIER_OTHER DetectedEntityHeader_DataQualifier = 1
	// Data is available.
	DetectedEntityHeader_DATA_QUALIFIER_AVAILABLE DetectedEntityHeader_DataQualifier = 2
	// Reduced data is available.
	DetectedEntityHeader_DATA_QUALIFIER_AVAILABLE_REDUCED DetectedEntityHeader_DataQualifier = 3
	// Data is not available.
	DetectedEntityHeader_DATA_QUALIFIER_NOT_AVAILABLE DetectedEntityHeader_DataQualifier = 4
	// Sensor is blind.
	DetectedEntityHeader_DATA_QUALIFIER_BLINDNESS DetectedEntityHeader_DataQualifier = 5
	// Sensor temporary available.
	DetectedEntityHeader_DATA_QUALIFIER_TEMPORARY_AVAILABLE DetectedEntityHeader_DataQualifier = 6
)

func (DetectedEntityHeader_DataQualifier) Descriptor

func (DetectedEntityHeader_DataQualifier) Enum

func (DetectedEntityHeader_DataQualifier) EnumDescriptor deprecated

func (DetectedEntityHeader_DataQualifier) EnumDescriptor() ([]byte, []int)

Deprecated: Use DetectedEntityHeader_DataQualifier.Descriptor instead.

func (DetectedEntityHeader_DataQualifier) Number

func (DetectedEntityHeader_DataQualifier) String

func (DetectedEntityHeader_DataQualifier) Type

func (*DetectedEntityHeader_DataQualifier) UnmarshalJSON deprecated

func (x *DetectedEntityHeader_DataQualifier) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type DetectedItemHeader

type DetectedItemHeader struct {

	// Specific ID of the detected item as assigned by the sensor internally.
	// Needs not to match with \c #ground_truth_id.
	//
	// \rules
	// is_set
	// \endrules
	TrackingId *Identifier `protobuf:"bytes,1,opt,name=tracking_id,json=trackingId" json:"tracking_id,omitempty"`
	// The ID of the original detected item in the ground truth.
	GroundTruthId []*Identifier `protobuf:"bytes,2,rep,name=ground_truth_id,json=groundTruthId" json:"ground_truth_id,omitempty"`
	// The estimated probability that this detected item really exists, not
	// based on history.
	//
	// \note Use as confidence measure where a low value means less confidence
	// and a high value indicates strong confidence.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	ExistenceProbability *float64 `protobuf:"fixed64,3,opt,name=existence_probability,json=existenceProbability" json:"existence_probability,omitempty"`
	// The amount of time that this detected object has been continuously
	// observed/tracked.
	//
	// \note
	// \f$ Timestamp - Age := \f$ 'point in time' when the object has
	// been observed for the first time.
	//
	// Unit: s
	Age *float64 `protobuf:"fixed64,4,opt,name=age" json:"age,omitempty"`
	// The measurement state.
	MeasurementState *DetectedItemHeader_MeasurementState `` /* 149-byte string literal not displayed */
	// A list of physical sensors which detected this detected item.
	//
	// If \c SensorData has detected entities and all detections are missing,
	// then e.g. the number of sensors can confirm the
	// \c #existence_probability.
	//
	// \note This information can be determined via the detected entities'
	// detections ( \c ...Detection::object_id = 'this detected item' ) and
	// the sensors (their IDs) to which these detections belong.
	SensorId []*Identifier `protobuf:"bytes,6,rep,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// contains filtered or unexported fields
}

\brief The common information for a detected item as estimated by the sensor.

func (*DetectedItemHeader) Descriptor deprecated

func (*DetectedItemHeader) Descriptor() ([]byte, []int)

Deprecated: Use DetectedItemHeader.ProtoReflect.Descriptor instead.

func (*DetectedItemHeader) GetAge

func (x *DetectedItemHeader) GetAge() float64

func (*DetectedItemHeader) GetExistenceProbability

func (x *DetectedItemHeader) GetExistenceProbability() float64

func (*DetectedItemHeader) GetGroundTruthId

func (x *DetectedItemHeader) GetGroundTruthId() []*Identifier

func (*DetectedItemHeader) GetMeasurementState

func (*DetectedItemHeader) GetSensorId

func (x *DetectedItemHeader) GetSensorId() []*Identifier

func (*DetectedItemHeader) GetTrackingId

func (x *DetectedItemHeader) GetTrackingId() *Identifier

func (*DetectedItemHeader) ProtoMessage

func (*DetectedItemHeader) ProtoMessage()

func (*DetectedItemHeader) ProtoReflect

func (x *DetectedItemHeader) ProtoReflect() protoreflect.Message

func (*DetectedItemHeader) Reset

func (x *DetectedItemHeader) Reset()

func (*DetectedItemHeader) String

func (x *DetectedItemHeader) String() string

type DetectedItemHeader_MeasurementState

type DetectedItemHeader_MeasurementState int32

Definition of measurement states.

const (
	// Measurement state is unknown (must not be used in ground truth).
	DetectedItemHeader_MEASUREMENT_STATE_UNKNOWN DetectedItemHeader_MeasurementState = 0
	// Measurement state is unspecified (but known, i.e. value is not part
	// of this enum list).
	DetectedItemHeader_MEASUREMENT_STATE_OTHER DetectedItemHeader_MeasurementState = 1
	// Entity has been measured by the sensor in the current time step.
	DetectedItemHeader_MEASUREMENT_STATE_MEASURED DetectedItemHeader_MeasurementState = 2
	// Entity has not been measured by the sensor in the current time step.
	// Values provided by tracking only.
	DetectedItemHeader_MEASUREMENT_STATE_PREDICTED DetectedItemHeader_MeasurementState = 3
)

func (DetectedItemHeader_MeasurementState) Descriptor

func (DetectedItemHeader_MeasurementState) Enum

func (DetectedItemHeader_MeasurementState) EnumDescriptor deprecated

func (DetectedItemHeader_MeasurementState) EnumDescriptor() ([]byte, []int)

Deprecated: Use DetectedItemHeader_MeasurementState.Descriptor instead.

func (DetectedItemHeader_MeasurementState) Number

func (DetectedItemHeader_MeasurementState) String

func (DetectedItemHeader_MeasurementState) Type

func (*DetectedItemHeader_MeasurementState) UnmarshalJSON deprecated

func (x *DetectedItemHeader_MeasurementState) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type DetectedLane

type DetectedLane struct {

	// Common information of one detected item.
	Header *DetectedItemHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// A list of candidates for this lane as estimated by the sensor.
	Candidate []*DetectedLane_CandidateLane `protobuf:"bytes,2,rep,name=candidate" json:"candidate,omitempty"`
	// contains filtered or unexported fields
}

\brief A lane segment as detected by the sensor.

func (*DetectedLane) Descriptor deprecated

func (*DetectedLane) Descriptor() ([]byte, []int)

Deprecated: Use DetectedLane.ProtoReflect.Descriptor instead.

func (*DetectedLane) GetCandidate

func (x *DetectedLane) GetCandidate() []*DetectedLane_CandidateLane

func (*DetectedLane) GetHeader

func (x *DetectedLane) GetHeader() *DetectedItemHeader

func (*DetectedLane) ProtoMessage

func (*DetectedLane) ProtoMessage()

func (*DetectedLane) ProtoReflect

func (x *DetectedLane) ProtoReflect() protoreflect.Message

func (*DetectedLane) Reset

func (x *DetectedLane) Reset()

func (*DetectedLane) String

func (x *DetectedLane) String() string

type DetectedLaneBoundary

type DetectedLaneBoundary struct {

	// Common information of one detected item.
	Header *DetectedItemHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// A list of candidates for this lane boundary as estimated by the
	// sensor.
	Candidate []*DetectedLaneBoundary_CandidateLaneBoundary `protobuf:"bytes,2,rep,name=candidate" json:"candidate,omitempty"`
	// The list of individual points defining the location of the lane boundary
	// (as a list of segments).
	//
	// Since a \c BoundaryPoint is part of a sequence, only the position
	// attribute has to be set for each instance. All other values will be
	// reused from the previous \c BoundaryPoint in the sequence or set to
	// default values if there is none or it was never set. For dashed lines,
	// one \c LaneBoundary::BoundaryPoint has to be at the start and another at
	// the end of each dashed line segment. For Botts' dots lines, one \c
	// LaneBoundary::BoundaryPoint position has to define each Botts' dot.
	//
	// \attention For \c LaneBoundary::BoundaryPoint the same rules regarding
	// maximum distance and approximation error apply as for \c
	// Lane::Classification::centerline.
	BoundaryLine []*LaneBoundary_BoundaryPoint `protobuf:"bytes,3,rep,name=boundary_line,json=boundaryLine" json:"boundary_line,omitempty"`
	// The root mean squared error of the \c LaneBoundary::BoundaryPoint.
	// Each \c #candidate has the same \c #boundary_line points and exact
	// one \c #boundary_line_rmse rmse confidence value is
	// specified which is suitable for all candidates.
	BoundaryLineRmse []*LaneBoundary_BoundaryPoint `protobuf:"bytes,4,rep,name=boundary_line_rmse,json=boundaryLineRmse" json:"boundary_line_rmse,omitempty"`
	// Confidence of the segments of the \c LaneBoundary::BoundaryPoint.
	// Each \c #candidate has the same \c #boundary_line points and exact
	// one \c #boundary_line_confidences confidence value is
	// specified which is suitable for all candidates.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	BoundaryLineConfidences []float64 `` /* 127-byte string literal not displayed */
	// The visual color of the material of the lane boundary.
	//
	// \note This does not represent the semantic classification but the visual
	// appearance. For semantic classification of the lane boundary use the color
	// field in \c CandidateLaneBoundary::classification.
	ColorDescription *ColorDescription `protobuf:"bytes,6,opt,name=color_description,json=colorDescription" json:"color_description,omitempty"`
	// contains filtered or unexported fields
}

\brief A lane boundary segment as detected by the sensor.

\image html OSI_DetectedLaneBoundary.svg

The parent frame of a detected lane boundary is the virtual sensor coordinate system.

/note The virtual sensor coordinate system is relative to the vehicle coordinate system which has its origin in the center of the rear axle of the ego vehicle. This means if virtual sensor mounting position and orientation are set to (0,0,0) the virtual sensor coordinate system coincides with the vehicle coordinate system.

func (*DetectedLaneBoundary) Descriptor deprecated

func (*DetectedLaneBoundary) Descriptor() ([]byte, []int)

Deprecated: Use DetectedLaneBoundary.ProtoReflect.Descriptor instead.

func (*DetectedLaneBoundary) GetBoundaryLine

func (x *DetectedLaneBoundary) GetBoundaryLine() []*LaneBoundary_BoundaryPoint

func (*DetectedLaneBoundary) GetBoundaryLineConfidences

func (x *DetectedLaneBoundary) GetBoundaryLineConfidences() []float64

func (*DetectedLaneBoundary) GetBoundaryLineRmse

func (x *DetectedLaneBoundary) GetBoundaryLineRmse() []*LaneBoundary_BoundaryPoint

func (*DetectedLaneBoundary) GetCandidate

func (*DetectedLaneBoundary) GetColorDescription

func (x *DetectedLaneBoundary) GetColorDescription() *ColorDescription

func (*DetectedLaneBoundary) GetHeader

func (x *DetectedLaneBoundary) GetHeader() *DetectedItemHeader

func (*DetectedLaneBoundary) ProtoMessage

func (*DetectedLaneBoundary) ProtoMessage()

func (*DetectedLaneBoundary) ProtoReflect

func (x *DetectedLaneBoundary) ProtoReflect() protoreflect.Message

func (*DetectedLaneBoundary) Reset

func (x *DetectedLaneBoundary) Reset()

func (*DetectedLaneBoundary) String

func (x *DetectedLaneBoundary) String() string

type DetectedLaneBoundary_CandidateLaneBoundary

type DetectedLaneBoundary_CandidateLaneBoundary struct {

	// The estimated probability that this candidate is the true value.
	//
	// \note The sum of all \c #probability must be one. This probability is
	// given under the condition of
	// \c DetectedItemHeader::existence_probability.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	Probability *float64 `protobuf:"fixed64,1,opt,name=probability" json:"probability,omitempty"`
	// The classification of one lane boundary that defines this candidate.
	//
	// \note IDs, which are referenced in this message, usually
	// reference to \c DetectedXXX::tracking_id IDs.
	Classification *LaneBoundary_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// contains filtered or unexported fields
}

\brief A candidate for a detected lane boundary as estimated by the sensor.

func (*DetectedLaneBoundary_CandidateLaneBoundary) Descriptor deprecated

Deprecated: Use DetectedLaneBoundary_CandidateLaneBoundary.ProtoReflect.Descriptor instead.

func (*DetectedLaneBoundary_CandidateLaneBoundary) GetClassification

func (*DetectedLaneBoundary_CandidateLaneBoundary) GetProbability

func (*DetectedLaneBoundary_CandidateLaneBoundary) ProtoMessage

func (*DetectedLaneBoundary_CandidateLaneBoundary) ProtoReflect

func (*DetectedLaneBoundary_CandidateLaneBoundary) Reset

func (*DetectedLaneBoundary_CandidateLaneBoundary) String

type DetectedLane_CandidateLane

type DetectedLane_CandidateLane struct {

	// The estimated probability that this candidate is the true value.
	//
	// \note The sum of all \c #probability must be one. This probability is
	// given under the condition of
	// \c DetectedItemHeader::existence_probability.
	//
	// \rules
	// is_less_than_or_equal_to: 1
	// is_greater_than_or_equal_to: 0
	// \endrules
	Probability *float64 `protobuf:"fixed64,1,opt,name=probability" json:"probability,omitempty"`
	// The classification of one lane that defines this candidate.
	//
	// \note IDs, which are referenced in this message, usually
	// reference to \c DetectedXXX::tracking_id IDs.
	Classification *Lane_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// contains filtered or unexported fields
}

\brief A candidate for a detected lane as estimated by the sensor.

func (*DetectedLane_CandidateLane) Descriptor deprecated

func (*DetectedLane_CandidateLane) Descriptor() ([]byte, []int)

Deprecated: Use DetectedLane_CandidateLane.ProtoReflect.Descriptor instead.

func (*DetectedLane_CandidateLane) GetClassification

func (x *DetectedLane_CandidateLane) GetClassification() *Lane_Classification

func (*DetectedLane_CandidateLane) GetProbability

func (x *DetectedLane_CandidateLane) GetProbability() float64

func (*DetectedLane_CandidateLane) ProtoMessage

func (*DetectedLane_CandidateLane) ProtoMessage()

func (*DetectedLane_CandidateLane) ProtoReflect

func (*DetectedLane_CandidateLane) Reset

func (x *DetectedLane_CandidateLane) Reset()

func (*DetectedLane_CandidateLane) String

func (x *DetectedLane_CandidateLane) String() string

type DetectedMovingObject

type DetectedMovingObject struct {

	// Common information of one detected item.
	Header *DetectedItemHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// The base parameters of the moving object.
	//
	// \note The bounding box does NOT include mirrors for vehicles.
	// \note The height includes the ground_clearance. It always goes from the
	// top to the ground.
	Base *BaseMoving `protobuf:"bytes,2,opt,name=base" json:"base,omitempty"`
	// The root mean squared error of the base parameters of the detected
	// moving object (e.g. car). \c MovingObject::base has to be
	// identical for all \c #candidate moving objects.
	BaseRmse *BaseMoving `protobuf:"bytes,3,opt,name=base_rmse,json=baseRmse" json:"base_rmse,omitempty"`
	// Reference point location specification of the sensor measurement
	// (required to decouple sensor measurement, position and bounding box
	// estimation) as used by the sensor (model).
	//
	// \note Note that the value of this field has no impact on the value of
	// object::position, which always references the center of the object /
	// bounding box.
	ReferencePoint *DetectedMovingObject_ReferencePoint `` /* 143-byte string literal not displayed */
	// Actual movement state w.r.t. the moving object history.
	MovementState *DetectedMovingObject_MovementState `` /* 139-byte string literal not displayed */
	// Percentage side lane left.
	//
	// Percentage value of the object width in the corresponding lane.
	//
	// \note DEPRECATED: Use assigned_lane_percentage in MovingObjectClassification
	// instead.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 100
	// \endrules
	PercentageSideLaneLeft *float64 `` /* 126-byte string literal not displayed */
	// Percentage side lane right.
	//
	// Percentage value of the object width in the corresponding lane.
	//
	// \note DEPRECATED: Use assigned_lane_percentage in MovingObjectClassification
	// instead.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 100
	// \endrules
	PercentageSideLaneRight *float64 `` /* 129-byte string literal not displayed */
	// A list of candidates for this moving object as estimated by the
	// sensor (e.g. pedestrian, car).
	Candidate []*DetectedMovingObject_CandidateMovingObject `protobuf:"bytes,8,rep,name=candidate" json:"candidate,omitempty"`
	// The dominating color of the material of the moving object.
	ColorDescription *ColorDescription `protobuf:"bytes,9,opt,name=color_description,json=colorDescription" json:"color_description,omitempty"`
	// Additional data that is specific to radar sensors.
	//
	// \note Field needs not to be set if simulated sensor is not a radar
	// sensor.
	RadarSpecifics *RadarSpecificObjectData `protobuf:"bytes,100,opt,name=radar_specifics,json=radarSpecifics" json:"radar_specifics,omitempty"`
	// Additional data that is specific to lidar sensors.
	//
	// \note Field needs not to be set if simulated sensor is not a lidar
	// sensor.
	LidarSpecifics *LidarSpecificObjectData `protobuf:"bytes,101,opt,name=lidar_specifics,json=lidarSpecifics" json:"lidar_specifics,omitempty"`
	// Additional data that is specific to camera sensors.
	//
	// \note Field needs not to be set if simulated sensor is not a camera
	// sensor.
	CameraSpecifics *CameraSpecificObjectData `protobuf:"bytes,102,opt,name=camera_specifics,json=cameraSpecifics" json:"camera_specifics,omitempty"`
	// Additional data that is specific to ultrasonic sensors.
	//
	// \note Field needs not to be set if simulated sensor is not an ultrasonic
	// sensor.
	UltrasonicSpecifics *UltrasonicSpecificObjectData `protobuf:"bytes,103,opt,name=ultrasonic_specifics,json=ultrasonicSpecifics" json:"ultrasonic_specifics,omitempty"`
	// contains filtered or unexported fields
}

\brief Moving object in the environment as detected and perceived by the sensor.

The parent frame of a detected moving object is the virtual sensor coordinate system.

/note The virtual sensor coordinate system is relative to the vehicle coordinate system which has its origin in the center of the rear axle of the ego vehicle. This means if virtual sensor mounting position and orientation are set to (0,0,0) the virtual sensor coordinate system coincides with the vehicle coordinate system.

func (*DetectedMovingObject) Descriptor deprecated

func (*DetectedMovingObject) Descriptor() ([]byte, []int)

Deprecated: Use DetectedMovingObject.ProtoReflect.Descriptor instead.

func (*DetectedMovingObject) GetBase

func (x *DetectedMovingObject) GetBase() *BaseMoving

func (*DetectedMovingObject) GetBaseRmse

func (x *DetectedMovingObject) GetBaseRmse() *BaseMoving

func (*DetectedMovingObject) GetCameraSpecifics

func (x *DetectedMovingObject) GetCameraSpecifics() *CameraSpecificObjectData

func (*DetectedMovingObject) GetCandidate

func (*DetectedMovingObject) GetColorDescription

func (x *DetectedMovingObject) GetColorDescription() *ColorDescription

func (*DetectedMovingObject) GetHeader

func (x *DetectedMovingObject) GetHeader() *DetectedItemHeader

func (*DetectedMovingObject) GetLidarSpecifics

func (x *DetectedMovingObject) GetLidarSpecifics() *LidarSpecificObjectData

func (*DetectedMovingObject) GetMovementState

func (*DetectedMovingObject) GetPercentageSideLaneLeft

func (x *DetectedMovingObject) GetPercentageSideLaneLeft() float64

func (*DetectedMovingObject) GetPercentageSideLaneRight

func (x *DetectedMovingObject) GetPercentageSideLaneRight() float64

func (*DetectedMovingObject) GetRadarSpecifics

func (x *DetectedMovingObject) GetRadarSpecifics() *RadarSpecificObjectData

func (*DetectedMovingObject) GetReferencePoint

func (*DetectedMovingObject) GetUltrasonicSpecifics

func (x *DetectedMovingObject) GetUltrasonicSpecifics() *UltrasonicSpecificObjectData

func (*DetectedMovingObject) ProtoMessage

func (*DetectedMovingObject) ProtoMessage()

func (*DetectedMovingObject) ProtoReflect

func (x *DetectedMovingObject) ProtoReflect() protoreflect.Message

func (*DetectedMovingObject) Reset

func (x *DetectedMovingObject) Reset()

func (*DetectedMovingObject) String

func (x *DetectedMovingObject) String() string

type DetectedMovingObject_CandidateMovingObject

type DetectedMovingObject_CandidateMovingObject struct {

	// The estimated probability that this candidate is the true value.
	//
	// \note The sum of all \c #probability must be one. This probability is
	// given under the condition of
	// \c DetectedItemHeader::existence_probability.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	Probability *float64 `protobuf:"fixed64,1,opt,name=probability" json:"probability,omitempty"`
	// The description of the moving object (e.g. car).
	Type *MovingObject_Type `protobuf:"varint,2,opt,name=type,enum=osi3.MovingObject_Type" json:"type,omitempty"`
	// Specific information about the classification of the vehicle.
	//
	// \note This field is mandatory if the \c CandidateMovingObject::type
	// is \c MovingObject::TYPE_VEHICLE .
	//
	// \rules
	// check_if this.type is_equal_to 2 else do_check is_set
	// \endrules
	VehicleClassification *MovingObject_VehicleClassification `protobuf:"bytes,3,opt,name=vehicle_classification,json=vehicleClassification" json:"vehicle_classification,omitempty"`
	// Pedestrian head pose for behavior prediction. Describes the head
	// orientation w.r.t. the host vehicle orientation.
	// The x-axis of the right-handed head frame is pointing along the
	// pedestrian's straight ahead viewing direction (anterior), the y-axis lateral to the left,
	// and the z-axis is pointing upwards (superior) [1].
	//
	// “View_normal_base_coord_system =
	// Inverse_Rotation(#head_pose)*Unit_vector_x“
	//
	// \note This field is mandatory if the \c CandidateMovingObject.type is
	// \c MovingObject::TYPE_PEDESTRIAN
	//
	// \rules
	// check_if this.type is_equal_to 3 else do_check is_set
	// \endrules
	//
	// \par Reference:
	//
	// [1] Patton, K. T. & Thibodeau, G. A. (2015). <em>Anatomy & Physiology</em>. 9th Edition. Elsevier. Missouri, U.S.A. ISBN 978-0-323-34139-4. p. 1229.
	HeadPose *Orientation3D `protobuf:"bytes,4,opt,name=head_pose,json=headPose" json:"head_pose,omitempty"`
	// Pedestrian upper body pose for behavior prediction. Describes the
	// upper body orientation w.r.t. the host vehicle orientation.
	// The x-axis of the right-handed upper body frame is pointing along the
	// pedestrian's upper body ventral (anterior) direction (i.e. usually
	// pedestrian's intended moving direction), the y-axis lateral to the left,
	// and the z-axis is pointing upwards (superior, to the pedestrian's head) [1].
	//
	// “View_normal_base_coord_system =
	// Inverse_Rotation(#upper_body_pose)*Unit_vector_x“
	//
	// \note This field is mandatory if the \c CandidateMovingObject::type
	// is \c MovingObject::TYPE_PEDESTRIAN
	//
	// \rules
	// check_if this.type is_equal_to 3 else do_check is_set
	// \endrules
	//
	// \par Reference:
	// [1] Patton, K. T. & Thibodeau, G. A. (2015). <em>Anatomy & Physiology</em>. 9th Edition. Elsevier. Missouri, U.S.A. ISBN 978-0-323-34139-4. p. 1229.
	UpperBodyPose *Orientation3D `protobuf:"bytes,5,opt,name=upper_body_pose,json=upperBodyPose" json:"upper_body_pose,omitempty"`
	// Specific information about the classification of a moving object.
	MovingObjectClassification *MovingObject_MovingObjectClassification `` /* 134-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief A candidate for a detected moving object as estimated by the sensor.

func (*DetectedMovingObject_CandidateMovingObject) Descriptor deprecated

Deprecated: Use DetectedMovingObject_CandidateMovingObject.ProtoReflect.Descriptor instead.

func (*DetectedMovingObject_CandidateMovingObject) GetHeadPose

func (*DetectedMovingObject_CandidateMovingObject) GetMovingObjectClassification

func (*DetectedMovingObject_CandidateMovingObject) GetProbability

func (*DetectedMovingObject_CandidateMovingObject) GetType

func (*DetectedMovingObject_CandidateMovingObject) GetUpperBodyPose

func (*DetectedMovingObject_CandidateMovingObject) GetVehicleClassification

func (*DetectedMovingObject_CandidateMovingObject) ProtoMessage

func (*DetectedMovingObject_CandidateMovingObject) ProtoReflect

func (*DetectedMovingObject_CandidateMovingObject) Reset

func (*DetectedMovingObject_CandidateMovingObject) String

type DetectedMovingObject_MovementState

type DetectedMovingObject_MovementState int32

Information about a possible movement of the object during tracking.

const (
	// Movement state is unknown.
	DetectedMovingObject_MOVEMENT_STATE_UNKNOWN DetectedMovingObject_MovementState = 0
	// Other (unspecified but known).
	DetectedMovingObject_MOVEMENT_STATE_OTHER DetectedMovingObject_MovementState = 1
	// Until now no object movement was detected in tracking history.
	DetectedMovingObject_MOVEMENT_STATE_STATIONARY DetectedMovingObject_MovementState = 2
	// Object moves currently.
	DetectedMovingObject_MOVEMENT_STATE_MOVING DetectedMovingObject_MovementState = 3
	// Object movement was detected in tracking history, but object is
	// currently not moving.
	DetectedMovingObject_MOVEMENT_STATE_STOPPED DetectedMovingObject_MovementState = 4
)

func (DetectedMovingObject_MovementState) Descriptor

func (DetectedMovingObject_MovementState) Enum

func (DetectedMovingObject_MovementState) EnumDescriptor deprecated

func (DetectedMovingObject_MovementState) EnumDescriptor() ([]byte, []int)

Deprecated: Use DetectedMovingObject_MovementState.Descriptor instead.

func (DetectedMovingObject_MovementState) Number

func (DetectedMovingObject_MovementState) String

func (DetectedMovingObject_MovementState) Type

func (*DetectedMovingObject_MovementState) UnmarshalJSON deprecated

func (x *DetectedMovingObject_MovementState) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type DetectedMovingObject_ReferencePoint

type DetectedMovingObject_ReferencePoint int32

Definition of available reference points. Left/middle/right and front/middle/rear indicate the position in y- and x-direction respectively. The z position is always considered as middle.

const (
	// Reference point is unknown, i.e. sensor does not report a reference
	// point for the position coordinate.
	// Value must not be used in ground truth data.
	// Usually this means that the reference point for the given position
	// coordinates is a largely arbitrary point within the bounding volume
	// unknown to the sensor. If this value is set, the center of the
	// bounding box should be used as reference point by convention, unless
	// the specific use case requires otherwise.
	DetectedMovingObject_REFERENCE_POINT_UNKNOWN DetectedMovingObject_ReferencePoint = 0
	// Other (unspecified but known) reference point.
	DetectedMovingObject_REFERENCE_POINT_OTHER DetectedMovingObject_ReferencePoint = 1
	// Center of the bounding box.
	DetectedMovingObject_REFERENCE_POINT_CENTER DetectedMovingObject_ReferencePoint = 2
	// Middle-Left of the bounding box.
	DetectedMovingObject_REFERENCE_POINT_MIDDLE_LEFT DetectedMovingObject_ReferencePoint = 3
	// Middle-Right of the bounding box.
	DetectedMovingObject_REFERENCE_POINT_MIDDLE_RIGHT DetectedMovingObject_ReferencePoint = 4
	// Rear-Middle of the bounding box.
	DetectedMovingObject_REFERENCE_POINT_REAR_MIDDLE DetectedMovingObject_ReferencePoint = 5
	// Rear-Left of the bounding box.
	DetectedMovingObject_REFERENCE_POINT_REAR_LEFT DetectedMovingObject_ReferencePoint = 6
	// Rear-Right of the bounding box.
	DetectedMovingObject_REFERENCE_POINT_REAR_RIGHT DetectedMovingObject_ReferencePoint = 7
	// Front-Middle of the bounding box.
	DetectedMovingObject_REFERENCE_POINT_FRONT_MIDDLE DetectedMovingObject_ReferencePoint = 8
	// Front-Left of the bounding box.
	DetectedMovingObject_REFERENCE_POINT_FRONT_LEFT DetectedMovingObject_ReferencePoint = 9
	// Front-Right of the bounding box.
	DetectedMovingObject_REFERENCE_POINT_FRONT_RIGHT DetectedMovingObject_ReferencePoint = 10
)

func (DetectedMovingObject_ReferencePoint) Descriptor

func (DetectedMovingObject_ReferencePoint) Enum

func (DetectedMovingObject_ReferencePoint) EnumDescriptor deprecated

func (DetectedMovingObject_ReferencePoint) EnumDescriptor() ([]byte, []int)

Deprecated: Use DetectedMovingObject_ReferencePoint.Descriptor instead.

func (DetectedMovingObject_ReferencePoint) Number

func (DetectedMovingObject_ReferencePoint) String

func (DetectedMovingObject_ReferencePoint) Type

func (*DetectedMovingObject_ReferencePoint) UnmarshalJSON deprecated

func (x *DetectedMovingObject_ReferencePoint) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type DetectedOccupant

type DetectedOccupant struct {

	// Common information of one detected item.
	Header *DetectedItemHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// A list of candidates for this occupant as estimated by the
	// sensor.
	Candidate []*DetectedOccupant_CandidateOccupant `protobuf:"bytes,2,rep,name=candidate" json:"candidate,omitempty"`
	// contains filtered or unexported fields
}

\brief A vehicle occupant as detected and perceived by an interior sensor.

func (*DetectedOccupant) Descriptor deprecated

func (*DetectedOccupant) Descriptor() ([]byte, []int)

Deprecated: Use DetectedOccupant.ProtoReflect.Descriptor instead.

func (*DetectedOccupant) GetCandidate

func (*DetectedOccupant) GetHeader

func (x *DetectedOccupant) GetHeader() *DetectedItemHeader

func (*DetectedOccupant) ProtoMessage

func (*DetectedOccupant) ProtoMessage()

func (*DetectedOccupant) ProtoReflect

func (x *DetectedOccupant) ProtoReflect() protoreflect.Message

func (*DetectedOccupant) Reset

func (x *DetectedOccupant) Reset()

func (*DetectedOccupant) String

func (x *DetectedOccupant) String() string

type DetectedOccupant_CandidateOccupant

type DetectedOccupant_CandidateOccupant struct {

	// The estimated probability that this candidate is the true value.
	//
	// \note The sum of all \c #probability must be one. This probability is
	// given under the condition of
	// \c DetectedItemHeader::existence_probability.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	Probability *float64 `protobuf:"fixed64,1,opt,name=probability" json:"probability,omitempty"`
	// The detected vehicle occupant classification.
	//
	// \note IDs, which are referenced in this message, usually
	// reference to \c DetectedXXX::tracking_id IDs.
	Classification *Occupant_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// contains filtered or unexported fields
}

\brief A candidate for a detected occupant as estimated by the sensor.

func (*DetectedOccupant_CandidateOccupant) Descriptor deprecated

func (*DetectedOccupant_CandidateOccupant) Descriptor() ([]byte, []int)

Deprecated: Use DetectedOccupant_CandidateOccupant.ProtoReflect.Descriptor instead.

func (*DetectedOccupant_CandidateOccupant) GetClassification

func (*DetectedOccupant_CandidateOccupant) GetProbability

func (x *DetectedOccupant_CandidateOccupant) GetProbability() float64

func (*DetectedOccupant_CandidateOccupant) ProtoMessage

func (*DetectedOccupant_CandidateOccupant) ProtoMessage()

func (*DetectedOccupant_CandidateOccupant) ProtoReflect

func (*DetectedOccupant_CandidateOccupant) Reset

func (*DetectedOccupant_CandidateOccupant) String

type DetectedRoadMarking

type DetectedRoadMarking struct {

	// Common information of one detected item.
	Header *DetectedItemHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// The base parameters of the road marking.
	//
	// The orientation of the bounding box \c #base
	// \c BaseStationary::orientation is defined as follows:
	// The z-axis of the \c BaseStationary::orientation is the vector from the
	// 'bottom' to the 'top' of the road marking's (i.e. painted traffic sign)
	// 2D image area.
	// (Normally it is in the ground truth xy-plain.)
	// The x-axis of the \c BaseStationary::orientation is the view normal of
	// the road marking's 2D image area.
	// Normally this x-axis points to the sky.
	//
	// \note If a valid unidirectional road marking is assigned to the host
	// vehicle's current lane and the driving direction of the latter roughly
	// matches the z-axis of the \c #base \c BaseStationary::orientation then
	// the road marking is of relevance to (i.e. in effect for) the host
	// vehicle.
	Base *BaseStationary `protobuf:"bytes,2,opt,name=base" json:"base,omitempty"`
	// The root mean squared error of the base parameters of the detected
	// road marking. \c RoadMarking::base has to be identical for
	// all \c #candidate road markings.
	BaseRmse *BaseStationary `protobuf:"bytes,3,opt,name=base_rmse,json=baseRmse" json:"base_rmse,omitempty"`
	// A list of candidates for this road marking as estimated by the
	// sensor.
	Candidate []*DetectedRoadMarking_CandidateRoadMarking `protobuf:"bytes,4,rep,name=candidate" json:"candidate,omitempty"`
	// The visual color of the material of the road marking.
	//
	// \note This does not represent the semantic classification but the visual
	// appearance. For semantic classification of the road marking use the color
	// field in \c CandidateRoadMarking::classification.
	ColorDescription *ColorDescription `protobuf:"bytes,5,opt,name=color_description,json=colorDescription" json:"color_description,omitempty"`
	// contains filtered or unexported fields
}

\brief A road marking in the environment as detected by the sensor.

\image html OSI_DetectedRoadMarking.svg

The figure shows two STOP road markings (\c DetectedRoadMarking::CandidateRoadMarking::classification). STOP \c RoadMarking::Classification::type == \c RoadMarking::Classification::TYPE_TEXTUAL_TRAFFIC_SIGN is marked, STOP \c RoadMarking::Classification::type == \c RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN is not marked.

The parent frame of a detected road marking is the virtual sensor coordinate system.

/note The virtual sensor coordinate system is relative to the vehicle coordinate system which has its origin in the center of the rear axle of the ego vehicle. This means if virtual sensor mounting position and orientation are set to (0,0,0) the virtual sensor coordinate system coincides with the vehicle coordinate system.

func (*DetectedRoadMarking) Descriptor deprecated

func (*DetectedRoadMarking) Descriptor() ([]byte, []int)

Deprecated: Use DetectedRoadMarking.ProtoReflect.Descriptor instead.

func (*DetectedRoadMarking) GetBase

func (x *DetectedRoadMarking) GetBase() *BaseStationary

func (*DetectedRoadMarking) GetBaseRmse

func (x *DetectedRoadMarking) GetBaseRmse() *BaseStationary

func (*DetectedRoadMarking) GetCandidate

func (*DetectedRoadMarking) GetColorDescription

func (x *DetectedRoadMarking) GetColorDescription() *ColorDescription

func (*DetectedRoadMarking) GetHeader

func (x *DetectedRoadMarking) GetHeader() *DetectedItemHeader

func (*DetectedRoadMarking) ProtoMessage

func (*DetectedRoadMarking) ProtoMessage()

func (*DetectedRoadMarking) ProtoReflect

func (x *DetectedRoadMarking) ProtoReflect() protoreflect.Message

func (*DetectedRoadMarking) Reset

func (x *DetectedRoadMarking) Reset()

func (*DetectedRoadMarking) String

func (x *DetectedRoadMarking) String() string

type DetectedRoadMarking_CandidateRoadMarking

type DetectedRoadMarking_CandidateRoadMarking struct {

	// The estimated probability that this candidate is the true value.
	//
	// \note The sum of all \c #probability must be one. This probability is
	// given under the condition of
	// \c DetectedItemHeader::existence_probability.
	//
	// \rules
	// is_less_than_or_equal_to: 1
	// is_greater_than_or_equal_to: 0
	// \endrules
	Probability *float64 `protobuf:"fixed64,1,opt,name=probability" json:"probability,omitempty"`
	// The classification of the road marking.
	//
	// \note IDs, which are referenced in this message, usually
	// reference to \c DetectedXXX::tracking_id IDs.
	Classification *RoadMarking_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// contains filtered or unexported fields
}

\brief A candidate for a detected road marking as estimated by the sensor.

func (*DetectedRoadMarking_CandidateRoadMarking) Descriptor deprecated

func (*DetectedRoadMarking_CandidateRoadMarking) Descriptor() ([]byte, []int)

Deprecated: Use DetectedRoadMarking_CandidateRoadMarking.ProtoReflect.Descriptor instead.

func (*DetectedRoadMarking_CandidateRoadMarking) GetClassification

func (*DetectedRoadMarking_CandidateRoadMarking) GetProbability

func (*DetectedRoadMarking_CandidateRoadMarking) ProtoMessage

func (*DetectedRoadMarking_CandidateRoadMarking) ProtoReflect

func (*DetectedRoadMarking_CandidateRoadMarking) Reset

func (*DetectedRoadMarking_CandidateRoadMarking) String

type DetectedStationaryObject

type DetectedStationaryObject struct {

	// Common information of one detected item.
	Header *DetectedItemHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// The base parameters of the stationary object.
	Base *BaseStationary `protobuf:"bytes,2,opt,name=base" json:"base,omitempty"`
	// The root mean squared error of the base parameters of the detected
	// stationary object (e.g. landmark). \c StationaryObject::base has to be
	// identical for all \c #candidate stationary objects.
	BaseRmse *BaseStationary `protobuf:"bytes,3,opt,name=base_rmse,json=baseRmse" json:"base_rmse,omitempty"`
	// A list of candidates for this stationary object as estimated by the
	// sensor.
	Candidate []*DetectedStationaryObject_CandidateStationaryObject `protobuf:"bytes,4,rep,name=candidate" json:"candidate,omitempty"`
	// The dominating color of the material of the structure.
	ColorDescription *ColorDescription `protobuf:"bytes,5,opt,name=color_description,json=colorDescription" json:"color_description,omitempty"`
	// Additional data that is specific to radar sensors.
	//
	// \note Field needs not to be set if simulated sensor is not a radar
	// sensor.
	RadarSpecifics *RadarSpecificObjectData `protobuf:"bytes,100,opt,name=radar_specifics,json=radarSpecifics" json:"radar_specifics,omitempty"`
	// Additional data that is specific to lidar sensors.
	//
	// \note Field needs not to be set if simulated sensor is not a lidar
	// sensor.
	LidarSpecifics *LidarSpecificObjectData `protobuf:"bytes,101,opt,name=lidar_specifics,json=lidarSpecifics" json:"lidar_specifics,omitempty"`
	// Additional data that is specific to camera sensors.
	//
	// \note Field needs not to be set if simulated sensor is not a camera
	// sensor.
	CameraSpecifics *CameraSpecificObjectData `protobuf:"bytes,102,opt,name=camera_specifics,json=cameraSpecifics" json:"camera_specifics,omitempty"`
	// Additional data that is specific to ultrasonic sensors.
	//
	// \note Field needs not to be set if simulated sensor is not an ultrasonic
	// sensor.
	UltrasonicSpecifics *UltrasonicSpecificObjectData `protobuf:"bytes,103,opt,name=ultrasonic_specifics,json=ultrasonicSpecifics" json:"ultrasonic_specifics,omitempty"`
	// contains filtered or unexported fields
}

\brief A stationary object (e.g. landmark) in the environment as detected by the sensor.

\image html OSI_DetectedStationaryObject.svg

The parent frame of a detected stationary object is the virtual sensor coordinate system.

/note The virtual sensor coordinate system is relative to the vehicle coordinate system which has its origin in the center of the rear axle of the ego vehicle. This means if virtual sensor mounting position and orientation are set to (0,0,0) the virtual sensor coordinate system coincides with the vehicle coordinate system.

func (*DetectedStationaryObject) Descriptor deprecated

func (*DetectedStationaryObject) Descriptor() ([]byte, []int)

Deprecated: Use DetectedStationaryObject.ProtoReflect.Descriptor instead.

func (*DetectedStationaryObject) GetBase

func (*DetectedStationaryObject) GetBaseRmse

func (x *DetectedStationaryObject) GetBaseRmse() *BaseStationary

func (*DetectedStationaryObject) GetCameraSpecifics

func (x *DetectedStationaryObject) GetCameraSpecifics() *CameraSpecificObjectData

func (*DetectedStationaryObject) GetCandidate

func (*DetectedStationaryObject) GetColorDescription

func (x *DetectedStationaryObject) GetColorDescription() *ColorDescription

func (*DetectedStationaryObject) GetHeader

func (*DetectedStationaryObject) GetLidarSpecifics

func (x *DetectedStationaryObject) GetLidarSpecifics() *LidarSpecificObjectData

func (*DetectedStationaryObject) GetRadarSpecifics

func (x *DetectedStationaryObject) GetRadarSpecifics() *RadarSpecificObjectData

func (*DetectedStationaryObject) GetUltrasonicSpecifics

func (x *DetectedStationaryObject) GetUltrasonicSpecifics() *UltrasonicSpecificObjectData

func (*DetectedStationaryObject) ProtoMessage

func (*DetectedStationaryObject) ProtoMessage()

func (*DetectedStationaryObject) ProtoReflect

func (x *DetectedStationaryObject) ProtoReflect() protoreflect.Message

func (*DetectedStationaryObject) Reset

func (x *DetectedStationaryObject) Reset()

func (*DetectedStationaryObject) String

func (x *DetectedStationaryObject) String() string

type DetectedStationaryObject_CandidateStationaryObject

type DetectedStationaryObject_CandidateStationaryObject struct {

	// The estimated probability that this candidate is the true value.
	//
	// \note The sum of all \c #probability must be one. This probability is
	// given under the condition of
	// \c DetectedItemHeader::existence_probability.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	Probability *float64 `protobuf:"fixed64,1,opt,name=probability" json:"probability,omitempty"`
	// The classification of the stationary object (e.g. landmark).
	Classification *StationaryObject_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// contains filtered or unexported fields
}

\brief A candidate for a detected stationary object as estimated by the sensor.

func (*DetectedStationaryObject_CandidateStationaryObject) Descriptor deprecated

Deprecated: Use DetectedStationaryObject_CandidateStationaryObject.ProtoReflect.Descriptor instead.

func (*DetectedStationaryObject_CandidateStationaryObject) GetClassification

func (*DetectedStationaryObject_CandidateStationaryObject) GetProbability

func (*DetectedStationaryObject_CandidateStationaryObject) ProtoMessage

func (*DetectedStationaryObject_CandidateStationaryObject) ProtoReflect

func (*DetectedStationaryObject_CandidateStationaryObject) Reset

func (*DetectedStationaryObject_CandidateStationaryObject) String

type DetectedTrafficLight

type DetectedTrafficLight struct {

	// Common information of one detected item.
	Header *DetectedItemHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// The base parameters of the traffic light.
	//
	// \c BaseStationary::orientation x-axis is view normal of the traffic
	// light's icon.
	Base *BaseStationary `protobuf:"bytes,2,opt,name=base" json:"base,omitempty"`
	// The root mean squared error of the base parameters of the detected
	// traffic light's geometry. \c TrafficLight::base has to be identical
	// for all \c #candidate traffic lights.
	BaseRmse *BaseStationary `protobuf:"bytes,3,opt,name=base_rmse,json=baseRmse" json:"base_rmse,omitempty"`
	// A list of candidates for this traffic light as estimated by the
	// sensor.
	Candidate []*DetectedTrafficLight_CandidateTrafficLight `protobuf:"bytes,4,rep,name=candidate" json:"candidate,omitempty"`
	// The visual color of the traffic light.
	//
	// \note This does not represent the semantic classification but the visual
	// appearance.  For semantic classification of the traffic light use the color
	// field in \c CandidateTrafficLight::classification.
	ColorDescription *ColorDescription `protobuf:"bytes,5,opt,name=color_description,json=colorDescription" json:"color_description,omitempty"`
	// contains filtered or unexported fields
}

\brief A traffic light in the environment as detected by the sensor.

\image html OSI_DetectedTrafficLight.svg

One detected traffic light message defines a single 'bulb' and not a box of several bulbs, e.g. red, yellow, green are three separate detected traffic lights.

The parent frame of a detected traffic light is the virtual sensor coordinate system.

/note The virtual sensor coordinate system is relative to the vehicle coordinate system which has its origin in the center of the rear axle of the ego vehicle. This means if virtual sensor mounting position and orientation are set to (0,0,0) the virtual sensor coordinate system coincides with the vehicle coordinate system.

func (*DetectedTrafficLight) Descriptor deprecated

func (*DetectedTrafficLight) Descriptor() ([]byte, []int)

Deprecated: Use DetectedTrafficLight.ProtoReflect.Descriptor instead.

func (*DetectedTrafficLight) GetBase

func (x *DetectedTrafficLight) GetBase() *BaseStationary

func (*DetectedTrafficLight) GetBaseRmse

func (x *DetectedTrafficLight) GetBaseRmse() *BaseStationary

func (*DetectedTrafficLight) GetCandidate

func (*DetectedTrafficLight) GetColorDescription

func (x *DetectedTrafficLight) GetColorDescription() *ColorDescription

func (*DetectedTrafficLight) GetHeader

func (x *DetectedTrafficLight) GetHeader() *DetectedItemHeader

func (*DetectedTrafficLight) ProtoMessage

func (*DetectedTrafficLight) ProtoMessage()

func (*DetectedTrafficLight) ProtoReflect

func (x *DetectedTrafficLight) ProtoReflect() protoreflect.Message

func (*DetectedTrafficLight) Reset

func (x *DetectedTrafficLight) Reset()

func (*DetectedTrafficLight) String

func (x *DetectedTrafficLight) String() string

type DetectedTrafficLight_CandidateTrafficLight

type DetectedTrafficLight_CandidateTrafficLight struct {

	// The estimated probability that this candidate is the true value.
	//
	// \note The sum of all \c #probability must be one. This probability is
	// given under the condition of
	// \c DetectedItemHeader::existence_probability.
	//
	// \rules
	// is_less_than_or_equal_to: 1
	// is_greater_than_or_equal_to: 0
	// \endrules
	Probability *float64 `protobuf:"fixed64,1,opt,name=probability" json:"probability,omitempty"`
	// The classification of one traffic light that define this candidate.
	//
	// \note IDs, which are referenced in this message, usually
	// reference to \c DetectedXXX::tracking_id IDs.
	Classification *TrafficLight_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// contains filtered or unexported fields
}

\brief A candidate for a detected traffic light as estimated by the sensor.

func (*DetectedTrafficLight_CandidateTrafficLight) Descriptor deprecated

Deprecated: Use DetectedTrafficLight_CandidateTrafficLight.ProtoReflect.Descriptor instead.

func (*DetectedTrafficLight_CandidateTrafficLight) GetClassification

func (*DetectedTrafficLight_CandidateTrafficLight) GetProbability

func (*DetectedTrafficLight_CandidateTrafficLight) ProtoMessage

func (*DetectedTrafficLight_CandidateTrafficLight) ProtoReflect

func (*DetectedTrafficLight_CandidateTrafficLight) Reset

func (*DetectedTrafficLight_CandidateTrafficLight) String

type DetectedTrafficSign

type DetectedTrafficSign struct {

	// Common information of one detected item.
	Header *DetectedItemHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// The main sign as detected by the sensor.
	MainSign *DetectedTrafficSign_DetectedMainSign `protobuf:"bytes,2,opt,name=main_sign,json=mainSign" json:"main_sign,omitempty"`
	// A list of additional supplementary sign(s) as detected by the sensor.
	SupplementarySign []*DetectedTrafficSign_DetectedSupplementarySign `protobuf:"bytes,3,rep,name=supplementary_sign,json=supplementarySign" json:"supplementary_sign,omitempty"`
	// contains filtered or unexported fields
}

\brief A traffic sign in the environment as detected by the sensor.

\image html OSI_DetectedSign.svg

The parent frame of a detected traffic sign is the virtual sensor coordinate system.

\note The virtual sensor coordinate system is relative to the vehicle coordinate system which has its origin in the center of the rear axle of the ego vehicle. This means if virtual sensor mounting position and orientation are set to (0,0,0) the virtual sensor coordinate system coincides with the vehicle coordinate system.

func (*DetectedTrafficSign) Descriptor deprecated

func (*DetectedTrafficSign) Descriptor() ([]byte, []int)

Deprecated: Use DetectedTrafficSign.ProtoReflect.Descriptor instead.

func (*DetectedTrafficSign) GetHeader

func (x *DetectedTrafficSign) GetHeader() *DetectedItemHeader

func (*DetectedTrafficSign) GetMainSign

func (*DetectedTrafficSign) GetSupplementarySign

func (*DetectedTrafficSign) ProtoMessage

func (*DetectedTrafficSign) ProtoMessage()

func (*DetectedTrafficSign) ProtoReflect

func (x *DetectedTrafficSign) ProtoReflect() protoreflect.Message

func (*DetectedTrafficSign) Reset

func (x *DetectedTrafficSign) Reset()

func (*DetectedTrafficSign) String

func (x *DetectedTrafficSign) String() string

type DetectedTrafficSign_DetectedMainSign

type DetectedTrafficSign_DetectedMainSign struct {

	// A list of candidates for this traffic sign as estimated by the
	// sensor.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	Candidate []*DetectedTrafficSign_DetectedMainSign_CandidateMainSign `protobuf:"bytes,1,rep,name=candidate" json:"candidate,omitempty"`
	// The base parameters of the traffic sign.
	//
	// The orientation of the bounding box \c #base
	// ( \c BaseStationary::orientation ) is defined as follows:
	//
	// The z-axis of the given \c BaseStationary::orientation is the vector
	// from the bottom to the top of the traffic sign's 2D image plate.
	// (Normally it is equal to the ground truth z-axis.)
	//
	// The x-axis of the given \c BaseStationary::orientation is view
	// normal of the traffic sign's image.
	//
	// This x-axis points from the traffic sign's image in the direction
	// from where a 'viewer' could see the traffic sign image.
	Base *BaseStationary `protobuf:"bytes,2,opt,name=base" json:"base,omitempty"`
	// The root mean squared error of the base parameters of the detected
	// traffic sign. \c TrafficSign::MainSign::base has to be identical for
	// all \c #candidate traffic signs.
	BaseRmse *BaseStationary `protobuf:"bytes,3,opt,name=base_rmse,json=baseRmse" json:"base_rmse,omitempty"`
	// The estimated geometry of the traffic sign.
	Geometry *DetectedTrafficSign_DetectedMainSign_Geometry `protobuf:"varint,4,opt,name=geometry,enum=osi3.DetectedTrafficSign_DetectedMainSign_Geometry" json:"geometry,omitempty"`
	// contains filtered or unexported fields
}

\brief Candidates for a detected main sign as estimated by the sensor.

\image html OSI_DetectedMainSign.svg

func (*DetectedTrafficSign_DetectedMainSign) Descriptor deprecated

func (*DetectedTrafficSign_DetectedMainSign) Descriptor() ([]byte, []int)

Deprecated: Use DetectedTrafficSign_DetectedMainSign.ProtoReflect.Descriptor instead.

func (*DetectedTrafficSign_DetectedMainSign) GetBase

func (*DetectedTrafficSign_DetectedMainSign) GetBaseRmse

func (*DetectedTrafficSign_DetectedMainSign) GetCandidate

func (*DetectedTrafficSign_DetectedMainSign) GetGeometry

func (*DetectedTrafficSign_DetectedMainSign) ProtoMessage

func (*DetectedTrafficSign_DetectedMainSign) ProtoMessage()

func (*DetectedTrafficSign_DetectedMainSign) ProtoReflect

func (*DetectedTrafficSign_DetectedMainSign) Reset

func (*DetectedTrafficSign_DetectedMainSign) String

type DetectedTrafficSign_DetectedMainSign_CandidateMainSign

type DetectedTrafficSign_DetectedMainSign_CandidateMainSign struct {

	// The estimated probability that this candidate is the true value.
	//
	// \note The sum of all \c #probability must be one. This
	// probability is given under the condition of \c
	// DetectedItemHeader::existence_probability.
	//
	// \rules
	// is_less_than_or_equal_to: 1
	// is_greater_than_or_equal_to: 0
	// \endrules
	Probability *float64 `protobuf:"fixed64,1,opt,name=probability" json:"probability,omitempty"`
	// The classification of one main sign that defines this candidate.
	//
	// \note IDs, which are referenced in this message, usually
	// reference to \c DetectedXXX::tracking_id IDs.
	Classification *TrafficSign_MainSign_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// contains filtered or unexported fields
}

\brief A candidate for a detected main sign as estimated by the sensor.

func (*DetectedTrafficSign_DetectedMainSign_CandidateMainSign) Descriptor deprecated

Deprecated: Use DetectedTrafficSign_DetectedMainSign_CandidateMainSign.ProtoReflect.Descriptor instead.

func (*DetectedTrafficSign_DetectedMainSign_CandidateMainSign) GetClassification

func (*DetectedTrafficSign_DetectedMainSign_CandidateMainSign) GetProbability

func (*DetectedTrafficSign_DetectedMainSign_CandidateMainSign) ProtoMessage

func (*DetectedTrafficSign_DetectedMainSign_CandidateMainSign) ProtoReflect

func (*DetectedTrafficSign_DetectedMainSign_CandidateMainSign) Reset

func (*DetectedTrafficSign_DetectedMainSign_CandidateMainSign) String

type DetectedTrafficSign_DetectedMainSign_Geometry

type DetectedTrafficSign_DetectedMainSign_Geometry int32

Definition of traffic sign geometries.

const (
	// Geometry of the traffic sign is unknown (must not be used in
	// ground truth).
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_UNKNOWN DetectedTrafficSign_DetectedMainSign_Geometry = 0
	// Geometry of the traffic sign is unspecified (but known).
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_OTHER DetectedTrafficSign_DetectedMainSign_Geometry = 1
	// Traffic sign has a circular geometry. (0 corners)
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_CIRCLE DetectedTrafficSign_DetectedMainSign_Geometry = 2
	// Traffic sign has a triangular geometry pointing to the top. (3
	// corners)
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_TRIANGLE_TOP DetectedTrafficSign_DetectedMainSign_Geometry = 3
	// Traffic sign has a triangular geometry pointing down. (3 corners)
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_TRIANGLE_DOWN DetectedTrafficSign_DetectedMainSign_Geometry = 4
	// Traffic sign has a square geometry. (4 corners)
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_SQUARE DetectedTrafficSign_DetectedMainSign_Geometry = 5
	// Traffic sign that has a pole geometry. (height is bigger than
	// width e.g. pole indicating highways exit in xx m). (4 corners)
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_POLE DetectedTrafficSign_DetectedMainSign_Geometry = 6
	// Traffic sign has a rectangle geometry. (width is bigger than
	// height e.g. one-way) (4 corners)
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_RECTANGLE DetectedTrafficSign_DetectedMainSign_Geometry = 7
	// Traffic sign that has an oversize rectangle geometry. (4 corners)
	// E.g. direction plates on highway or city signs.
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_PLATE DetectedTrafficSign_DetectedMainSign_Geometry = 8
	// Traffic sign has a diamond geometry. (4 corners)
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_DIAMOND DetectedTrafficSign_DetectedMainSign_Geometry = 9
	// Traffic sign has a geometry of an arrow pointing to the left. (5
	// corners)
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_ARROW_LEFT DetectedTrafficSign_DetectedMainSign_Geometry = 10
	// Traffic sign has a geometry of an arrow pointing to the right. (5
	// corners)
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_ARROW_RIGHT DetectedTrafficSign_DetectedMainSign_Geometry = 11
	// Traffic sign has an octagon geometry. (8 corners)
	DetectedTrafficSign_DetectedMainSign_GEOMETRY_OCTAGON DetectedTrafficSign_DetectedMainSign_Geometry = 12
)

func (DetectedTrafficSign_DetectedMainSign_Geometry) Descriptor

func (DetectedTrafficSign_DetectedMainSign_Geometry) Enum

func (DetectedTrafficSign_DetectedMainSign_Geometry) EnumDescriptor deprecated

func (DetectedTrafficSign_DetectedMainSign_Geometry) EnumDescriptor() ([]byte, []int)

Deprecated: Use DetectedTrafficSign_DetectedMainSign_Geometry.Descriptor instead.

func (DetectedTrafficSign_DetectedMainSign_Geometry) Number

func (DetectedTrafficSign_DetectedMainSign_Geometry) String

func (DetectedTrafficSign_DetectedMainSign_Geometry) Type

func (*DetectedTrafficSign_DetectedMainSign_Geometry) UnmarshalJSON deprecated

Deprecated: Do not use.

type DetectedTrafficSign_DetectedSupplementarySign

type DetectedTrafficSign_DetectedSupplementarySign struct {

	// The definition of one of more supplementary signs that together
	// define this candidate.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	Candidate []*DetectedTrafficSign_DetectedSupplementarySign_CandidateSupplementarySign `protobuf:"bytes,1,rep,name=candidate" json:"candidate,omitempty"`
	// The base parameters of the supplementary traffic sign.
	//
	// The orientation of the bounding box \c SupplementarySign::base
	// ( \c BaseStationary::orientation ) is defined as follows:
	// The z-axis of the given \c BaseStationary::orientation is the vector
	// from the bottom to the top of the supplementary traffic sign's 2D
	// image plate. (Normally it is equal to the ground truth z-axis.) The
	// x-axis of the given \c BaseStationary::orientation is view normal of
	// the supplementary traffic sign's image. This x-axis points from the
	// supplementary traffic sign's image in the direction from where a
	// 'viewer' could see the supplementary traffic sign image.
	Base *BaseStationary `protobuf:"bytes,2,opt,name=base" json:"base,omitempty"`
	// The root mean squared error of the base parameters of the detected
	// supplementary traffic sign. \c #candidate
	// \c TrafficSign::SupplementarySign::base has to be identical for all
	// \c #candidate supplementary traffic signs.
	BaseRmse *BaseStationary `protobuf:"bytes,3,opt,name=base_rmse,json=baseRmse" json:"base_rmse,omitempty"`
	// contains filtered or unexported fields
}

\brief Candidates for all detected supplementary signs of one traffic sign as estimated by the sensor.

\image html OSI_DetectedSupplementarySign.svg

func (*DetectedTrafficSign_DetectedSupplementarySign) Descriptor deprecated

Deprecated: Use DetectedTrafficSign_DetectedSupplementarySign.ProtoReflect.Descriptor instead.

func (*DetectedTrafficSign_DetectedSupplementarySign) GetBase

func (*DetectedTrafficSign_DetectedSupplementarySign) GetBaseRmse

func (*DetectedTrafficSign_DetectedSupplementarySign) ProtoMessage

func (*DetectedTrafficSign_DetectedSupplementarySign) ProtoReflect

func (*DetectedTrafficSign_DetectedSupplementarySign) Reset

func (*DetectedTrafficSign_DetectedSupplementarySign) String

type DetectedTrafficSign_DetectedSupplementarySign_CandidateSupplementarySign

type DetectedTrafficSign_DetectedSupplementarySign_CandidateSupplementarySign struct {

	// The estimated probability that this candidate is the true value.
	//
	// \note The sum of all \c #probability must be one. This
	// probability is given under the condition of \c
	// DetectedItemHeader::existence_probability.
	//
	// \rules
	// is_less_than_or_equal_to: 1
	// is_greater_than_or_equal_to: 0
	// \endrules
	Probability *float64 `protobuf:"fixed64,1,opt,name=probability" json:"probability,omitempty"`
	// The classification of one of more supplementary signs that
	// together define this candidate.
	//
	// \note IDs, which are referenced in this message, usually
	// reference to \c DetectedXXX::tracking_id IDs.
	Classification *TrafficSign_SupplementarySign_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// contains filtered or unexported fields
}

\brief A candidate for a detected supplementary sign as estimated by the sensor.

func (*DetectedTrafficSign_DetectedSupplementarySign_CandidateSupplementarySign) Descriptor deprecated

Deprecated: Use DetectedTrafficSign_DetectedSupplementarySign_CandidateSupplementarySign.ProtoReflect.Descriptor instead.

func (*DetectedTrafficSign_DetectedSupplementarySign_CandidateSupplementarySign) GetClassification

func (*DetectedTrafficSign_DetectedSupplementarySign_CandidateSupplementarySign) GetProbability

func (*DetectedTrafficSign_DetectedSupplementarySign_CandidateSupplementarySign) ProtoMessage

func (*DetectedTrafficSign_DetectedSupplementarySign_CandidateSupplementarySign) ProtoReflect

func (*DetectedTrafficSign_DetectedSupplementarySign_CandidateSupplementarySign) Reset

func (*DetectedTrafficSign_DetectedSupplementarySign_CandidateSupplementarySign) String

type DetectionClassification

type DetectionClassification int32

Definition of a basic detection classifications.

const (
	// Detection is unknown (must not be used in ground truth).
	DetectionClassification_DETECTION_CLASSIFICATION_UNKNOWN DetectionClassification = 0
	// Other (unspecified but known) detection.
	DetectionClassification_DETECTION_CLASSIFICATION_OTHER DetectionClassification = 1
	// Invalid detection, not to be used for object tracking, of unspecified
	// type (none of the other types applies).
	DetectionClassification_DETECTION_CLASSIFICATION_INVALID DetectionClassification = 2
	// Clutter (noise, spray, rain, fog etc.).
	DetectionClassification_DETECTION_CLASSIFICATION_CLUTTER DetectionClassification = 3
	// Over-drivable (ground etc.).
	DetectionClassification_DETECTION_CLASSIFICATION_OVERDRIVABLE DetectionClassification = 4
	// Under-drivable (sign gantry etc.).
	DetectionClassification_DETECTION_CLASSIFICATION_UNDERDRIVABLE DetectionClassification = 5
)

func (DetectionClassification) Descriptor

func (DetectionClassification) Enum

func (DetectionClassification) EnumDescriptor deprecated

func (DetectionClassification) EnumDescriptor() ([]byte, []int)

Deprecated: Use DetectionClassification.Descriptor instead.

func (DetectionClassification) Number

func (DetectionClassification) String

func (x DetectionClassification) String() string

func (DetectionClassification) Type

func (*DetectionClassification) UnmarshalJSON deprecated

func (x *DetectionClassification) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type Dimension3D

type Dimension3D struct {

	// The length of the box.
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Length *float64 `protobuf:"fixed64,1,opt,name=length" json:"length,omitempty"`
	// The width of the box.
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Width *float64 `protobuf:"fixed64,2,opt,name=width" json:"width,omitempty"`
	// The height of the box.
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Height *float64 `protobuf:"fixed64,3,opt,name=height" json:"height,omitempty"`
	// contains filtered or unexported fields
}

\brief The dimension of a 3D box, e.g. the size of a 3D bounding box or its uncertainties.

\image html OSI_Dimension3D.svg

The dimensions are positive. Uncertainties are negative or positive.

Dimension is defined in the specified reference coordinate frame along the x-axis (=length), y-axis (=width) and z-axis (=height).

func (*Dimension3D) Descriptor deprecated

func (*Dimension3D) Descriptor() ([]byte, []int)

Deprecated: Use Dimension3D.ProtoReflect.Descriptor instead.

func (*Dimension3D) GetHeight

func (x *Dimension3D) GetHeight() float64

func (*Dimension3D) GetLength

func (x *Dimension3D) GetLength() float64

func (*Dimension3D) GetWidth

func (x *Dimension3D) GetWidth() float64

func (*Dimension3D) ProtoMessage

func (*Dimension3D) ProtoMessage()

func (*Dimension3D) ProtoReflect

func (x *Dimension3D) ProtoReflect() protoreflect.Message

func (*Dimension3D) Reset

func (x *Dimension3D) Reset()

func (*Dimension3D) String

func (x *Dimension3D) String() string

type EnvironmentalConditions

type EnvironmentalConditions struct {

	// The ambient illumination of the environment.
	AmbientIllumination *EnvironmentalConditions_AmbientIllumination `` /* 166-byte string literal not displayed */
	// The time of day at the host vehicles location.
	TimeOfDay *EnvironmentalConditions_TimeOfDay `protobuf:"bytes,2,opt,name=time_of_day,json=timeOfDay" json:"time_of_day,omitempty"`
	// The unix timestamp describes the time and date at the host vehicle's
	// location, referring to UTC.
	//
	// The Unix epoch (or Unix time or POSIX time or Unix timestamp) is
	// the number of seconds that have elapsed since January 1, 1970
	// (midnight UTC/GMT [1]), not counting leap seconds [2].
	// Historically, the origin of UNIX system time was referred to as
	// "00:00:00 GMT, January 1, 1970" [2]. Literally speaking the epoch
	// is Unix time 0 (midnight 1/1/1970), but 'epoch' is often used as
	// a synonym for 'Unix time'. Many Unix systems store epoch dates as
	// a signed 32-bit integer, which might cause problems on January 19,
	// 2038 (known as the Year 2038 problem or Y2038).
	//
	// \note You can convert the timestamp using the following [routines
	// sorted by languages](https://www.epochconverter.com/#code).
	//
	// \par References:
	// [1] ITU Radiocommunication Assembly. (2002). <em>Recommendation  ITU-R  TF.460-6 Standard-frequency and time-signal emissions</em>. (Rec.  ITU-R  TF.460-6). Retrieved January 25, 2020, from http://www.itu.int/dms_pubrec/itu-r/rec/tf/R-REC-TF.460-6-200202-I!!PDF-E.pdf \n
	// [2] The Open Group. (2018). <em>POSIX.1-2017</em> The Open Group Base Specifications Issue 7, 2018 edition. IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008). Retrieved January 25, 2020, from https://pubs.opengroup.org/onlinepubs/9699919799/xrat/contents.html
	UnixTimestamp *int64 `protobuf:"varint,8,opt,name=unix_timestamp,json=unixTimestamp" json:"unix_timestamp,omitempty"`
	// Atmospheric pressure in Pascal at z=0.0 in world frame (about 101325
	// Pa).
	//
	// Unit: Pa
	//
	// \rules
	// is_greater_than_or_equal_to: 80000
	// is_less_than_or_equal_to: 120000
	// \endrules
	AtmosphericPressure *float64 `protobuf:"fixed64,3,opt,name=atmospheric_pressure,json=atmosphericPressure" json:"atmospheric_pressure,omitempty"`
	// Temperature in Kelvin at z=0.0 in world frame.
	//
	// Unit: K
	//
	// \rules
	// is_greater_than_or_equal_to: 170
	// is_less_than_or_equal_to: 340
	// \endrules
	Temperature *float64 `protobuf:"fixed64,4,opt,name=temperature" json:"temperature,omitempty"`
	// Relative humidity in at z=0.0 in world frame.
	//
	// Note that physically more relevant measures, like absolute or specific
	// humidity can be easily derived from relative_humidity, given that the
	// temperature and atmospheric_pressure are known.
	//
	// Unit: %
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 100
	// \endrules
	RelativeHumidity *float64 `protobuf:"fixed64,5,opt,name=relative_humidity,json=relativeHumidity" json:"relative_humidity,omitempty"`
	// Description of the precipitation.
	Precipitation *EnvironmentalConditions_Precipitation `protobuf:"varint,6,opt,name=precipitation,enum=osi3.EnvironmentalConditions_Precipitation" json:"precipitation,omitempty"`
	// Description of the fog.
	Fog *EnvironmentalConditions_Fog `protobuf:"varint,7,opt,name=fog,enum=osi3.EnvironmentalConditions_Fog" json:"fog,omitempty"`
	// Optional external reference to the environmental condition sources.
	//
	// \note For OpenDRIVE and OpenSCENARIO there is no direct counterpart.
	//
	// \note For non-ASAM standards, it is implementation-specific how
	//
	//	source_reference is resolved.
	//
	// \note The value has to be repeated because one object may be derived
	//
	//	from more than one origin source, for example, from a scenario file
	//	and from sensors.
	SourceReference []*ExternalReference `protobuf:"bytes,9,rep,name=source_reference,json=sourceReference" json:"source_reference,omitempty"`
	// Description of the clouds.
	Clouds *EnvironmentalConditions_CloudLayer `protobuf:"bytes,10,opt,name=clouds" json:"clouds,omitempty"`
	// Description of the wind.
	Wind *EnvironmentalConditions_Wind `protobuf:"bytes,11,opt,name=wind" json:"wind,omitempty"`
	// Description of the sun.
	Sun *EnvironmentalConditions_Sun `protobuf:"bytes,12,opt,name=sun" json:"sun,omitempty"`
	// contains filtered or unexported fields
}

\brief The conditions of the environment.

Definition of light, weather conditions and other environmental conditions.

\note These conditions apply locally around the host vehicle.

func (*EnvironmentalConditions) Descriptor deprecated

func (*EnvironmentalConditions) Descriptor() ([]byte, []int)

Deprecated: Use EnvironmentalConditions.ProtoReflect.Descriptor instead.

func (*EnvironmentalConditions) GetAmbientIllumination

func (*EnvironmentalConditions) GetAtmosphericPressure

func (x *EnvironmentalConditions) GetAtmosphericPressure() float64

func (*EnvironmentalConditions) GetClouds

func (*EnvironmentalConditions) GetFog

func (*EnvironmentalConditions) GetPrecipitation

func (*EnvironmentalConditions) GetRelativeHumidity

func (x *EnvironmentalConditions) GetRelativeHumidity() float64

func (*EnvironmentalConditions) GetSourceReference

func (x *EnvironmentalConditions) GetSourceReference() []*ExternalReference

func (*EnvironmentalConditions) GetSun

func (*EnvironmentalConditions) GetTemperature

func (x *EnvironmentalConditions) GetTemperature() float64

func (*EnvironmentalConditions) GetTimeOfDay

func (*EnvironmentalConditions) GetUnixTimestamp

func (x *EnvironmentalConditions) GetUnixTimestamp() int64

func (*EnvironmentalConditions) GetWind

func (*EnvironmentalConditions) ProtoMessage

func (*EnvironmentalConditions) ProtoMessage()

func (*EnvironmentalConditions) ProtoReflect

func (x *EnvironmentalConditions) ProtoReflect() protoreflect.Message

func (*EnvironmentalConditions) Reset

func (x *EnvironmentalConditions) Reset()

func (*EnvironmentalConditions) String

func (x *EnvironmentalConditions) String() string

type EnvironmentalConditions_AmbientIllumination

type EnvironmentalConditions_AmbientIllumination int32

Definition of discretized ambient illumination states: Ambient light is any light in the vehicle's environment that is not emitted by the vehicle itself. It can include sun/moon light, light from other cars, street lights etc.

lx ("lux") is the SI unit of luminance or illumination of an area of exact one square meter, which is equal to one lumen per square meter 1 lx = 1 lm/m^2 [1]. lm ("lumen") is the SI derived unit of luminous flux and a measure of the total quantity of visible light emitted by a source. The lumen is defined in relation to cd ("candela") as 1 lm = 1 cd sr, where sr denotes steradian, the unit of solid angle used in 3D geometry analogous to the radian [1].

Categorization is done based on natural day/night time illuminance levels [2] and standards for required lighting levels on roads [2, 3, 4, 5].

\par References: [1] DIN Deutsches Institut fuer Normung e. V. (1982). <em>DIN 5031-3 Strahlungsphysik im optischen Bereich und Lichttechnik - Groessen, Formelzeichen und Einheiten der Lichttechnik</em>. (DIN 5031-3:1982-03). Berlin, Germany. \n [2] National Optical Astronomy Observatory. (2015, December 02). <em>Recommended Light Levels</em>. Retrieved January 25, 2020, from https://www.noao.edu/education/QLTkit/ACTIVITY_Documents/Safety/LightLevels_outdoor+indoor.pdf \n [3] Wang, Y. & Zou, Y., (2016, March). <em>Study on Illumination for State Highways</em>. Washington State Department of Transportation. Retrieved January 25, 2020, from http://www.wsdot.wa.gov/research/reports/fullreports/847.1.pdf \n [4] Laperriere, A. (2011, May). <em>LED street lighting in the municipality of Saint-Gedeon-de-Beauce within the framework of advanced lighting technologies</em>. Retrieved January 25, 2020, from http://sslnet.ca/wp-content/uploads/2011/10/LTE-RT-2011-0076-Anglais.pdf \n [5] Crabb, G. I., Beaumont, R. & Webster, D. (2008, October 17). <em>Review of the class and quality of street lighting</em>. Transport Research Laboratory. Retrieved January 25, 2020, from http://courtneystrong.com/wp-content/uploads/2017/07/css-sl1-class-and-quality-of-street-lighting.pdf

const (
	// Ambient illumination is unknown (must not be used in ground truth).
	EnvironmentalConditions_AMBIENT_ILLUMINATION_UNKNOWN EnvironmentalConditions_AmbientIllumination = 0
	// Other (unspecified but known) ambient illumination.
	EnvironmentalConditions_AMBIENT_ILLUMINATION_OTHER EnvironmentalConditions_AmbientIllumination = 1
	// Level 1 illumination in ]0.001, 0.01[ lx. \n
	// E.g. Night with no artificial light.
	//
	// \note Use \c #AMBIENT_ILLUMINATION_LEVEL1 if illumination is less
	// than 0.001 lx.
	EnvironmentalConditions_AMBIENT_ILLUMINATION_LEVEL1 EnvironmentalConditions_AmbientIllumination = 2
	// Level 2 illumination in [0.01, 1[ lx. \n
	// E.g. Night full moon / Deep twilight.
	EnvironmentalConditions_AMBIENT_ILLUMINATION_LEVEL2 EnvironmentalConditions_AmbientIllumination = 3
	// Level 3 illumination in [1, 3[ lx. \n
	// E.g. Deep to average twilight / Minimum lighting on local low
	// pedestrian conflict roads.
	EnvironmentalConditions_AMBIENT_ILLUMINATION_LEVEL3 EnvironmentalConditions_AmbientIllumination = 4
	// Level 4 illumination in [3, 10[ lx. \n
	// E.g. Average to full twilight / Minimum lighting on collector roads /
	// Minimum lighting on major and expressway roads with low to average
	// pedestrian conflict.
	EnvironmentalConditions_AMBIENT_ILLUMINATION_LEVEL4 EnvironmentalConditions_AmbientIllumination = 5
	// Level 5 illumination in [10, 20[ lx. \n
	// E.g. Minimum lighting on major and expressway roads with high
	// pedestrian conflict.
	EnvironmentalConditions_AMBIENT_ILLUMINATION_LEVEL5 EnvironmentalConditions_AmbientIllumination = 6
	// Level 6 illumination in [20, 400[ lx. \n
	// E.g. Roads with more lighting / Very dark overcast day to sunrise or
	// sunset on a clear day.
	EnvironmentalConditions_AMBIENT_ILLUMINATION_LEVEL6 EnvironmentalConditions_AmbientIllumination = 7
	// Level 7 illumination in [400, 1000[ lx. \n
	// E.g. Sunrise or sunset on a clear day / Overcast day.
	EnvironmentalConditions_AMBIENT_ILLUMINATION_LEVEL7 EnvironmentalConditions_AmbientIllumination = 8
	// Level 8 illumination in [1000, 10000[ lx. \n
	// E.g. Average to full daylight.
	EnvironmentalConditions_AMBIENT_ILLUMINATION_LEVEL8 EnvironmentalConditions_AmbientIllumination = 9
	// Level 9 illumination in [10000, 120000[ lx. \n
	// E.g. Full daylight to intense sunlight.
	//
	// \note Use \c #AMBIENT_ILLUMINATION_LEVEL9 if illumination is more
	// than 120000 lx
	EnvironmentalConditions_AMBIENT_ILLUMINATION_LEVEL9 EnvironmentalConditions_AmbientIllumination = 10
)

func (EnvironmentalConditions_AmbientIllumination) Descriptor

func (EnvironmentalConditions_AmbientIllumination) Enum

func (EnvironmentalConditions_AmbientIllumination) EnumDescriptor deprecated

func (EnvironmentalConditions_AmbientIllumination) EnumDescriptor() ([]byte, []int)

Deprecated: Use EnvironmentalConditions_AmbientIllumination.Descriptor instead.

func (EnvironmentalConditions_AmbientIllumination) Number

func (EnvironmentalConditions_AmbientIllumination) String

func (EnvironmentalConditions_AmbientIllumination) Type

func (*EnvironmentalConditions_AmbientIllumination) UnmarshalJSON deprecated

Deprecated: Do not use.

type EnvironmentalConditions_CloudLayer

type EnvironmentalConditions_CloudLayer struct {

	// Properties of a cloud layer given by fractional cloud cover levels.
	FractionalCloudCover *EnvironmentalConditions_CloudLayer_FractionalCloudCover `` /* 183-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief Description of a cloud layer.

func (*EnvironmentalConditions_CloudLayer) Descriptor deprecated

func (*EnvironmentalConditions_CloudLayer) Descriptor() ([]byte, []int)

Deprecated: Use EnvironmentalConditions_CloudLayer.ProtoReflect.Descriptor instead.

func (*EnvironmentalConditions_CloudLayer) GetFractionalCloudCover

func (*EnvironmentalConditions_CloudLayer) ProtoMessage

func (*EnvironmentalConditions_CloudLayer) ProtoMessage()

func (*EnvironmentalConditions_CloudLayer) ProtoReflect

func (*EnvironmentalConditions_CloudLayer) Reset

func (*EnvironmentalConditions_CloudLayer) String

type EnvironmentalConditions_CloudLayer_FractionalCloudCover

type EnvironmentalConditions_CloudLayer_FractionalCloudCover int32

Defines the fractional cloud cover [1] given by observation of total cloud amount in eights (oktas) of the sky.

For visual alignment please see reference [2].

The total degree of coverage indicates how much of the sky is covered with clouds altogether. 0 oktas means that there are no traces of clouds in the sky, 8 oktas means that the sky is completely covered with clouds and no sky blue can be recognized.

\par References: [1] CIE engl. International Commission on Illumination. (2020). <em>CIE S017:2020 ILV: Intl. Lighting Vocabulary, 2nd edn.</em>. Retrieved March 8, 2022, from https://cie.co.at/eilvterm/17-29-116 \n [2] UBC The University of British Columbia. (2018). <em>ATSC 113 Weather for Sailing, Flying & Snow Sports</em>. Retrieved March 8, 2022, from https://www.eoas.ubc.ca/courses/atsc113/flying/met_concepts/01-met_concepts/01c-cloud_coverage/index.html

const (
	// Fractional cloud cover level is unknown (must not be used in ground truth).
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_UNKNOWN EnvironmentalConditions_CloudLayer_FractionalCloudCover = 0
	// Other (unspecified but known) fractional cloud cover level.
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_OTHER EnvironmentalConditions_CloudLayer_FractionalCloudCover = 1
	// 0/8 of the sky is covered with clouds.
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_ZERO_OKTAS EnvironmentalConditions_CloudLayer_FractionalCloudCover = 2
	// 1/8 of the sky is covered with clouds.
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_ONE_OKTAS EnvironmentalConditions_CloudLayer_FractionalCloudCover = 3
	// 2/8 of the sky is covered with clouds.
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_TWO_OKTAS EnvironmentalConditions_CloudLayer_FractionalCloudCover = 4
	// 3/8 of the sky is covered with clouds.
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_THREE_OKTAS EnvironmentalConditions_CloudLayer_FractionalCloudCover = 5
	// 4/8 of the sky is covered with clouds.
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_FOUR_OKTAS EnvironmentalConditions_CloudLayer_FractionalCloudCover = 6
	// 5/8 of the sky is covered with clouds.
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_FIVE_OKTAS EnvironmentalConditions_CloudLayer_FractionalCloudCover = 7
	// 6/8 of the sky is covered with clouds.
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_SIX_OKTAS EnvironmentalConditions_CloudLayer_FractionalCloudCover = 8
	// 7/8 of the sky is covered with clouds.
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_SEVEN_OKTAS EnvironmentalConditions_CloudLayer_FractionalCloudCover = 9
	// 8/8 of the sky is covered with clouds.
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_EIGHT_OKTAS EnvironmentalConditions_CloudLayer_FractionalCloudCover = 10
	// Sky obscured, describes situations where the sky is not perceivable, e.g. in dense fog.
	EnvironmentalConditions_CloudLayer_FRACTIONAL_CLOUD_COVER_SKY_OBSCURED EnvironmentalConditions_CloudLayer_FractionalCloudCover = 11
)

func (EnvironmentalConditions_CloudLayer_FractionalCloudCover) Descriptor

func (EnvironmentalConditions_CloudLayer_FractionalCloudCover) Enum

func (EnvironmentalConditions_CloudLayer_FractionalCloudCover) EnumDescriptor deprecated

Deprecated: Use EnvironmentalConditions_CloudLayer_FractionalCloudCover.Descriptor instead.

func (EnvironmentalConditions_CloudLayer_FractionalCloudCover) Number

func (EnvironmentalConditions_CloudLayer_FractionalCloudCover) String

func (EnvironmentalConditions_CloudLayer_FractionalCloudCover) Type

func (*EnvironmentalConditions_CloudLayer_FractionalCloudCover) UnmarshalJSON deprecated

Deprecated: Do not use.

type EnvironmentalConditions_Fog

type EnvironmentalConditions_Fog int32

Definition of discretized fog states according to [1]. The bandwidth of thick and dense fog was adjusted to fit the German StVO regarding rear fog lights [2, 3]. (V = Visibility in m)

Visibility is defined as the length of the atmosphere over which a beam of light travels before its luminous flux is reduced to 5% of its original value (definition used by the Meteorological Office [4]). This is approximately equivalent to visibility measured in terms of the contrast of a distant object against its background.

\par References: [1] Shepard, F. D. (1996). <em>Reduced visibility due to fog on the highway.</em> Transportation Research Board, National Research Council (Ed.). National Academy Press. Washington, D.C., USA. ISBN 0-309-06006-0. \n [2] Strassenverkehrs-Ordnung (StVO) as of dated March 06, 2013 (BGBl. I S. 367), lastly changed by article 4a of the order from June 06, 2019 (BGBl. I S. 756). \n [3] stvo.de. (2013, April 01). <em>StVO Par. 17 Beleuchtung</em>. Retrieved January 25, 2020, from https://www.stvo.de/strassenverkehrsordnung/101-17-beleuchtung \n [4] Meteorological Office UK. (2020). <em>Homepage of the Meteorological Office - How we measure visibility</em>. Retrieved January 25, 2020, from http://www.metoffice.gov.uk/guide/weather/observations-guide/how-we-measure-visibility

const (
	// Visibility is unknown (must not be used in ground truth).
	EnvironmentalConditions_FOG_UNKNOWN EnvironmentalConditions_Fog = 0
	// Other (unspecified but known) fog intensity.
	EnvironmentalConditions_FOG_OTHER EnvironmentalConditions_Fog = 1
	// Excellent visibility, when V in [40000,infinity[ m
	EnvironmentalConditions_FOG_EXCELLENT_VISIBILITY EnvironmentalConditions_Fog = 2
	// Good visibility, when V in [10000,40000[ m
	EnvironmentalConditions_FOG_GOOD_VISIBILITY EnvironmentalConditions_Fog = 3
	// Moderate visibility, when V in [4000,10000[ m
	EnvironmentalConditions_FOG_MODERATE_VISIBILITY EnvironmentalConditions_Fog = 4
	// Poor visibility, when V in [2000,4000[ m
	EnvironmentalConditions_FOG_POOR_VISIBILITY EnvironmentalConditions_Fog = 5
	// Mist, when V in [1000,2000[ m
	EnvironmentalConditions_FOG_MIST EnvironmentalConditions_Fog = 6
	// Fog, when V in [200,1000[ m
	EnvironmentalConditions_FOG_LIGHT EnvironmentalConditions_Fog = 7
	// Thick fog, when V in [50,200[ m
	EnvironmentalConditions_FOG_THICK EnvironmentalConditions_Fog = 8
	// Dense fog, when V in [0,50[ m
	// (allowed to use rear fog light according to [3])
	EnvironmentalConditions_FOG_DENSE EnvironmentalConditions_Fog = 9
)

func (EnvironmentalConditions_Fog) Descriptor

func (EnvironmentalConditions_Fog) Enum

func (EnvironmentalConditions_Fog) EnumDescriptor deprecated

func (EnvironmentalConditions_Fog) EnumDescriptor() ([]byte, []int)

Deprecated: Use EnvironmentalConditions_Fog.Descriptor instead.

func (EnvironmentalConditions_Fog) Number

func (EnvironmentalConditions_Fog) String

func (EnvironmentalConditions_Fog) Type

func (*EnvironmentalConditions_Fog) UnmarshalJSON deprecated

func (x *EnvironmentalConditions_Fog) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type EnvironmentalConditions_Precipitation

type EnvironmentalConditions_Precipitation int32

Definition of discretized precipitation states according to [1]. (I = Intensity of precipitation in mm per hour mm/h)

\par Reference: [1] Paulat, M., Frei, C., Hagen, M. & Wernli, H. (2008). A gridded dataset of hourly precipitation in Germany: Its construction, climatology and application. <em>Meteorologische Zeitschrift</em>. Vol. 17, No. 6. pp. 719-732. Berlin, Stuttgart, Germany. https://doi.org/10.1127/0941-2948/2008/0332

const (
	// Intensity of precipitation is unknown (must not be used in ground
	// truth).
	EnvironmentalConditions_PRECIPITATION_UNKNOWN EnvironmentalConditions_Precipitation = 0
	// Other (unspecified but known) intensity of precipitation.
	EnvironmentalConditions_PRECIPITATION_OTHER EnvironmentalConditions_Precipitation = 1
	// No precipitation, when I in [0,0.1[ mm/h
	EnvironmentalConditions_PRECIPITATION_NONE EnvironmentalConditions_Precipitation = 2
	// Very light intensity of precipitation, when I in [0.1,0.5[ mm/h
	EnvironmentalConditions_PRECIPITATION_VERY_LIGHT EnvironmentalConditions_Precipitation = 3
	// Light intensity of precipitation, when I in [0.5,1.9[ mm/h
	EnvironmentalConditions_PRECIPITATION_LIGHT EnvironmentalConditions_Precipitation = 4
	// Moderate intensity of precipitation, when I in [1.9,8.1[ mm/h
	EnvironmentalConditions_PRECIPITATION_MODERATE EnvironmentalConditions_Precipitation = 5
	// Heavy intensity of precipitation, when I in [8.1,34[ mm/h
	EnvironmentalConditions_PRECIPITATION_HEAVY EnvironmentalConditions_Precipitation = 6
	// Very heavy intensity of precipitation, when I in [34,149[ mm/h
	EnvironmentalConditions_PRECIPITATION_VERY_HEAVY EnvironmentalConditions_Precipitation = 7
	// Extreme intensity of precipitation, when I in [149,infinity[ mm/h
	EnvironmentalConditions_PRECIPITATION_EXTREME EnvironmentalConditions_Precipitation = 8
)

func (EnvironmentalConditions_Precipitation) Descriptor

func (EnvironmentalConditions_Precipitation) Enum

func (EnvironmentalConditions_Precipitation) EnumDescriptor deprecated

func (EnvironmentalConditions_Precipitation) EnumDescriptor() ([]byte, []int)

Deprecated: Use EnvironmentalConditions_Precipitation.Descriptor instead.

func (EnvironmentalConditions_Precipitation) Number

func (EnvironmentalConditions_Precipitation) String

func (EnvironmentalConditions_Precipitation) Type

func (*EnvironmentalConditions_Precipitation) UnmarshalJSON deprecated

func (x *EnvironmentalConditions_Precipitation) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type EnvironmentalConditions_Sun

type EnvironmentalConditions_Sun struct {

	// Azimuth of the sun, counted counterclockwise.
	// 0 pointing north. If north is not explicitly defined via \c #osi3::GroundTruth::proj_string,
	// then north is pointing in y-axis direction. The default orientation (x, y, z) is easting, northing, up [1].
	// The point of observation is defined to be the global coordinate system's origin.
	//
	// \note 0: north; +pi/2: west; pi: south, 3/2 pi: east.
	//
	// Unit: rad
	//
	// The preferred angular range is [0, 2pi].
	//
	// \par References:
	// [1] PROJ contributors. (2019). <em>PROJ coordinate transformation software library</em>. Open Source Geospatial Foundation. Retrieved January 25, 2019, from https://proj.org/usage/projections.html
	Azimuth *float64 `protobuf:"fixed64,1,opt,name=azimuth" json:"azimuth,omitempty"`
	// Solar elevation angle.
	// The elevation angle is positive when the sun is above the xy-plane, negative when
	// the sun is below the xy-plane.
	// The point of observation is defined to be the global coordinate system's origin.
	//
	// \note 0: xy-plane; +pi/2: zenith; -pi/2: nadir.
	//
	// Unit: rad
	//
	// The preferred angular range is [-pi/2, +pi/2].
	Elevation *float64 `protobuf:"fixed64,2,opt,name=elevation" json:"elevation,omitempty"`
	// Illuminance of the sun, direct sunlight is around 100000 lx.
	//
	// Unit: lx
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Intensity *float64 `protobuf:"fixed64,3,opt,name=intensity" json:"intensity,omitempty"`
	// contains filtered or unexported fields
}

\brief Properties of the sun.

func (*EnvironmentalConditions_Sun) Descriptor deprecated

func (*EnvironmentalConditions_Sun) Descriptor() ([]byte, []int)

Deprecated: Use EnvironmentalConditions_Sun.ProtoReflect.Descriptor instead.

func (*EnvironmentalConditions_Sun) GetAzimuth

func (x *EnvironmentalConditions_Sun) GetAzimuth() float64

func (*EnvironmentalConditions_Sun) GetElevation

func (x *EnvironmentalConditions_Sun) GetElevation() float64

func (*EnvironmentalConditions_Sun) GetIntensity

func (x *EnvironmentalConditions_Sun) GetIntensity() float64

func (*EnvironmentalConditions_Sun) ProtoMessage

func (*EnvironmentalConditions_Sun) ProtoMessage()

func (*EnvironmentalConditions_Sun) ProtoReflect

func (*EnvironmentalConditions_Sun) Reset

func (x *EnvironmentalConditions_Sun) Reset()

func (*EnvironmentalConditions_Sun) String

func (x *EnvironmentalConditions_Sun) String() string

type EnvironmentalConditions_TimeOfDay

type EnvironmentalConditions_TimeOfDay struct {

	// The number of seconds in s that have passed since midnight local time.
	// Used e.g. for determining the current state of the circadian rhythm
	// of a driver.
	//
	// \note No changes of daylight saving time or time zones are
	// considered.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than: 86400
	// \endrules
	SecondsSinceMidnight *uint32 `protobuf:"varint,1,opt,name=seconds_since_midnight,json=secondsSinceMidnight" json:"seconds_since_midnight,omitempty"`
	// contains filtered or unexported fields
}

\brief The time of day at a specified location.

\note In general the global position of the parent frame should be obtainable in order to derive the local time. This information can be calculated from the \c #unix_timestamp in combination with \c #osi3::GroundTruth::proj_string and the position of the corresponding \c #osi3::BaseStationary or \c #osi3::BaseMoving .

func (*EnvironmentalConditions_TimeOfDay) Descriptor deprecated

func (*EnvironmentalConditions_TimeOfDay) Descriptor() ([]byte, []int)

Deprecated: Use EnvironmentalConditions_TimeOfDay.ProtoReflect.Descriptor instead.

func (*EnvironmentalConditions_TimeOfDay) GetSecondsSinceMidnight

func (x *EnvironmentalConditions_TimeOfDay) GetSecondsSinceMidnight() uint32

func (*EnvironmentalConditions_TimeOfDay) ProtoMessage

func (*EnvironmentalConditions_TimeOfDay) ProtoMessage()

func (*EnvironmentalConditions_TimeOfDay) ProtoReflect

func (*EnvironmentalConditions_TimeOfDay) Reset

func (*EnvironmentalConditions_TimeOfDay) String

type EnvironmentalConditions_Wind

type EnvironmentalConditions_Wind struct {

	// The origin direction of the wind (not the target direction) in the ground/xy-plane of the
	// world coordinate system. Corresponds to the heading/yaw angle, counted counterclockwise.
	// 0 pointing north. If north is not explicitly defined via \c #osi3::GroundTruth::proj_string,
	// then north is pointing in y-axis direction. The default orientation (x, y, z) is easting, northing, up [1].
	//
	// \note 0: north; +pi/2: west; pi: south, 3/2 pi: east.
	//
	// Unit: rad
	//
	// The preferred angular range is [0, 2pi].
	//
	// \par References:
	// [1] PROJ contributors. (2019). <em>PROJ coordinate transformation software library</em>. Open Source Geospatial Foundation. Retrieved January 25, 2019, from https://proj.org/usage/projections.html
	OriginDirection *float64 `protobuf:"fixed64,1,opt,name=origin_direction,json=originDirection" json:"origin_direction,omitempty"`
	// The wind speed.
	//
	// Unit: m/s
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Speed *float64 `protobuf:"fixed64,2,opt,name=speed" json:"speed,omitempty"`
	// contains filtered or unexported fields
}

\brief Defines wind properties.

func (*EnvironmentalConditions_Wind) Descriptor deprecated

func (*EnvironmentalConditions_Wind) Descriptor() ([]byte, []int)

Deprecated: Use EnvironmentalConditions_Wind.ProtoReflect.Descriptor instead.

func (*EnvironmentalConditions_Wind) GetOriginDirection

func (x *EnvironmentalConditions_Wind) GetOriginDirection() float64

func (*EnvironmentalConditions_Wind) GetSpeed

func (x *EnvironmentalConditions_Wind) GetSpeed() float64

func (*EnvironmentalConditions_Wind) ProtoMessage

func (*EnvironmentalConditions_Wind) ProtoMessage()

func (*EnvironmentalConditions_Wind) ProtoReflect

func (*EnvironmentalConditions_Wind) Reset

func (x *EnvironmentalConditions_Wind) Reset()

func (*EnvironmentalConditions_Wind) String

type ExternalReference

type ExternalReference struct {

	// The source of the external references.
	//
	// Defines the original source of an object as uniquely identifiable reference.
	// In case of using \c GroundTruth::map_reference or
	// \c GroundTruth::model_reference, the reference can be left empty.
	// If not otherwise required, an URI is suggested. The syntax should follow
	// \link https://tools.ietf.org/html/rfc3986 RFC 3986\endlink.
	Reference *string `protobuf:"bytes,1,opt,name=reference" json:"reference,omitempty"`
	// The type of the external references.
	//
	// Mandatory value describing the type of the original source.
	//
	// For OpenX/ASAM standards it is specified as follows:
	// - net.asam.opendrive
	// - net.asam.openscenario
	//
	// For third-party standards and user-defined objects,
	// reverse domain name notation with lower-case type field
	// is recommended to guarantee unique and interoperable identification.
	//
	// \rules
	// is_set
	// \endrules
	Type *string `protobuf:"bytes,2,opt,name=type" json:"type,omitempty"`
	// The external identifier reference value.
	//
	// The repeated string is chosen as a common description of the external
	// identifier, because a variety of identifier types could be
	// involved .
	//
	// For example, referencing a unique lane in OpenDRIVE requires the
	// following identifiers:
	// * RoadId: String
	// * S-Value of LaneSection: Double
	// * LaneId: Int
	//
	// \note The detailed description of the identifiers and how they are
	//
	//	used for referencing external objects is given in the individual
	//	messages where the external identifier is used.
	//
	// \see EnvironmentalConditions::source_reference
	// \see Lane::source_reference
	// \see LaneBoundary::source_reference
	// \see StationaryObject::source_reference
	// \see MovingObject::source_reference
	// \see RoadMarking::source_reference
	// \see TrafficLight::source_reference
	// \see TrafficSign::source_reference
	Identifier []string `protobuf:"bytes,3,rep,name=identifier" json:"identifier,omitempty"`
	// contains filtered or unexported fields
}

\brief References to external objects.

The external reference is an optional recommendation to refer to objects defined outside of OSI. This could be other OpenX standards, 3rd-party standards or user-defined objects.

\note ExternalReference is optional and can be left empty.

func (*ExternalReference) Descriptor deprecated

func (*ExternalReference) Descriptor() ([]byte, []int)

Deprecated: Use ExternalReference.ProtoReflect.Descriptor instead.

func (*ExternalReference) GetIdentifier

func (x *ExternalReference) GetIdentifier() []string

func (*ExternalReference) GetReference

func (x *ExternalReference) GetReference() string

func (*ExternalReference) GetType

func (x *ExternalReference) GetType() string

func (*ExternalReference) ProtoMessage

func (*ExternalReference) ProtoMessage()

func (*ExternalReference) ProtoReflect

func (x *ExternalReference) ProtoReflect() protoreflect.Message

func (*ExternalReference) Reset

func (x *ExternalReference) Reset()

func (*ExternalReference) String

func (x *ExternalReference) String() string

type FeatureData

type FeatureData struct {

	// The interface version used by the sender (i.e. the simulation
	// environment).
	Version *InterfaceVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// Radar detections for multiple radar sensors (sensor fusion).
	RadarSensor []*RadarDetectionData `protobuf:"bytes,2,rep,name=radar_sensor,json=radarSensor" json:"radar_sensor,omitempty"`
	// Lidar detections for multiple lidar sensors (sensor fusion).
	LidarSensor []*LidarDetectionData `protobuf:"bytes,3,rep,name=lidar_sensor,json=lidarSensor" json:"lidar_sensor,omitempty"`
	// Ultrasonic detections for multiple ultrasonic sensors (sensor fusion).
	//
	// \note Required for ultrasonic sensors: Detections will be send by the
	// emitting ultrasonic sensor, including all indirect detections received
	// by neighboring sensors.
	UltrasonicSensor []*UltrasonicDetectionData `protobuf:"bytes,4,rep,name=ultrasonic_sensor,json=ultrasonicSensor" json:"ultrasonic_sensor,omitempty"`
	// Camera detections for multiple camera sensors (sensor fusion).
	CameraSensor []*CameraDetectionData `protobuf:"bytes,5,rep,name=camera_sensor,json=cameraSensor" json:"camera_sensor,omitempty"`
	// contains filtered or unexported fields
}

\brief Interface for sensor data containing information without a history in contrast to interpreted data after object hypothesis and tracking.

All information regarding the environment is given with respect to the sensor coordinate system specified in \c SensorDetectionHeader::mounting_position. When simulating multiple sensors, each sensor has an individual copy of \c FeatureData in its own reference frame. This allows an independent treatment of the sensors.

func (*FeatureData) Descriptor deprecated

func (*FeatureData) Descriptor() ([]byte, []int)

Deprecated: Use FeatureData.ProtoReflect.Descriptor instead.

func (*FeatureData) GetCameraSensor

func (x *FeatureData) GetCameraSensor() []*CameraDetectionData

func (*FeatureData) GetLidarSensor

func (x *FeatureData) GetLidarSensor() []*LidarDetectionData

func (*FeatureData) GetRadarSensor

func (x *FeatureData) GetRadarSensor() []*RadarDetectionData

func (*FeatureData) GetUltrasonicSensor

func (x *FeatureData) GetUltrasonicSensor() []*UltrasonicDetectionData

func (*FeatureData) GetVersion

func (x *FeatureData) GetVersion() *InterfaceVersion

func (*FeatureData) ProtoMessage

func (*FeatureData) ProtoMessage()

func (*FeatureData) ProtoReflect

func (x *FeatureData) ProtoReflect() protoreflect.Message

func (*FeatureData) Reset

func (x *FeatureData) Reset()

func (*FeatureData) String

func (x *FeatureData) String() string

type GenericSensorView

type GenericSensorView struct {

	// Generic view configuration valid at the time the data was created.
	ViewConfiguration *GenericSensorViewConfiguration `protobuf:"bytes,1,opt,name=view_configuration,json=viewConfiguration" json:"view_configuration,omitempty"`
	// contains filtered or unexported fields
}

\brief Definition of the generic sensor view.

Generic sensor view data.

func (*GenericSensorView) Descriptor deprecated

func (*GenericSensorView) Descriptor() ([]byte, []int)

Deprecated: Use GenericSensorView.ProtoReflect.Descriptor instead.

func (*GenericSensorView) GetViewConfiguration

func (x *GenericSensorView) GetViewConfiguration() *GenericSensorViewConfiguration

func (*GenericSensorView) ProtoMessage

func (*GenericSensorView) ProtoMessage()

func (*GenericSensorView) ProtoReflect

func (x *GenericSensorView) ProtoReflect() protoreflect.Message

func (*GenericSensorView) Reset

func (x *GenericSensorView) Reset()

func (*GenericSensorView) String

func (x *GenericSensorView) String() string

type GenericSensorViewConfiguration

type GenericSensorViewConfiguration struct {

	// The ID of the sensor at host vehicle's mounting_position.
	//
	// This is the ID of the physical sensor, to be used in its detected
	// features output; it is distinct from the ID of its virtual sensor.
	//
	// The ID is to be provided by the environment simulation, the sensor
	// model is not in a position to provide a useful default value.
	SensorId *Identifier `protobuf:"bytes,1,opt,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// The physical mounting position of the sensor (origin and orientation
	// of the sensor coordinate system) given in vehicle coordinates [1].
	// The physical position pertains to this detector individually, and
	// governs the sensor-relative coordinates in features detected by this
	// detector.
	//
	// \arg \b x-direction of sensor coordinate system: sensor viewing direction
	// \arg \b z-direction of sensor coordinate system: sensor (up)
	// \arg \b y-direction of sensor coordinate system: perpendicular to x and z
	// right hand system
	//
	// \par Reference:
	// [1] DIN Deutsches Institut fuer Normung e. V. (2013). <em>DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe</em>. (DIN ISO 8855:2013-11). Berlin, Germany.
	//
	// \note The origin of vehicle's coordinate system in world frame is
	// ( \c MovingObject::base . \c BaseMoving::position +
	// Inverse_Rotation_yaw_pitch_roll( \c MovingObject::base . \c
	// BaseMoving::orientation) * \c
	// MovingObject::VehicleAttributes::bbcenter_to_rear) . The orientation of
	// the vehicle's coordinate system is equal to the orientation of the
	// vehicle's bounding box \c MovingObject::base . \c
	// BaseMoving::orientation. \note A default position can be provided by the
	// sensor model (e.g. to indicate the position the model was validated for),
	// but this is optional; the environment simulation must provide a valid
	// mounting position (based on the vehicle configuration) when setting the
	// view configuration.
	MountingPosition *MountingPosition `protobuf:"bytes,2,opt,name=mounting_position,json=mountingPosition" json:"mounting_position,omitempty"`
	// The root mean squared error of the mounting position.
	MountingPositionRmse *MountingPosition `protobuf:"bytes,3,opt,name=mounting_position_rmse,json=mountingPositionRmse" json:"mounting_position_rmse,omitempty"`
	// Field of View in horizontal orientation of the physical sensor.
	//
	// Viewing range: [- \c #field_of_view_horizontal/2,  \c
	// #field_of_view_horizontal/2] azimuth in the sensor frame as defined in \c
	// Spherical3d.
	//
	// Unit: rad
	FieldOfViewHorizontal *float64 `protobuf:"fixed64,4,opt,name=field_of_view_horizontal,json=fieldOfViewHorizontal" json:"field_of_view_horizontal,omitempty"`
	// Field of View in vertical orientation of the physical sensor.
	//
	// Viewing range: [- \c #field_of_view_vertical/2,  \c
	// #field_of_view_vertical/2] elevation in the sensor frame at zero azimuth
	// as defined in \c Spherical3d.
	//
	// Unit: rad
	FieldOfViewVertical *float64 `protobuf:"fixed64,5,opt,name=field_of_view_vertical,json=fieldOfViewVertical" json:"field_of_view_vertical,omitempty"`
	// contains filtered or unexported fields
}

\brief The configuration settings for the Generic Sensor View to be provided by the environment simulation.

func (*GenericSensorViewConfiguration) Descriptor deprecated

func (*GenericSensorViewConfiguration) Descriptor() ([]byte, []int)

Deprecated: Use GenericSensorViewConfiguration.ProtoReflect.Descriptor instead.

func (*GenericSensorViewConfiguration) GetFieldOfViewHorizontal

func (x *GenericSensorViewConfiguration) GetFieldOfViewHorizontal() float64

func (*GenericSensorViewConfiguration) GetFieldOfViewVertical

func (x *GenericSensorViewConfiguration) GetFieldOfViewVertical() float64

func (*GenericSensorViewConfiguration) GetMountingPosition

func (x *GenericSensorViewConfiguration) GetMountingPosition() *MountingPosition

func (*GenericSensorViewConfiguration) GetMountingPositionRmse

func (x *GenericSensorViewConfiguration) GetMountingPositionRmse() *MountingPosition

func (*GenericSensorViewConfiguration) GetSensorId

func (x *GenericSensorViewConfiguration) GetSensorId() *Identifier

func (*GenericSensorViewConfiguration) ProtoMessage

func (*GenericSensorViewConfiguration) ProtoMessage()

func (*GenericSensorViewConfiguration) ProtoReflect

func (*GenericSensorViewConfiguration) Reset

func (x *GenericSensorViewConfiguration) Reset()

func (*GenericSensorViewConfiguration) String

type GeodeticPosition

type GeodeticPosition struct {

	// Longitude in decimal degrees regarding WGS84.
	//
	// Unit: Degree
	// Range: [-180; 180]
	Longitude *float64 `protobuf:"fixed64,1,opt,name=longitude" json:"longitude,omitempty"`
	// Latitude in decimal degrees regarding WGS84.
	//
	// Unit: Degree
	// Range: [-90; 90]
	Latitude *float64 `protobuf:"fixed64,2,opt,name=latitude" json:"latitude,omitempty"`
	// Height above sea level regarding EGM96.
	//
	// Unit: m
	// Range: [-300; 10000]
	Altitude *float64 `protobuf:"fixed64,3,opt,name=altitude" json:"altitude,omitempty"`
	// contains filtered or unexported fields
}

\brief The geodetic position of an object, that is, the center of the 3D bounding box.

func (*GeodeticPosition) Descriptor deprecated

func (*GeodeticPosition) Descriptor() ([]byte, []int)

Deprecated: Use GeodeticPosition.ProtoReflect.Descriptor instead.

func (*GeodeticPosition) GetAltitude

func (x *GeodeticPosition) GetAltitude() float64

func (*GeodeticPosition) GetLatitude

func (x *GeodeticPosition) GetLatitude() float64

func (*GeodeticPosition) GetLongitude

func (x *GeodeticPosition) GetLongitude() float64

func (*GeodeticPosition) ProtoMessage

func (*GeodeticPosition) ProtoMessage()

func (*GeodeticPosition) ProtoReflect

func (x *GeodeticPosition) ProtoReflect() protoreflect.Message

func (*GeodeticPosition) Reset

func (x *GeodeticPosition) Reset()

func (*GeodeticPosition) String

func (x *GeodeticPosition) String() string

type GroundTruth

type GroundTruth struct {

	// The interface version used by the sender (i.e. the simulation
	// environment).
	//
	// \rules
	// is_set
	// \endrules
	Version *InterfaceVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The data timestamp of the simulation environment. The zero time point is
	// arbitrary but must be identical for all messages.
	// Recommendation: Zero time point for start point of the simulation.
	//
	// \note Zero time point does not need to coincide with the UNIX epoch.
	//
	// \note For ground truth data this timestamp coincides both with the
	// notional simulation time the data applies to and the time it was sent
	// (there is no inherent latency for ground truth data, as opposed to
	// sensor data).
	//
	// \rules
	// is_set
	// \endrules
	Timestamp *Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
	// The ID of the host vehicle object referencing to \c MovingObject .
	//
	// \note This ID has to be filled and is not optional!
	//
	// \rules
	// refers_to: MovingObject
	// is_set
	// \endrules
	HostVehicleId *Identifier `protobuf:"bytes,3,opt,name=host_vehicle_id,json=hostVehicleId" json:"host_vehicle_id,omitempty"`
	// The list of stationary objects (excluding traffic signs and traffic
	// lights).
	StationaryObject []*StationaryObject `protobuf:"bytes,4,rep,name=stationary_object,json=stationaryObject" json:"stationary_object,omitempty"`
	// The list of all other moving objects including all (host) vehicles.
	MovingObject []*MovingObject `protobuf:"bytes,5,rep,name=moving_object,json=movingObject" json:"moving_object,omitempty"`
	// The list of traffic signs.
	TrafficSign []*TrafficSign `protobuf:"bytes,6,rep,name=traffic_sign,json=trafficSign" json:"traffic_sign,omitempty"`
	// The list of traffic lights.
	TrafficLight []*TrafficLight `protobuf:"bytes,7,rep,name=traffic_light,json=trafficLight" json:"traffic_light,omitempty"`
	// The list of road surface markings (lane markings are excluded and
	// defined as \c LaneBoundary).
	RoadMarking []*RoadMarking `protobuf:"bytes,8,rep,name=road_marking,json=roadMarking" json:"road_marking,omitempty"`
	// The list of lane boundaries.
	LaneBoundary []*LaneBoundary `protobuf:"bytes,9,rep,name=lane_boundary,json=laneBoundary" json:"lane_boundary,omitempty"`
	// The list of lanes forming a road network.
	Lane []*Lane `protobuf:"bytes,10,rep,name=lane" json:"lane,omitempty"`
	// The list of passengers in the (host) vehicle(s).
	Occupant []*Occupant `protobuf:"bytes,11,rep,name=occupant" json:"occupant,omitempty"`
	// Conditions of the environment.
	EnvironmentalConditions *EnvironmentalConditions `protobuf:"bytes,12,opt,name=environmental_conditions,json=environmentalConditions" json:"environmental_conditions,omitempty"`
	// The ISO country code in 3 digit numeric format according to:
	// ISO Code 3166/1 [1].
	// E.g. Germany = 276, USA = 840.
	//
	// \par Reference:
	// [1] ISO International Organization for Standardization. (2013). <em>ISO 3166-1 Codes for the representation of names of countries and their subdivisions - Part 1: Country codes</em>. (ISO 3166-1:2013). Geneva, Switzerland.
	//
	// \rules
	// is_iso_country_code
	// \endrules
	CountryCode *uint32 `protobuf:"varint,13,opt,name=country_code,json=countryCode" json:"country_code,omitempty"`
	// Projection string that allows to transform all coordinates in GroundTruth
	// into a different cartographic projection after the \c proj_frame_offset
	// has been applied.
	//
	// The string follows the PROJ rules for projections [1].
	//
	// \par Reference:
	// [1] PROJ contributors. (2019). <em>PROJ coordinate transformation software library</em>. Open Source Geospatial Foundation. Retrieved January 25, 2019, from https://proj.org/usage/projections.html
	ProjString *string `protobuf:"bytes,14,opt,name=proj_string,json=projString" json:"proj_string,omitempty"`
	// Opaque reference of a map.
	//
	// \note Origin and orientation of the map have to coincide with the
	// inertial coordinate frame of the ground truth.
	//
	// \note It is implementation-specific how map_reference is resolved.
	MapReference *string `protobuf:"bytes,15,opt,name=map_reference,json=mapReference" json:"map_reference,omitempty"`
	// Opaque reference of an associated 3D model.
	//
	// The model covers the static parts of the environment that are not
	// provided as individual models referenced from ground truth objects
	// like moving or stationary objects.
	//
	// \note Origin and orientation of the model have to coincide with the
	// inertial coordinate frame of the ground truth.
	//
	// \note It is implementation-specific how model_references are resolved to
	// 3d models. The parts the world model contains are also implementation-specific.
	// For example, the world model can either contain street geometries or
	// derives street geometries automatically from a map reference.
	ModelReference *string `protobuf:"bytes,16,opt,name=model_reference,json=modelReference" json:"model_reference,omitempty"`
	// Reference lines used by LogicalLane
	ReferenceLine []*ReferenceLine `protobuf:"bytes,17,rep,name=reference_line,json=referenceLine" json:"reference_line,omitempty"`
	// Logical lane boundaries used by LogicalLane
	LogicalLaneBoundary []*LogicalLaneBoundary `protobuf:"bytes,18,rep,name=logical_lane_boundary,json=logicalLaneBoundary" json:"logical_lane_boundary,omitempty"`
	// Logical lanes used e.g. by traffic agents
	LogicalLane []*LogicalLane `protobuf:"bytes,19,rep,name=logical_lane,json=logicalLane" json:"logical_lane,omitempty"`
	// Coordinate frame offset to be used for PROJ transformations.
	ProjFrameOffset *GroundTruth_ProjFrameOffset `protobuf:"bytes,20,opt,name=proj_frame_offset,json=projFrameOffset" json:"proj_frame_offset,omitempty"`
	// contains filtered or unexported fields
}

\brief The ground truth information from the simulation environment.

This ground truth information is supposed to describe the whole simulated environment around any simulated vehicle. For each simulated host vehicle (there may be one or multiple), define an area around the vehicle which is greater than the combined field of views (FOV) of all obstructed sensors in the vehicle. The ground truth data is supposed to describe the convex hull of all such areas w.r.t. a global simulation coordinate system.

The simulation coordinate system may change during the simulation if and only if all coordinates w.r.t. this coordinate system are also changed.

The data has to be sent at a rate defined by the receiving partner. When sending, values with default values might be left default in order to improve performance.

To provide a complete interface, all fields of all contained messages must be properly set unless specifically stated in the field's definition that the field may remain unset.

In enums (e.g. types) the unknown (first / default) value is not allowed to be used in the ground truth interface.

\image html OSI_GroundTruth.svg "Ground Truth"

func (*GroundTruth) Descriptor deprecated

func (*GroundTruth) Descriptor() ([]byte, []int)

Deprecated: Use GroundTruth.ProtoReflect.Descriptor instead.

func (*GroundTruth) GetCountryCode

func (x *GroundTruth) GetCountryCode() uint32

func (*GroundTruth) GetEnvironmentalConditions

func (x *GroundTruth) GetEnvironmentalConditions() *EnvironmentalConditions

func (*GroundTruth) GetHostVehicleId

func (x *GroundTruth) GetHostVehicleId() *Identifier

func (*GroundTruth) GetLane

func (x *GroundTruth) GetLane() []*Lane

func (*GroundTruth) GetLaneBoundary

func (x *GroundTruth) GetLaneBoundary() []*LaneBoundary

func (*GroundTruth) GetLogicalLane

func (x *GroundTruth) GetLogicalLane() []*LogicalLane

func (*GroundTruth) GetLogicalLaneBoundary

func (x *GroundTruth) GetLogicalLaneBoundary() []*LogicalLaneBoundary

func (*GroundTruth) GetMapReference

func (x *GroundTruth) GetMapReference() string

func (*GroundTruth) GetModelReference

func (x *GroundTruth) GetModelReference() string

func (*GroundTruth) GetMovingObject

func (x *GroundTruth) GetMovingObject() []*MovingObject

func (*GroundTruth) GetOccupant

func (x *GroundTruth) GetOccupant() []*Occupant

func (*GroundTruth) GetProjFrameOffset

func (x *GroundTruth) GetProjFrameOffset() *GroundTruth_ProjFrameOffset

func (*GroundTruth) GetProjString

func (x *GroundTruth) GetProjString() string

func (*GroundTruth) GetReferenceLine

func (x *GroundTruth) GetReferenceLine() []*ReferenceLine

func (*GroundTruth) GetRoadMarking

func (x *GroundTruth) GetRoadMarking() []*RoadMarking

func (*GroundTruth) GetStationaryObject

func (x *GroundTruth) GetStationaryObject() []*StationaryObject

func (*GroundTruth) GetTimestamp

func (x *GroundTruth) GetTimestamp() *Timestamp

func (*GroundTruth) GetTrafficLight

func (x *GroundTruth) GetTrafficLight() []*TrafficLight

func (*GroundTruth) GetTrafficSign

func (x *GroundTruth) GetTrafficSign() []*TrafficSign

func (*GroundTruth) GetVersion

func (x *GroundTruth) GetVersion() *InterfaceVersion

func (*GroundTruth) ProtoMessage

func (*GroundTruth) ProtoMessage()

func (*GroundTruth) ProtoReflect

func (x *GroundTruth) ProtoReflect() protoreflect.Message

func (*GroundTruth) Reset

func (x *GroundTruth) Reset()

func (*GroundTruth) String

func (x *GroundTruth) String() string

type GroundTruth_ProjFrameOffset

type GroundTruth_ProjFrameOffset struct {

	// Positional offset for relocation of the coordinate frame.
	Position *Vector3D `protobuf:"bytes,1,opt,name=position" json:"position,omitempty"`
	// Yaw/heading angle for re-orientation of the coordinate frame around
	// the z-axis.
	Yaw *float64 `protobuf:"fixed64,2,opt,name=yaw" json:"yaw,omitempty"`
	// contains filtered or unexported fields
}

\brief Coordinate frame offset to transform from OSI's global coordinate system to a coordinate reference system to be used for given PROJ transformations.

If an offset is defined, always apply the \c proj_frame_offset on global OSI coordinates before applying any transformations defined in \c proj_string.

To apply the offset, global coordinates are first translated by the given positional offset (x,y,z). Then, the yaw angle is used to rotate around the new origin.

The offset is applied on global OSI coordinates using an affine transformation with rotation around z-axis:

xWorld = xOSI * cos(yaw) - yOSI * sin(yaw) + xOffset

yWorld = xOSI * sin(yaw) + yOSI * cos(yaw) + yOffset

zWorld = zOSI + zOffset

If no yaw is provided (recommended), the formulas simplify to:

xWorld = xOSI + xOffset

yWorld = yOSI + yOffset

zWorld = zOSI + zOffset

func (*GroundTruth_ProjFrameOffset) Descriptor deprecated

func (*GroundTruth_ProjFrameOffset) Descriptor() ([]byte, []int)

Deprecated: Use GroundTruth_ProjFrameOffset.ProtoReflect.Descriptor instead.

func (*GroundTruth_ProjFrameOffset) GetPosition

func (x *GroundTruth_ProjFrameOffset) GetPosition() *Vector3D

func (*GroundTruth_ProjFrameOffset) GetYaw

func (*GroundTruth_ProjFrameOffset) ProtoMessage

func (*GroundTruth_ProjFrameOffset) ProtoMessage()

func (*GroundTruth_ProjFrameOffset) ProtoReflect

func (*GroundTruth_ProjFrameOffset) Reset

func (x *GroundTruth_ProjFrameOffset) Reset()

func (*GroundTruth_ProjFrameOffset) String

func (x *GroundTruth_ProjFrameOffset) String() string

type HostVehicleData

type HostVehicleData struct {

	// The interface version used by the sender.
	Version *InterfaceVersion `protobuf:"bytes,9,opt,name=version" json:"version,omitempty"`
	// The timestamp of the host vehicle data. Zero time is arbitrary but must be
	// identical for all messages. Zero time does not need to coincide with
	// the unix epoch. Recommended is the starting time point of the
	// simulation or measurement.
	//
	// \note This is the point in time that the host vehicle data message becomes
	// available as snapshot from the board net information.
	Timestamp *Timestamp `protobuf:"bytes,10,opt,name=timestamp" json:"timestamp,omitempty"`
	// The ID of the host vehicle in any associated GroundTruth data.
	HostVehicleId *Identifier `protobuf:"bytes,11,opt,name=host_vehicle_id,json=hostVehicleId" json:"host_vehicle_id,omitempty"`
	// Deprecated: Will be removed in next major release. Moved to vehicle_localization.
	// Current estimated location based on GPS- and related navigation sensors.
	//
	// \note Note that dimension and base_polygon need not be set.
	Location *BaseMoving `protobuf:"bytes,1,opt,name=location" json:"location,omitempty"`
	// Deprecated: Will be removed in next major release. Moved to vehicle_localization.
	// Current estimated location error based on GPS and related navigation
	// sensors.
	//
	// \note Note that dimension and base_polygon need not be set.
	LocationRmse *BaseMoving `protobuf:"bytes,2,opt,name=location_rmse,json=locationRmse" json:"location_rmse,omitempty"`
	// The basic parameters and overall states of the vehicle.
	VehicleBasics *HostVehicleData_VehicleBasics `protobuf:"bytes,3,opt,name=vehicle_basics,json=vehicleBasics" json:"vehicle_basics,omitempty"`
	// Interface regarding the powertrain.
	VehiclePowertrain *HostVehicleData_VehiclePowertrain `protobuf:"bytes,4,opt,name=vehicle_powertrain,json=vehiclePowertrain" json:"vehicle_powertrain,omitempty"`
	// Interface regarding the brake system.
	VehicleBrakeSystem *HostVehicleData_VehicleBrakeSystem `protobuf:"bytes,5,opt,name=vehicle_brake_system,json=vehicleBrakeSystem" json:"vehicle_brake_system,omitempty"`
	// Interface regarding the steering.
	VehicleSteering *HostVehicleData_VehicleSteering `protobuf:"bytes,6,opt,name=vehicle_steering,json=vehicleSteering" json:"vehicle_steering,omitempty"`
	// Interface regarding the internal wheel states.
	VehicleWheels *HostVehicleData_VehicleWheels `protobuf:"bytes,7,opt,name=vehicle_wheels,json=vehicleWheels" json:"vehicle_wheels,omitempty"`
	// Interface regarding the localization.
	VehicleLocalization *HostVehicleData_VehicleLocalization `protobuf:"bytes,8,opt,name=vehicle_localization,json=vehicleLocalization" json:"vehicle_localization,omitempty"`
	// State of any automated driving functions.
	//
	// This can include:
	//   - information presented to the driver, for example, parking sensors
	//   - warnings raised by the vehicle, for example, forward collision warning
	//   - corrective action taken by the vehicle, for example, auto emergency braking
	//   - full level 4 self driving systems
	//
	// \note OSI uses singular instead of plural for repeated field names.
	VehicleAutomatedDrivingFunction []*HostVehicleData_VehicleAutomatedDrivingFunction `` /* 152-byte string literal not displayed */
	// Interface regarding the vehicle motion.
	VehicleMotion *HostVehicleData_VehicleMotion `protobuf:"bytes,13,opt,name=vehicle_motion,json=vehicleMotion" json:"vehicle_motion,omitempty"`
	// Currently planned route of the vehicle
	Route *Route `protobuf:"bytes,14,opt,name=route" json:"route,omitempty"`
	// contains filtered or unexported fields
}

\brief Host vehicle data is about the perception of the vehicle about its own internal states. It captures the knowledge the vehicle has internally, which can differ from the actual or global truth for various reasons. This message can also be understood as an interface container for the signals of a rest bus simulation.

It consists of different messages categorizing the vehicle in: Basics, powertrain, brake system, steering, wheels and localization.

\image html OSI_HostVehicle.svg

func (*HostVehicleData) Descriptor deprecated

func (*HostVehicleData) Descriptor() ([]byte, []int)

Deprecated: Use HostVehicleData.ProtoReflect.Descriptor instead.

func (*HostVehicleData) GetHostVehicleId

func (x *HostVehicleData) GetHostVehicleId() *Identifier

func (*HostVehicleData) GetLocation

func (x *HostVehicleData) GetLocation() *BaseMoving

func (*HostVehicleData) GetLocationRmse

func (x *HostVehicleData) GetLocationRmse() *BaseMoving

func (*HostVehicleData) GetRoute

func (x *HostVehicleData) GetRoute() *Route

func (*HostVehicleData) GetTimestamp

func (x *HostVehicleData) GetTimestamp() *Timestamp

func (*HostVehicleData) GetVehicleAutomatedDrivingFunction

func (x *HostVehicleData) GetVehicleAutomatedDrivingFunction() []*HostVehicleData_VehicleAutomatedDrivingFunction

func (*HostVehicleData) GetVehicleBasics

func (x *HostVehicleData) GetVehicleBasics() *HostVehicleData_VehicleBasics

func (*HostVehicleData) GetVehicleBrakeSystem

func (x *HostVehicleData) GetVehicleBrakeSystem() *HostVehicleData_VehicleBrakeSystem

func (*HostVehicleData) GetVehicleLocalization

func (x *HostVehicleData) GetVehicleLocalization() *HostVehicleData_VehicleLocalization

func (*HostVehicleData) GetVehicleMotion

func (x *HostVehicleData) GetVehicleMotion() *HostVehicleData_VehicleMotion

func (*HostVehicleData) GetVehiclePowertrain

func (x *HostVehicleData) GetVehiclePowertrain() *HostVehicleData_VehiclePowertrain

func (*HostVehicleData) GetVehicleSteering

func (x *HostVehicleData) GetVehicleSteering() *HostVehicleData_VehicleSteering

func (*HostVehicleData) GetVehicleWheels

func (x *HostVehicleData) GetVehicleWheels() *HostVehicleData_VehicleWheels

func (*HostVehicleData) GetVersion

func (x *HostVehicleData) GetVersion() *InterfaceVersion

func (*HostVehicleData) ProtoMessage

func (*HostVehicleData) ProtoMessage()

func (*HostVehicleData) ProtoReflect

func (x *HostVehicleData) ProtoReflect() protoreflect.Message

func (*HostVehicleData) Reset

func (x *HostVehicleData) Reset()

func (*HostVehicleData) String

func (x *HostVehicleData) String() string

type HostVehicleData_VehicleAutomatedDrivingFunction

type HostVehicleData_VehicleAutomatedDrivingFunction struct {

	// The particular driving function being reported about.
	Name *HostVehicleData_VehicleAutomatedDrivingFunction_Name `protobuf:"varint,1,opt,name=name,enum=osi3.HostVehicleData_VehicleAutomatedDrivingFunction_Name" json:"name,omitempty"`
	// Custom driving function name.
	//
	// Only used if name is set to NAME_OTHER.
	CustomName *string `protobuf:"bytes,2,opt,name=custom_name,json=customName" json:"custom_name,omitempty"`
	// The state of the function.
	//
	// This is whether the function has actually been triggered, for
	// example, a warning has been raised, or additional braking is
	// in effect.
	State *HostVehicleData_VehicleAutomatedDrivingFunction_State `protobuf:"varint,3,opt,name=state,enum=osi3.HostVehicleData_VehicleAutomatedDrivingFunction_State" json:"state,omitempty"`
	// Custom state.
	//
	// Only used if the state is set to STATE_OTHER.
	CustomState *string `protobuf:"bytes,4,opt,name=custom_state,json=customState" json:"custom_state,omitempty"`
	// Whether, and how, the driver has overridden this function.
	DriverOverride *HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride `protobuf:"bytes,5,opt,name=driver_override,json=driverOverride" json:"driver_override,omitempty"`
	// Custom detail.
	//
	// An opaque set of key-value pairs which capture any user specific
	// details that may be relevant.  This could include details about
	// how a warning was raised (dashboard, audible, etc.) or it could
	// be about settings which would influence evaluation, such as
	// sensitivity settings.
	CustomDetail []*KeyValuePair `protobuf:"bytes,6,rep,name=custom_detail,json=customDetail" json:"custom_detail,omitempty"`
	// contains filtered or unexported fields
}

\brief State of one automated driving function on the host vehicle.

func (*HostVehicleData_VehicleAutomatedDrivingFunction) Descriptor deprecated

Deprecated: Use HostVehicleData_VehicleAutomatedDrivingFunction.ProtoReflect.Descriptor instead.

func (*HostVehicleData_VehicleAutomatedDrivingFunction) GetCustomDetail

func (*HostVehicleData_VehicleAutomatedDrivingFunction) GetCustomName

func (*HostVehicleData_VehicleAutomatedDrivingFunction) GetCustomState

func (*HostVehicleData_VehicleAutomatedDrivingFunction) GetDriverOverride

func (*HostVehicleData_VehicleAutomatedDrivingFunction) GetName

func (*HostVehicleData_VehicleAutomatedDrivingFunction) GetState

func (*HostVehicleData_VehicleAutomatedDrivingFunction) ProtoMessage

func (*HostVehicleData_VehicleAutomatedDrivingFunction) ProtoReflect

func (*HostVehicleData_VehicleAutomatedDrivingFunction) Reset

func (*HostVehicleData_VehicleAutomatedDrivingFunction) String

type HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride

type HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride struct {

	// The feature has been overridden by a driver action.
	//
	// \note If false, the rest of this message should be ignored.
	Active *bool `protobuf:"varint,1,opt,name=active" json:"active,omitempty"`
	// What driver inputs have caused the override.
	OverrideReason []HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason `` /* 177-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief Driver override information

Information about whether and how and driver may have overridden an automated driving function.

func (*HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride) Descriptor deprecated

Deprecated: Use HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride.ProtoReflect.Descriptor instead.

func (*HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride) GetActive

func (*HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride) GetOverrideReason

func (*HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride) ProtoMessage

func (*HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride) ProtoReflect

func (*HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride) Reset

func (*HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride) String

type HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason

type HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason int32

Ways in which a driver could override a driving function.

const (
	// The driver has applied sufficient input via the break pedal.
	HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_REASON_BRAKE_PEDAL HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason = 0
	// The driver has applied sufficient steering input.
	HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_REASON_STEERING_INPUT HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason = 1
)

func (HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason) Descriptor

func (HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason) Enum

func (HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason) EnumDescriptor deprecated

Deprecated: Use HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason.Descriptor instead.

func (HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason) Number

func (HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason) String

func (HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason) Type

func (*HostVehicleData_VehicleAutomatedDrivingFunction_DriverOverride_Reason) UnmarshalJSON deprecated

Deprecated: Do not use.

type HostVehicleData_VehicleAutomatedDrivingFunction_Name

type HostVehicleData_VehicleAutomatedDrivingFunction_Name int32

A list of possible automated driving features.

\note This can span (in theory) from Level 0 all the way to Level 5.

\par References: [1] CLEARING THE CONFUSION: Recommended Common Naming for Advanced Driver Assistance Technologies, SAE International, Retrieved October 22, 2021, from https://www.sae.org/binaries/content/assets/cm/content/miscellaneous/adas-nomenclature.pdf [2] Automated Driving, German Association of the Automotive Industry (VDA), Retrieved October 22, 2021, from https://www.vda.de/en/topics/innovation-and-technology/automated-driving/automated-driving

const (
	// Unknown feature, should not be used.
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_UNKNOWN HostVehicleData_VehicleAutomatedDrivingFunction_Name = 0
	// Custom feature, see custom_name.
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_OTHER HostVehicleData_VehicleAutomatedDrivingFunction_Name = 1
	// Blind spot warning.
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_BLIND_SPOT_WARNING HostVehicleData_VehicleAutomatedDrivingFunction_Name = 2
	// Forward collision warning.
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_FORWARD_COLLISION_WARNING HostVehicleData_VehicleAutomatedDrivingFunction_Name = 3
	// Lane departure warning.
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_LANE_DEPARTURE_WARNING HostVehicleData_VehicleAutomatedDrivingFunction_Name = 4
	// Parking collision warning.
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_PARKING_COLLISION_WARNING HostVehicleData_VehicleAutomatedDrivingFunction_Name = 5
	// Rear cross-traffic warning
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_REAR_CROSS_TRAFFIC_WARNING HostVehicleData_VehicleAutomatedDrivingFunction_Name = 6
	// Automatic emergency braking
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_AUTOMATIC_EMERGENCY_BRAKING HostVehicleData_VehicleAutomatedDrivingFunction_Name = 7
	// Emergency steering
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_AUTOMATIC_EMERGENCY_STEERING HostVehicleData_VehicleAutomatedDrivingFunction_Name = 8
	// Reverse automatic emergency braking
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_REVERSE_AUTOMATIC_EMERGENCY_BRAKING HostVehicleData_VehicleAutomatedDrivingFunction_Name = 9
	// Adaptive cruise control
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_ADAPTIVE_CRUISE_CONTROL HostVehicleData_VehicleAutomatedDrivingFunction_Name = 10
	// Lane keeping assist
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_LANE_KEEPING_ASSIST HostVehicleData_VehicleAutomatedDrivingFunction_Name = 11
	// Active driving assistance
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_ACTIVE_DRIVING_ASSISTANCE HostVehicleData_VehicleAutomatedDrivingFunction_Name = 12
	// Backup camera
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_BACKUP_CAMERA HostVehicleData_VehicleAutomatedDrivingFunction_Name = 13
	// Surround view camera
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_SURROUND_VIEW_CAMERA HostVehicleData_VehicleAutomatedDrivingFunction_Name = 14
	// Active parking assistance
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_ACTIVE_PARKING_ASSISTANCE HostVehicleData_VehicleAutomatedDrivingFunction_Name = 15
	// Remote parking assistance
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_REMOTE_PARKING_ASSISTANCE HostVehicleData_VehicleAutomatedDrivingFunction_Name = 16
	// Trailer assistance
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_TRAILER_ASSISTANCE HostVehicleData_VehicleAutomatedDrivingFunction_Name = 17
	// Automatic high beams
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_AUTOMATIC_HIGH_BEAMS HostVehicleData_VehicleAutomatedDrivingFunction_Name = 18
	// Driver monitoring
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_DRIVER_MONITORING HostVehicleData_VehicleAutomatedDrivingFunction_Name = 19
	// Head up display
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_HEAD_UP_DISPLAY HostVehicleData_VehicleAutomatedDrivingFunction_Name = 20
	// Night vision
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_NIGHT_VISION HostVehicleData_VehicleAutomatedDrivingFunction_Name = 21
	// Urban driving
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_URBAN_DRIVING HostVehicleData_VehicleAutomatedDrivingFunction_Name = 22
	// Highway autopilot.
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_HIGHWAY_AUTOPILOT HostVehicleData_VehicleAutomatedDrivingFunction_Name = 23
	// Cruise control.
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_CRUISE_CONTROL HostVehicleData_VehicleAutomatedDrivingFunction_Name = 24
	// Speed limit control
	HostVehicleData_VehicleAutomatedDrivingFunction_NAME_SPEED_LIMIT_CONTROL HostVehicleData_VehicleAutomatedDrivingFunction_Name = 25
)

func (HostVehicleData_VehicleAutomatedDrivingFunction_Name) Descriptor

func (HostVehicleData_VehicleAutomatedDrivingFunction_Name) Enum

func (HostVehicleData_VehicleAutomatedDrivingFunction_Name) EnumDescriptor deprecated

Deprecated: Use HostVehicleData_VehicleAutomatedDrivingFunction_Name.Descriptor instead.

func (HostVehicleData_VehicleAutomatedDrivingFunction_Name) Number

func (HostVehicleData_VehicleAutomatedDrivingFunction_Name) String

func (HostVehicleData_VehicleAutomatedDrivingFunction_Name) Type

func (*HostVehicleData_VehicleAutomatedDrivingFunction_Name) UnmarshalJSON deprecated

Deprecated: Do not use.

type HostVehicleData_VehicleAutomatedDrivingFunction_State

type HostVehicleData_VehicleAutomatedDrivingFunction_State int32

The state that the feature is in.

\note Not all of these will be applicable for all vehicles and features.

const (
	// An unknown state, this should not be used.
	HostVehicleData_VehicleAutomatedDrivingFunction_STATE_UNKNOWN HostVehicleData_VehicleAutomatedDrivingFunction_State = 0
	// Used for custom states not covered by the definitions below.
	//
	// A string state can be specified in custom_state.
	HostVehicleData_VehicleAutomatedDrivingFunction_STATE_OTHER HostVehicleData_VehicleAutomatedDrivingFunction_State = 1
	// The function has thrown an error in some way that renders it ineffective.
	HostVehicleData_VehicleAutomatedDrivingFunction_STATE_ERRORED HostVehicleData_VehicleAutomatedDrivingFunction_State = 2
	// The function cannot be used due to unfulfilled preconditions,
	// for example it is a highway only feature and the vehicle is in
	// an urban environment.
	HostVehicleData_VehicleAutomatedDrivingFunction_STATE_UNAVAILABLE HostVehicleData_VehicleAutomatedDrivingFunction_State = 3
	// The function can be used as all preconditions are satisfied, but
	// it hasn't been enabled.
	HostVehicleData_VehicleAutomatedDrivingFunction_STATE_AVAILABLE HostVehicleData_VehicleAutomatedDrivingFunction_State = 4
	// The function is available but conditions have not caused it to be
	// triggered, for example, no vehicles in front to trigger a forward collision warning.
	HostVehicleData_VehicleAutomatedDrivingFunction_STATE_STANDBY HostVehicleData_VehicleAutomatedDrivingFunction_State = 5
	// The function is currently active, for example, a warning is being
	// shown to the driver, or emergency braking is being applied/
	HostVehicleData_VehicleAutomatedDrivingFunction_STATE_ACTIVE HostVehicleData_VehicleAutomatedDrivingFunction_State = 6
)

func (HostVehicleData_VehicleAutomatedDrivingFunction_State) Descriptor

func (HostVehicleData_VehicleAutomatedDrivingFunction_State) Enum

func (HostVehicleData_VehicleAutomatedDrivingFunction_State) EnumDescriptor deprecated

Deprecated: Use HostVehicleData_VehicleAutomatedDrivingFunction_State.Descriptor instead.

func (HostVehicleData_VehicleAutomatedDrivingFunction_State) Number

func (HostVehicleData_VehicleAutomatedDrivingFunction_State) String

func (HostVehicleData_VehicleAutomatedDrivingFunction_State) Type

func (*HostVehicleData_VehicleAutomatedDrivingFunction_State) UnmarshalJSON deprecated

Deprecated: Do not use.

type HostVehicleData_VehicleBasics

type HostVehicleData_VehicleBasics struct {

	// The total mass of the vehicle (curb weight).
	//
	// Unit: kg
	//
	// \par Reference:
	// Paragraph 42 of the German Road Traffic Admission Regulations (StVZO).
	CurbWeight *float64 `protobuf:"fixed64,1,opt,name=curb_weight,json=curbWeight" json:"curb_weight,omitempty"`
	// The operating state of the vehicle.
	OperatingState *HostVehicleData_VehicleBasics_OperatingState `` /* 152-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief Base parameters and overall states of the vehicle.

func (*HostVehicleData_VehicleBasics) Descriptor deprecated

func (*HostVehicleData_VehicleBasics) Descriptor() ([]byte, []int)

Deprecated: Use HostVehicleData_VehicleBasics.ProtoReflect.Descriptor instead.

func (*HostVehicleData_VehicleBasics) GetCurbWeight

func (x *HostVehicleData_VehicleBasics) GetCurbWeight() float64

func (*HostVehicleData_VehicleBasics) GetOperatingState

func (*HostVehicleData_VehicleBasics) ProtoMessage

func (*HostVehicleData_VehicleBasics) ProtoMessage()

func (*HostVehicleData_VehicleBasics) ProtoReflect

func (*HostVehicleData_VehicleBasics) Reset

func (x *HostVehicleData_VehicleBasics) Reset()

func (*HostVehicleData_VehicleBasics) String

type HostVehicleData_VehicleBasics_OperatingState

type HostVehicleData_VehicleBasics_OperatingState int32

Possible operating states of the vehicle. It is user specific which states are used and how their transitions work.

const (
	// The operating state is unknown.
	HostVehicleData_VehicleBasics_OPERATING_STATE_UNKNOWN HostVehicleData_VehicleBasics_OperatingState = 0
	// The operating state is another one.
	HostVehicleData_VehicleBasics_OPERATING_STATE_OTHER HostVehicleData_VehicleBasics_OperatingState = 1
	// The minimum electrical state of the vehicle (and its ECUs).
	// Usually the driver has left the vehicle a while ago.
	HostVehicleData_VehicleBasics_OPERATING_STATE_SLEEP HostVehicleData_VehicleBasics_OperatingState = 2
	// Cabin lights and entertainment are off. The vehicle can not be driven.
	// Some ECUs are still operating and not in their minimum electrical sate.
	// Usually the driver has left (and closed) the vehicle recently.
	HostVehicleData_VehicleBasics_OPERATING_STATE_STANDBY HostVehicleData_VehicleBasics_OperatingState = 3
	// Some features of the vehicle are available e.g. cabin lights.
	// Entertainment is off and the vehicle can not be driven.
	// Usually the driver wants to enter or leave the vehicle.
	HostVehicleData_VehicleBasics_OPERATING_STATE_BOARDING HostVehicleData_VehicleBasics_OperatingState = 4
	// Entertainment, navigation or similar systems can be used by the driver.
	// The vehicle can not be driven.
	// Usually the driver sits in the vehicle before or after a drive.
	HostVehicleData_VehicleBasics_OPERATING_STATE_ENTERTAINMENT HostVehicleData_VehicleBasics_OperatingState = 5
	// The electrical state that is necessary to drive the vehicle.
	HostVehicleData_VehicleBasics_OPERATING_STATE_DRIVING HostVehicleData_VehicleBasics_OperatingState = 6
	// The electrical state that is necessary for analysis and diagnostics.
	HostVehicleData_VehicleBasics_OPERATING_STATE_DIAGNOSTIC HostVehicleData_VehicleBasics_OperatingState = 7
)

func (HostVehicleData_VehicleBasics_OperatingState) Descriptor

func (HostVehicleData_VehicleBasics_OperatingState) Enum

func (HostVehicleData_VehicleBasics_OperatingState) EnumDescriptor deprecated

func (HostVehicleData_VehicleBasics_OperatingState) EnumDescriptor() ([]byte, []int)

Deprecated: Use HostVehicleData_VehicleBasics_OperatingState.Descriptor instead.

func (HostVehicleData_VehicleBasics_OperatingState) Number

func (HostVehicleData_VehicleBasics_OperatingState) String

func (HostVehicleData_VehicleBasics_OperatingState) Type

func (*HostVehicleData_VehicleBasics_OperatingState) UnmarshalJSON deprecated

Deprecated: Do not use.

type HostVehicleData_VehicleBrakeSystem

type HostVehicleData_VehicleBrakeSystem struct {

	// Position of the brake pedal.
	// Range: 0-1 (Unpressed - fully pressed)
	PedalPositionBrake *float64 `protobuf:"fixed64,1,opt,name=pedal_position_brake,json=pedalPositionBrake" json:"pedal_position_brake,omitempty"`
	// contains filtered or unexported fields
}

\brief The focus here is on the description of the brake system.

func (*HostVehicleData_VehicleBrakeSystem) Descriptor deprecated

func (*HostVehicleData_VehicleBrakeSystem) Descriptor() ([]byte, []int)

Deprecated: Use HostVehicleData_VehicleBrakeSystem.ProtoReflect.Descriptor instead.

func (*HostVehicleData_VehicleBrakeSystem) GetPedalPositionBrake

func (x *HostVehicleData_VehicleBrakeSystem) GetPedalPositionBrake() float64

func (*HostVehicleData_VehicleBrakeSystem) ProtoMessage

func (*HostVehicleData_VehicleBrakeSystem) ProtoMessage()

func (*HostVehicleData_VehicleBrakeSystem) ProtoReflect

func (*HostVehicleData_VehicleBrakeSystem) Reset

func (*HostVehicleData_VehicleBrakeSystem) String

type HostVehicleData_VehicleLocalization

type HostVehicleData_VehicleLocalization struct {

	// Most accurate position information of the vehicle available in the on-board network
	// measured in context to the global coordinate system.
	Position *Vector3D `protobuf:"bytes,1,opt,name=position" json:"position,omitempty"`
	// Most accurate orientation information of the vehicle available in the on-board network
	// measured in context to the global coordinate system.
	Orientation *Orientation3D `protobuf:"bytes,2,opt,name=orientation" json:"orientation,omitempty"`
	// Most accurate geodetic information of the vehicle available in the on-board network.
	GeodeticPosition *GeodeticPosition `protobuf:"bytes,3,opt,name=geodetic_position,json=geodeticPosition" json:"geodetic_position,omitempty"`
	// contains filtered or unexported fields
}

\brief Current calculated and estimated location that can be based on GNSS and related navigation sensors. This message does not contain the individual sensor values of the sensor technology.

This message contains the most accurate information the vehicle knows about its position available in the on-board network. Because of this the values can differ from the "true" values calculated out of GroundTruth::proj_string, GroundTruth::MovingObject::BaseMoving::position, GroundTruth::host_vehicle_id.

This data uses the reference point coincident with the center (x,y,z) of the bounding box.

func (*HostVehicleData_VehicleLocalization) Descriptor deprecated

func (*HostVehicleData_VehicleLocalization) Descriptor() ([]byte, []int)

Deprecated: Use HostVehicleData_VehicleLocalization.ProtoReflect.Descriptor instead.

func (*HostVehicleData_VehicleLocalization) GetGeodeticPosition

func (x *HostVehicleData_VehicleLocalization) GetGeodeticPosition() *GeodeticPosition

func (*HostVehicleData_VehicleLocalization) GetOrientation

func (*HostVehicleData_VehicleLocalization) GetPosition

func (*HostVehicleData_VehicleLocalization) ProtoMessage

func (*HostVehicleData_VehicleLocalization) ProtoMessage()

func (*HostVehicleData_VehicleLocalization) ProtoReflect

func (*HostVehicleData_VehicleLocalization) Reset

func (*HostVehicleData_VehicleLocalization) String

type HostVehicleData_VehicleMotion

type HostVehicleData_VehicleMotion struct {

	// Most accurate position of the vehicle available in the on-board network
	// measured in the cartesian global coordinate system.
	Position *Vector3D `protobuf:"bytes,1,opt,name=position" json:"position,omitempty"`
	// Most accurate orientation information of the vehicle available in the on-board network
	// measured on the vehicle coordinate system in context of the global inertial system.
	Orientation *Orientation3D `protobuf:"bytes,2,opt,name=orientation" json:"orientation,omitempty"`
	// Most accurate velocity information of the vehicle, available in the on-board network
	// measured on the vehicle coordinate system in context of the global inertial system.
	Velocity *Vector3D `protobuf:"bytes,3,opt,name=velocity" json:"velocity,omitempty"`
	// Most accurate orientation rate of the vehicle, available in the on-board network
	// measured on the vehicle coordinate system in context of the global inertial system.
	OrientationRate *Orientation3D `protobuf:"bytes,4,opt,name=orientation_rate,json=orientationRate" json:"orientation_rate,omitempty"`
	// Most accurate acceleration information of the vehicle, available in the on-board network
	// measured on the vehicle coordinate system in context of the global inertial system.
	Acceleration *Vector3D `protobuf:"bytes,5,opt,name=acceleration" json:"acceleration,omitempty"`
	// Most accurate curvature currently followed by vehicle and available in the on-board network
	//
	// Unit: m^-1
	CurrentCurvature *float64 `protobuf:"fixed64,6,opt,name=current_curvature,json=currentCurvature" json:"current_curvature,omitempty"`
	// contains filtered or unexported fields
}

\brief Current calculated and estimated motion related information.

This message contains the most accurate information the vehicle knows about its motion including vehicle dynamics and control related information available in the on-board network, which can differ from the "true" values calculated out of the ground truth.

This data uses the reference point coincident with the middle (in x, y and z) of rear axle under neutral load conditions as defined in \c MovingObject::VehicleAttributes::bbcenter_to_rear.

func (*HostVehicleData_VehicleMotion) Descriptor deprecated

func (*HostVehicleData_VehicleMotion) Descriptor() ([]byte, []int)

Deprecated: Use HostVehicleData_VehicleMotion.ProtoReflect.Descriptor instead.

func (*HostVehicleData_VehicleMotion) GetAcceleration

func (x *HostVehicleData_VehicleMotion) GetAcceleration() *Vector3D

func (*HostVehicleData_VehicleMotion) GetCurrentCurvature

func (x *HostVehicleData_VehicleMotion) GetCurrentCurvature() float64

func (*HostVehicleData_VehicleMotion) GetOrientation

func (x *HostVehicleData_VehicleMotion) GetOrientation() *Orientation3D

func (*HostVehicleData_VehicleMotion) GetOrientationRate

func (x *HostVehicleData_VehicleMotion) GetOrientationRate() *Orientation3D

func (*HostVehicleData_VehicleMotion) GetPosition

func (x *HostVehicleData_VehicleMotion) GetPosition() *Vector3D

func (*HostVehicleData_VehicleMotion) GetVelocity

func (x *HostVehicleData_VehicleMotion) GetVelocity() *Vector3D

func (*HostVehicleData_VehicleMotion) ProtoMessage

func (*HostVehicleData_VehicleMotion) ProtoMessage()

func (*HostVehicleData_VehicleMotion) ProtoReflect

func (*HostVehicleData_VehicleMotion) Reset

func (x *HostVehicleData_VehicleMotion) Reset()

func (*HostVehicleData_VehicleMotion) String

type HostVehicleData_VehiclePowertrain

type HostVehicleData_VehiclePowertrain struct {

	// Position of the acceleration pedal.
	// Range: 0-1 (Unpressed - fully pressed)
	PedalPositionAcceleration *float64 `` /* 133-byte string literal not displayed */
	// Position of the clutch pedal.
	// Range: 0-1 (Unpressed - fully pressed)
	PedalPositionClutch *float64 `protobuf:"fixed64,2,opt,name=pedal_position_clutch,json=pedalPositionClutch" json:"pedal_position_clutch,omitempty"`
	// The actual gear of the transmission.
	// For example, a gear lever can be on "D" and the transmission on "4", but not the
	// other way around.
	//
	// The sign of this field is linked to the gear's mode as following:
	//   - zero: neutral position
	//   - positive: driving forward mode
	//   - negative: reverse mode (generally -1, but few vehicles have more than 1
	//     reverse mode gears)
	GearTransmission *int32 `protobuf:"varint,3,opt,name=gear_transmission,json=gearTransmission" json:"gear_transmission,omitempty"`
	// Information about the motor(s).
	Motor []*HostVehicleData_VehiclePowertrain_Motor `protobuf:"bytes,4,rep,name=motor" json:"motor,omitempty"`
	// contains filtered or unexported fields
}

\brief State description of the powertrain.

func (*HostVehicleData_VehiclePowertrain) Descriptor deprecated

func (*HostVehicleData_VehiclePowertrain) Descriptor() ([]byte, []int)

Deprecated: Use HostVehicleData_VehiclePowertrain.ProtoReflect.Descriptor instead.

func (*HostVehicleData_VehiclePowertrain) GetGearTransmission

func (x *HostVehicleData_VehiclePowertrain) GetGearTransmission() int32

func (*HostVehicleData_VehiclePowertrain) GetMotor

func (*HostVehicleData_VehiclePowertrain) GetPedalPositionAcceleration

func (x *HostVehicleData_VehiclePowertrain) GetPedalPositionAcceleration() float64

func (*HostVehicleData_VehiclePowertrain) GetPedalPositionClutch

func (x *HostVehicleData_VehiclePowertrain) GetPedalPositionClutch() float64

func (*HostVehicleData_VehiclePowertrain) ProtoMessage

func (*HostVehicleData_VehiclePowertrain) ProtoMessage()

func (*HostVehicleData_VehiclePowertrain) ProtoReflect

func (*HostVehicleData_VehiclePowertrain) Reset

func (*HostVehicleData_VehiclePowertrain) String

type HostVehicleData_VehiclePowertrain_Motor

type HostVehicleData_VehiclePowertrain_Motor struct {

	// The type of the motor.
	Type *HostVehicleData_VehiclePowertrain_Motor_Type `protobuf:"varint,1,opt,name=type,enum=osi3.HostVehicleData_VehiclePowertrain_Motor_Type" json:"type,omitempty"`
	// Revolutions per minute of the motor.
	//
	// Unit: 1/min
	Rpm *float64 `protobuf:"fixed64,2,opt,name=rpm" json:"rpm,omitempty"`
	// Torque of the motor.
	//
	// Unit: N*m
	Torque *float64 `protobuf:"fixed64,3,opt,name=torque" json:"torque,omitempty"`
	// contains filtered or unexported fields
}

\brief A description of the motor states.

func (*HostVehicleData_VehiclePowertrain_Motor) Descriptor deprecated

func (*HostVehicleData_VehiclePowertrain_Motor) Descriptor() ([]byte, []int)

Deprecated: Use HostVehicleData_VehiclePowertrain_Motor.ProtoReflect.Descriptor instead.

func (*HostVehicleData_VehiclePowertrain_Motor) GetRpm

func (*HostVehicleData_VehiclePowertrain_Motor) GetTorque

func (*HostVehicleData_VehiclePowertrain_Motor) GetType

func (*HostVehicleData_VehiclePowertrain_Motor) ProtoMessage

func (*HostVehicleData_VehiclePowertrain_Motor) ProtoReflect

func (*HostVehicleData_VehiclePowertrain_Motor) Reset

func (*HostVehicleData_VehiclePowertrain_Motor) String

type HostVehicleData_VehiclePowertrain_Motor_Type

type HostVehicleData_VehiclePowertrain_Motor_Type int32

Definition which type of motor is used.

const (
	// The motor type is unknown.
	HostVehicleData_VehiclePowertrain_Motor_TYPE_UNKNOWN HostVehicleData_VehiclePowertrain_Motor_Type = 0
	// It is another motor type.
	HostVehicleData_VehiclePowertrain_Motor_TYPE_OTHER HostVehicleData_VehiclePowertrain_Motor_Type = 1
	// A motor working after the principle of Nicolaus Otto.
	HostVehicleData_VehiclePowertrain_Motor_TYPE_OTTO HostVehicleData_VehiclePowertrain_Motor_Type = 2
	// A motor working after the principle of Rudolf Diesel.
	HostVehicleData_VehiclePowertrain_Motor_TYPE_DIESEL HostVehicleData_VehiclePowertrain_Motor_Type = 3
	// A motor working electric.
	HostVehicleData_VehiclePowertrain_Motor_TYPE_ELECTRIC HostVehicleData_VehiclePowertrain_Motor_Type = 4
)

func (HostVehicleData_VehiclePowertrain_Motor_Type) Descriptor

func (HostVehicleData_VehiclePowertrain_Motor_Type) Enum

func (HostVehicleData_VehiclePowertrain_Motor_Type) EnumDescriptor deprecated

func (HostVehicleData_VehiclePowertrain_Motor_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use HostVehicleData_VehiclePowertrain_Motor_Type.Descriptor instead.

func (HostVehicleData_VehiclePowertrain_Motor_Type) Number

func (HostVehicleData_VehiclePowertrain_Motor_Type) String

func (HostVehicleData_VehiclePowertrain_Motor_Type) Type

func (*HostVehicleData_VehiclePowertrain_Motor_Type) UnmarshalJSON deprecated

Deprecated: Do not use.

type HostVehicleData_VehicleSteering

type HostVehicleData_VehicleSteering struct {

	// Description of the steering wheel.
	VehicleSteeringWheel *VehicleSteeringWheel `protobuf:"bytes,1,opt,name=vehicle_steering_wheel,json=vehicleSteeringWheel" json:"vehicle_steering_wheel,omitempty"`
	// contains filtered or unexported fields
}

\brief The focus here is on the description of the steering train.

func (*HostVehicleData_VehicleSteering) Descriptor deprecated

func (*HostVehicleData_VehicleSteering) Descriptor() ([]byte, []int)

Deprecated: Use HostVehicleData_VehicleSteering.ProtoReflect.Descriptor instead.

func (*HostVehicleData_VehicleSteering) GetVehicleSteeringWheel

func (x *HostVehicleData_VehicleSteering) GetVehicleSteeringWheel() *VehicleSteeringWheel

func (*HostVehicleData_VehicleSteering) ProtoMessage

func (*HostVehicleData_VehicleSteering) ProtoMessage()

func (*HostVehicleData_VehicleSteering) ProtoReflect

func (*HostVehicleData_VehicleSteering) Reset

func (*HostVehicleData_VehicleSteering) String

type HostVehicleData_VehicleWheels

type HostVehicleData_VehicleWheels struct {

	// Description of each wheel.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	WheelData []*HostVehicleData_VehicleWheels_WheelData `protobuf:"bytes,1,rep,name=wheel_data,json=wheelData" json:"wheel_data,omitempty"`
	// contains filtered or unexported fields
}

\brief The focus here is on the description of internal wheel states.

func (*HostVehicleData_VehicleWheels) Descriptor deprecated

func (*HostVehicleData_VehicleWheels) Descriptor() ([]byte, []int)

Deprecated: Use HostVehicleData_VehicleWheels.ProtoReflect.Descriptor instead.

func (*HostVehicleData_VehicleWheels) GetWheelData

func (*HostVehicleData_VehicleWheels) ProtoMessage

func (*HostVehicleData_VehicleWheels) ProtoMessage()

func (*HostVehicleData_VehicleWheels) ProtoReflect

func (*HostVehicleData_VehicleWheels) Reset

func (x *HostVehicleData_VehicleWheels) Reset()

func (*HostVehicleData_VehicleWheels) String

type HostVehicleData_VehicleWheels_WheelData

type HostVehicleData_VehicleWheels_WheelData struct {

	// The axle which contains this wheel. A value of 0 represents the
	// foremost axle of the vehicle, with higher numbers ascending
	// towards the rearmost axle.
	Axle *uint32 `protobuf:"varint,1,opt,name=axle" json:"axle,omitempty"`
	// The index of the wheel on the axle, counted in positive y- direction,
	// that is, right-to-left.
	//
	// For example, on a standard 2-axle, 4-wheel car, the rear-right
	// wheel would be (axle=1, index=0).
	// This concept also works for twin tires.
	Index *uint32 `protobuf:"varint,2,opt,name=index" json:"index,omitempty"`
	// Rotation rate of the wheel based on the processed output of the hall sensor measurements at the wheel.
	// The rotation rate around the y-axis with respect to the wheel's coordinate system.
	//
	// Unit: rad/s.
	//
	// The sign convention is defined using the right-hand rule.
	// It is applied on the y-axis of the vehicle's reference system, that is, the center of bounding box.
	// Counterclockwise is positive and clockwise is negative.
	//
	// \image html OSI_RotationRate.svg
	// \note The vehicle's reference coordinate system is only used to determine the sign convention of the rotation rate.
	RotationRate *float64 `protobuf:"fixed64,3,opt,name=rotation_rate,json=rotationRate" json:"rotation_rate,omitempty"`
	// Contains the longitudinal, measured slip of the tire.
	// \par References:
	// [1] kfz-tech.de, Schlupf, Retrieved June 30, 2021, from https://www.kfz-tech.de/Biblio/Formelsammlung/Schlupf.htm
	//
	// Unit: %
	//
	// The sign convention is defined using the right-hand rule.
	// It is applied on the y-axis of the vehicle's reference system, that is, the center of bounding box.
	// Counterclockwise is positive and clockwise is negative.
	Slip *float64 `protobuf:"fixed64,4,opt,name=slip" json:"slip,omitempty"`
	// contains filtered or unexported fields
}

\brief The focus here is on the description of internal wheel states.

func (*HostVehicleData_VehicleWheels_WheelData) Descriptor deprecated

func (*HostVehicleData_VehicleWheels_WheelData) Descriptor() ([]byte, []int)

Deprecated: Use HostVehicleData_VehicleWheels_WheelData.ProtoReflect.Descriptor instead.

func (*HostVehicleData_VehicleWheels_WheelData) GetAxle

func (*HostVehicleData_VehicleWheels_WheelData) GetIndex

func (*HostVehicleData_VehicleWheels_WheelData) GetRotationRate

func (x *HostVehicleData_VehicleWheels_WheelData) GetRotationRate() float64

func (*HostVehicleData_VehicleWheels_WheelData) GetSlip

func (*HostVehicleData_VehicleWheels_WheelData) ProtoMessage

func (*HostVehicleData_VehicleWheels_WheelData) ProtoReflect

func (*HostVehicleData_VehicleWheels_WheelData) Reset

func (*HostVehicleData_VehicleWheels_WheelData) String

type Identifier

type Identifier struct {

	// The value of the identifier.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Value *uint64 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
	// contains filtered or unexported fields
}

\brief A common identifier (ID), represented as an integer.

Has to be unique among all simulated items at any given time. For ground truth, the identifier of an item (object, lane, sign, etc.) must remain stable over its lifetime. \c Identifier values may be only be reused if the available address space is exhausted and the specific values have not been in use for several time steps. Sensor specific tracking IDs have no restrictions and should behave according to the sensor specifications. Purely simulation technical IDs, like sensor IDs, are not required to be unique among all simulated items, but rather unique within the context of the given message type.

The value MAX(uint64) = 2^(64) -1 = 0b1111111111111111111111111111111111111111111111111111111111111111 is reserved and indicates an invalid ID or error.

func (*Identifier) Descriptor deprecated

func (*Identifier) Descriptor() ([]byte, []int)

Deprecated: Use Identifier.ProtoReflect.Descriptor instead.

func (*Identifier) GetValue

func (x *Identifier) GetValue() uint64

func (*Identifier) ProtoMessage

func (*Identifier) ProtoMessage()

func (*Identifier) ProtoReflect

func (x *Identifier) ProtoReflect() protoreflect.Message

func (*Identifier) Reset

func (x *Identifier) Reset()

func (*Identifier) String

func (x *Identifier) String() string

type InterfaceVersion

type InterfaceVersion struct {

	// Major version number.
	VersionMajor *uint32 `protobuf:"varint,1,opt,name=version_major,json=versionMajor" json:"version_major,omitempty"`
	// Minor version number.
	VersionMinor *uint32 `protobuf:"varint,2,opt,name=version_minor,json=versionMinor" json:"version_minor,omitempty"`
	// Patch version number.
	VersionPatch *uint32 `protobuf:"varint,3,opt,name=version_patch,json=versionPatch" json:"version_patch,omitempty"`
	// contains filtered or unexported fields
}

\brief The interface version number.

The field denoting the version number. This needs to be set by the sender to the actual OSI version that is to be sent. Code wanting to access the version number of the OSI code base can access a FileOptions, which has the proper values, like this:

\code auto currentInterfaceVersion =

InterfaceVersion::descriptor()->file()->options().GetExtension(current_interface_version);

\endcode

If a message with all components set to the default value 0 is received, this indicates that either that the message was sent by a version 2.2.0 or earlier release, or that the sender did not properly set the version components prior to sending.

Increments will happen as part of changes to the whole interface. The meaning of different InterfaceVersions is defined in [1].

\par Reference: [1] Open Simulation Interface. (2020, January 25). <em>README</em>. Retrieved January 25, 2020, from https://opensimulationinterface.github.io/osi-documentation/open-simulation-interface/README.html

func (*InterfaceVersion) Descriptor deprecated

func (*InterfaceVersion) Descriptor() ([]byte, []int)

Deprecated: Use InterfaceVersion.ProtoReflect.Descriptor instead.

func (*InterfaceVersion) GetVersionMajor

func (x *InterfaceVersion) GetVersionMajor() uint32

func (*InterfaceVersion) GetVersionMinor

func (x *InterfaceVersion) GetVersionMinor() uint32

func (*InterfaceVersion) GetVersionPatch

func (x *InterfaceVersion) GetVersionPatch() uint32

func (*InterfaceVersion) ProtoMessage

func (*InterfaceVersion) ProtoMessage()

func (*InterfaceVersion) ProtoReflect

func (x *InterfaceVersion) ProtoReflect() protoreflect.Message

func (*InterfaceVersion) Reset

func (x *InterfaceVersion) Reset()

func (*InterfaceVersion) String

func (x *InterfaceVersion) String() string

type KeyValuePair

type KeyValuePair struct {

	// A generic string key.
	Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	// A generic string value.
	Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
	// contains filtered or unexported fields
}

\brief Generic key-value pair structure

A generic key-value pair structure which can be used to capture information which is opaque to the general OSI interface.

func (*KeyValuePair) Descriptor deprecated

func (*KeyValuePair) Descriptor() ([]byte, []int)

Deprecated: Use KeyValuePair.ProtoReflect.Descriptor instead.

func (*KeyValuePair) GetKey

func (x *KeyValuePair) GetKey() string

func (*KeyValuePair) GetValue

func (x *KeyValuePair) GetValue() string

func (*KeyValuePair) ProtoMessage

func (*KeyValuePair) ProtoMessage()

func (*KeyValuePair) ProtoReflect

func (x *KeyValuePair) ProtoReflect() protoreflect.Message

func (*KeyValuePair) Reset

func (x *KeyValuePair) Reset()

func (*KeyValuePair) String

func (x *KeyValuePair) String() string

type Lane

type Lane struct {

	// The ID of the lane.
	// Example: l4 (see reference picture HighwayExit).
	//
	// \note Note ID is global unique.
	//
	// \rules
	// is_globally_unique
	// is_set
	// \endrules
	Id *Identifier `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// The classification of the lane.
	Classification *Lane_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// Optional external reference to the lane source.
	//
	// The external reference points to the source of the lane, if it is derived
	// from one or more objects or external references.
	//
	// For example, to reference a lane defined in an OpenDRIVE map
	// the items should be set as follows:
	//   - reference = URI to map, can remain empty if identical with definition
	//     in \c GroundTruth::map_reference
	//   - type = "net.asam.opendrive"
	//   - identifier[0] = id of t_road
	//   - identifier[1] = s of t_road_lanes_laneSection
	//   - identifier[2] = id of t_road_lanes_laneSection_left_lane,
	//     t_road_lanes_laneSection_right_lane
	//
	// \note For non-ASAM Standards, it is implementation-specific how
	//
	//	source_reference is resolved.
	//
	// \note The value has to be repeated, because one lane segment may be
	//
	//	derived from more than one origin segment. Multiple sources
	//	may be added as reference as well, for example, a map and sensors.
	SourceReference []*ExternalReference `protobuf:"bytes,3,rep,name=source_reference,json=sourceReference" json:"source_reference,omitempty"`
	// contains filtered or unexported fields
}

\brief A lane in the road network.

A lane is part of a road and mainly characterized by its center line. It also knows about any adjacent lanes, antecessor and successor lanes. The following images will be referred to by later comments. The lane l4 in image HighwayExit is used as reference if not mentioned otherwise.

<table border=0> <tr> <td> \image html OSI_Highway_Exit.svg "" width=550px <td> \image html OSI_LaneIntersection.svg "" width=550px <tr> <td> \image html OSI_Highway_Exit.jpg "HighwayExit" width=650px <td> \image html OSI_LaneIntersection.jpg "Intersection" width=650px </table>

\note In the examples, the symbols l1, l2, ... and lb1, lb2, ... stand for the lane ids and lane boundary ids respectively, i.e. for integers (uint64). The symbols cl1, cl2, ... represent the osi3::Lane::Classification::centerline elements of the lanes with the respective ids.

func (*Lane) Descriptor deprecated

func (*Lane) Descriptor() ([]byte, []int)

Deprecated: Use Lane.ProtoReflect.Descriptor instead.

func (*Lane) GetClassification

func (x *Lane) GetClassification() *Lane_Classification

func (*Lane) GetId

func (x *Lane) GetId() *Identifier

func (*Lane) GetSourceReference

func (x *Lane) GetSourceReference() []*ExternalReference

func (*Lane) ProtoMessage

func (*Lane) ProtoMessage()

func (*Lane) ProtoReflect

func (x *Lane) ProtoReflect() protoreflect.Message

func (*Lane) Reset

func (x *Lane) Reset()

func (*Lane) String

func (x *Lane) String() string

type LaneBoundary

type LaneBoundary struct {

	// The ID of the lane boundary.
	//
	// \rules
	// is_globally_unique
	// \endrules
	Id *Identifier `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// \note For dashed lines, one \c BoundaryPoint has to be at the start and
	// another at the end of each dashed line segment. The first
	// \c BoundaryPoint defines the beginning of the first dashed lane marking.
	// The last \c BoundaryPoint defines the end of the last dashed lane
	// marking.
	// \note For Botts' dots lines, one \c BoundaryPoint position has to define
	// each Botts' dot.
	//
	// \attention For \c BoundaryPoint the same rule for the approximation
	// error applies as for \c Lane::Classification::centerline.
	//
	// \rules
	// first_element width is_equal_to 0.13
	// first_element height is_equal_to 0.14
	// last_element width is_equal_to 0.13
	// last_element height is_equal_to 0.13
	// \endrules
	BoundaryLine []*LaneBoundary_BoundaryPoint `protobuf:"bytes,2,rep,name=boundary_line,json=boundaryLine" json:"boundary_line,omitempty"`
	// The classification of the lane boundary.
	Classification *LaneBoundary_Classification `protobuf:"bytes,3,opt,name=classification" json:"classification,omitempty"`
	// Optional external reference to the lane boundary source.
	//
	// \note For OpenDRIVE, there is no direct possibility to reference the
	//
	//	RoadMark, as there is no unique identifier in this sub-object.
	//
	// \note For non-ASAM Standards, it is implementation-specific how
	//
	//	source_reference is resolved.
	//
	// \note The value has to be repeated because one object may be derived
	//
	//	from more than one origin source, for example, from a scenario file
	//	and from sensors.
	SourceReference []*ExternalReference `protobuf:"bytes,4,rep,name=source_reference,json=sourceReference" json:"source_reference,omitempty"`
	// The visual color of the material of the lane boundary.
	//
	// \note This does not represent the semantic classification but the visual
	// appearance. For semantic classification of the lane boundary use the color
	// field in \c Classification.
	ColorDescription *ColorDescription `protobuf:"bytes,5,opt,name=color_description,json=colorDescription" json:"color_description,omitempty"`
	// contains filtered or unexported fields
}

\brief A lane boundary defining the border of a lane.

The left and right lane boundary define the width of the lane. Additionally, free markings can be defined, e.g. at construction sites. Free markings across multiple lanes may be defined multiple times for all affected lanes.

\image html OSI_LaneBoundary.svg "LaneBoundary" width=800px

\note In the example, the symbols l1, l2, ... and lb1, lb2, ... stand for the lane ids and lane boundary ids respectively, i.e. for integers (uint64). The symbols bp2_{i+1}, bp2_{i}, bp2_{i-1} stand for \c #osi3::LaneBoundary::BoundaryPoint elements.

func (*LaneBoundary) Descriptor deprecated

func (*LaneBoundary) Descriptor() ([]byte, []int)

Deprecated: Use LaneBoundary.ProtoReflect.Descriptor instead.

func (*LaneBoundary) GetBoundaryLine

func (x *LaneBoundary) GetBoundaryLine() []*LaneBoundary_BoundaryPoint

func (*LaneBoundary) GetClassification

func (x *LaneBoundary) GetClassification() *LaneBoundary_Classification

func (*LaneBoundary) GetColorDescription

func (x *LaneBoundary) GetColorDescription() *ColorDescription

func (*LaneBoundary) GetId

func (x *LaneBoundary) GetId() *Identifier

func (*LaneBoundary) GetSourceReference

func (x *LaneBoundary) GetSourceReference() []*ExternalReference

func (*LaneBoundary) ProtoMessage

func (*LaneBoundary) ProtoMessage()

func (*LaneBoundary) ProtoReflect

func (x *LaneBoundary) ProtoReflect() protoreflect.Message

func (*LaneBoundary) Reset

func (x *LaneBoundary) Reset()

func (*LaneBoundary) String

func (x *LaneBoundary) String() string

type LaneBoundary_BoundaryPoint

type LaneBoundary_BoundaryPoint struct {

	// The position of the \c BoundaryPoint.
	Position *Vector3D `protobuf:"bytes,1,opt,name=position" json:"position,omitempty"`
	// The overall width of the lane boundary at the position of the
	// \c BoundaryPoint .
	// Used for lines forming lane markings.
	//
	// \image html OSI_LaneBoundaryWidth.svg "" width=600px
	//
	// \note Field need not be set if it is defined previous.
	// See \c LaneBoundary.
	Width *float64 `protobuf:"fixed64,2,opt,name=width" json:"width,omitempty"`
	// The overall height of the lane boundary at the position of the
	// \c BoundaryPoint .
	// Used for guard rails, curbstone, or similar.
	//
	// \image html OSI_LaneBoundaryHeight.svg "" width=600px
	//
	// \note Field need not be set if it is previously defined.
	//
	// \note The boundary point height should not be used to model the boundary
	//
	//	between two adjacent lanes at different heights as a single, shared
	//	boundary.
	//	Boundaries between adjacent lanes at different heights should be
	//	modeled as two separate lane boundaries.
	//
	// See \c LaneBoundary .
	Height *float64 `protobuf:"fixed64,3,opt,name=height" json:"height,omitempty"`
	// Alternation of dashes in case of a dashed lane boundary. In
	// context, this field gives information about the location of
	// dashes on the boundary line.
	Dash *LaneBoundary_BoundaryPoint_Dash `protobuf:"varint,4,opt,name=dash,enum=osi3.LaneBoundary_BoundaryPoint_Dash" json:"dash,omitempty"`
	// contains filtered or unexported fields
}

\brief A single point of a lane boundary.

\image html OSI_LaneBoundaries_And_CenterLine.svg "" width=800px

\note cl: center line lb: lane boundary

\image html OSI_LaneBoundary.svg "" width=800px

The lane boundary point bp2_{i} is one of the points of lane boundary lb2.

\note In the example, the symbols l1, l2, ... and lb1, lb2, ... stand for the lane ids and lane boundary ids respectively, i.e. for integers (uint64). The symbols bp2_{i+1}, bp2_{i}, bp2_{i-1} stand for \c #osi3::LaneBoundary::BoundaryPoint elements.

func (*LaneBoundary_BoundaryPoint) Descriptor deprecated

func (*LaneBoundary_BoundaryPoint) Descriptor() ([]byte, []int)

Deprecated: Use LaneBoundary_BoundaryPoint.ProtoReflect.Descriptor instead.

func (*LaneBoundary_BoundaryPoint) GetDash

func (*LaneBoundary_BoundaryPoint) GetHeight

func (x *LaneBoundary_BoundaryPoint) GetHeight() float64

func (*LaneBoundary_BoundaryPoint) GetPosition

func (x *LaneBoundary_BoundaryPoint) GetPosition() *Vector3D

func (*LaneBoundary_BoundaryPoint) GetWidth

func (x *LaneBoundary_BoundaryPoint) GetWidth() float64

func (*LaneBoundary_BoundaryPoint) ProtoMessage

func (*LaneBoundary_BoundaryPoint) ProtoMessage()

func (*LaneBoundary_BoundaryPoint) ProtoReflect

func (*LaneBoundary_BoundaryPoint) Reset

func (x *LaneBoundary_BoundaryPoint) Reset()

func (*LaneBoundary_BoundaryPoint) String

func (x *LaneBoundary_BoundaryPoint) String() string

type LaneBoundary_BoundaryPoint_Dash

type LaneBoundary_BoundaryPoint_Dash int32

This enum describes the alternation of dashes in case of a dashed lane boundary.

\note The enum descriptions adhere to the definition direction of the lane boundary points. This means that start or end of a dash are understood with respect to the direction in which the points of the boundary line are defined.

const (
	// The current state of the dash alternation is not known (must
	// not be used in ground truth).
	LaneBoundary_BoundaryPoint_DASH_UNKNOWN LaneBoundary_BoundaryPoint_Dash = 0
	// Other (unspecified but known) type of dash alternation state.
	LaneBoundary_BoundaryPoint_DASH_OTHER LaneBoundary_BoundaryPoint_Dash = 1
	// The current \c BoundaryPoint indicates the start of a dash.
	LaneBoundary_BoundaryPoint_DASH_START LaneBoundary_BoundaryPoint_Dash = 2
	// The current \c BoundaryPoint is located on a dash of a dashed
	// line. This enables a dash to continue across multiple points.
	LaneBoundary_BoundaryPoint_DASH_CONTINUE LaneBoundary_BoundaryPoint_Dash = 3
	// The current \c BoundaryPoint indicates the end of a dash.
	LaneBoundary_BoundaryPoint_DASH_END LaneBoundary_BoundaryPoint_Dash = 4
	// The current \c BoundaryPoint is located in the gap between
	// two dashes. When used to describe a first/last point of a lane
	// boundary, it indicates that the lane boundary starts/ends in
	// a gap.
	LaneBoundary_BoundaryPoint_DASH_GAP LaneBoundary_BoundaryPoint_Dash = 5
)

func (LaneBoundary_BoundaryPoint_Dash) Descriptor

func (LaneBoundary_BoundaryPoint_Dash) Enum

func (LaneBoundary_BoundaryPoint_Dash) EnumDescriptor deprecated

func (LaneBoundary_BoundaryPoint_Dash) EnumDescriptor() ([]byte, []int)

Deprecated: Use LaneBoundary_BoundaryPoint_Dash.Descriptor instead.

func (LaneBoundary_BoundaryPoint_Dash) Number

func (LaneBoundary_BoundaryPoint_Dash) String

func (LaneBoundary_BoundaryPoint_Dash) Type

func (*LaneBoundary_BoundaryPoint_Dash) UnmarshalJSON deprecated

func (x *LaneBoundary_BoundaryPoint_Dash) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type LaneBoundary_Classification

type LaneBoundary_Classification struct {

	// The type of the lane boundary.
	Type *LaneBoundary_Classification_Type `protobuf:"varint,1,opt,name=type,enum=osi3.LaneBoundary_Classification_Type" json:"type,omitempty"`
	// The semantic color of the lane boundary in case of lane markings.
	//
	// \note The color types represent the semantic classification of
	// lane markings only. They do not represent an actual visual appearance.
	Color *LaneBoundary_Classification_Color `protobuf:"varint,2,opt,name=color,enum=osi3.LaneBoundary_Classification_Color" json:"color,omitempty"`
	// The ids of \c StationaryObject which limit the corresponding lane.
	// This field must be set if the \c #type is set to
	// \c #TYPE_STRUCTURE
	//
	// \rules
	// refers_to: StationaryObject
	// \endrules
	LimitingStructureId []*Identifier `protobuf:"bytes,3,rep,name=limiting_structure_id,json=limitingStructureId" json:"limiting_structure_id,omitempty"`
	// contains filtered or unexported fields
}

\brief \c Classification of a lane boundary.

<table border = 0> <tr> <td> <table border=0> <tr> <td> <b> Image Intersection </b> <tr> <td> <tr> <td> \c Classification for lane boundaries lb2 and lb9: </td> </tr> <tr> <td> <table border = 0> <tr> <td> \c #type = #TYPE_DASHED_LINE <tr> <td> \c #color = #COLOR_WHITE <tr> </table> </td> </tr> <tr> <td> \c Classification for lane boundaries lb1, lb3, lb4, lb7, lb8, lb10, lb11, lb12 and lb14: </td> </tr> <tr> <td> <table border = 0> <tr> <td> \c #type = #TYPE_SOLID_LINE <tr> <td> \c #color = #COLOR_WHITE <tr> </table> </td> </tr> <tr> <td> \c Classification for lane boundaries lb5, lb6 and lb13: </td> </tr> <tr> <td> <table border = 0> <tr> <td> \c #type = #TYPE_CURB </table> </td> </tr> </table> </td> <td> <table border=0> <tr> <td> \image html OSI_LaneIntersection.svg "" width=500px </td> <tr> <td> \image html OSI_LaneBoundaryClassification.jpg "" width=600px </td> </table> </td> </tr> </table>

\note In the example, the symbols l1, l2, ... and lb1, lb2, ... stand for the lane ids and lane boundary ids respectively, i.e. for integers (uint64). The symbols cl1, cl2, ... represent the osi3::Lane::Classification::centerline elements of the lanes with the respective ids.

func (*LaneBoundary_Classification) Descriptor deprecated

func (*LaneBoundary_Classification) Descriptor() ([]byte, []int)

Deprecated: Use LaneBoundary_Classification.ProtoReflect.Descriptor instead.

func (*LaneBoundary_Classification) GetColor

func (*LaneBoundary_Classification) GetLimitingStructureId

func (x *LaneBoundary_Classification) GetLimitingStructureId() []*Identifier

func (*LaneBoundary_Classification) GetType

func (*LaneBoundary_Classification) ProtoMessage

func (*LaneBoundary_Classification) ProtoMessage()

func (*LaneBoundary_Classification) ProtoReflect

func (*LaneBoundary_Classification) Reset

func (x *LaneBoundary_Classification) Reset()

func (*LaneBoundary_Classification) String

func (x *LaneBoundary_Classification) String() string

type LaneBoundary_Classification_Color

type LaneBoundary_Classification_Color int32

The semantic color of the lane boundary in case of a lane markings. Lane markings that alternate in color must be represented by individual \c LaneBoundary segments.

\note The color types represent the semantic color classification of lane markings only. They do not represent an actual visual appearance.

const (
	// Color of marking is unknown. Value must not be used in ground
	// truth.
	LaneBoundary_Classification_COLOR_UNKNOWN LaneBoundary_Classification_Color = 0
	// Other (unspecified but known) color.
	LaneBoundary_Classification_COLOR_OTHER LaneBoundary_Classification_Color = 1
	// Marking without color. Used to represent logical boundaries
	// without actual physical markings at the respective position.
	// Value may be used in ground truth only.
	LaneBoundary_Classification_COLOR_NONE LaneBoundary_Classification_Color = 2
	// Marking with white color.
	LaneBoundary_Classification_COLOR_WHITE LaneBoundary_Classification_Color = 3
	// Marking with yellow / orange-yellow color.
	LaneBoundary_Classification_COLOR_YELLOW LaneBoundary_Classification_Color = 4
	// Marking with red color
	LaneBoundary_Classification_COLOR_RED LaneBoundary_Classification_Color = 5
	// Marking with blue color.
	LaneBoundary_Classification_COLOR_BLUE LaneBoundary_Classification_Color = 6
	// Marking with green color;
	LaneBoundary_Classification_COLOR_GREEN LaneBoundary_Classification_Color = 7
	// Marking with violet color.
	LaneBoundary_Classification_COLOR_VIOLET LaneBoundary_Classification_Color = 8
	// Marking with orange color.
	LaneBoundary_Classification_COLOR_ORANGE LaneBoundary_Classification_Color = 9
)

func (LaneBoundary_Classification_Color) Descriptor

func (LaneBoundary_Classification_Color) Enum

func (LaneBoundary_Classification_Color) EnumDescriptor deprecated

func (LaneBoundary_Classification_Color) EnumDescriptor() ([]byte, []int)

Deprecated: Use LaneBoundary_Classification_Color.Descriptor instead.

func (LaneBoundary_Classification_Color) Number

func (LaneBoundary_Classification_Color) String

func (LaneBoundary_Classification_Color) Type

func (*LaneBoundary_Classification_Color) UnmarshalJSON deprecated

func (x *LaneBoundary_Classification_Color) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type LaneBoundary_Classification_Type

type LaneBoundary_Classification_Type int32

The lane boundary type. There is no special representation for double lines, e.g. solid / solid or dashed / solid. In such cases, each lane will define its own side of the lane boundary.

const (
	// The type of lane boundary is unknown. Value must not be used in
	// ground truth.
	LaneBoundary_Classification_TYPE_UNKNOWN LaneBoundary_Classification_Type = 0
	// Unspecified but known type of lane boundary.
	// Consider proposing an additional type if using TYPE_OTHER.
	LaneBoundary_Classification_TYPE_OTHER LaneBoundary_Classification_Type = 1
	// An invisible lane boundary.
	LaneBoundary_Classification_TYPE_NO_LINE LaneBoundary_Classification_Type = 2
	// A solid line at the lane boundary.
	LaneBoundary_Classification_TYPE_SOLID_LINE LaneBoundary_Classification_Type = 3
	// A dashed line at the lane boundary.
	LaneBoundary_Classification_TYPE_DASHED_LINE LaneBoundary_Classification_Type = 4
	// A lane boundary consisting of Botts' dots (multiple Botts dots).
	LaneBoundary_Classification_TYPE_BOTTS_DOTS LaneBoundary_Classification_Type = 5
	// A lane boundary formed by the road's edge.
	// The road edge is the end of the (paved) road surface.
	LaneBoundary_Classification_TYPE_ROAD_EDGE LaneBoundary_Classification_Type = 6
	// A lane boundary formed by a snow edge that may be on the road
	// surface.
	LaneBoundary_Classification_TYPE_SNOW_EDGE LaneBoundary_Classification_Type = 7
	// A lane boundary covered by grass.
	LaneBoundary_Classification_TYPE_GRASS_EDGE LaneBoundary_Classification_Type = 8
	// A lane boundary covered by gravel.
	LaneBoundary_Classification_TYPE_GRAVEL_EDGE LaneBoundary_Classification_Type = 9
	// A lane boundary covered by soil.
	LaneBoundary_Classification_TYPE_SOIL_EDGE LaneBoundary_Classification_Type = 10
	// A guard rail.
	LaneBoundary_Classification_TYPE_GUARD_RAIL LaneBoundary_Classification_Type = 11
	// A curb.
	LaneBoundary_Classification_TYPE_CURB LaneBoundary_Classification_Type = 12
	// A structure (e.g. building or tunnel wall).
	LaneBoundary_Classification_TYPE_STRUCTURE LaneBoundary_Classification_Type = 13
	// A barrier to guide vehicles and to prevent them from entering other lanes (e.g. a concrete barrier on a highway).
	LaneBoundary_Classification_TYPE_BARRIER LaneBoundary_Classification_Type = 14
	// A sound barrier.
	LaneBoundary_Classification_TYPE_SOUND_BARRIER LaneBoundary_Classification_Type = 15
)

func (LaneBoundary_Classification_Type) Descriptor

func (LaneBoundary_Classification_Type) Enum

func (LaneBoundary_Classification_Type) EnumDescriptor deprecated

func (LaneBoundary_Classification_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use LaneBoundary_Classification_Type.Descriptor instead.

func (LaneBoundary_Classification_Type) Number

func (LaneBoundary_Classification_Type) String

func (LaneBoundary_Classification_Type) Type

func (*LaneBoundary_Classification_Type) UnmarshalJSON deprecated

func (x *LaneBoundary_Classification_Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type Lane_Classification

type Lane_Classification struct {

	// The type of the lane.
	//
	// Example: For l4 in image \ref HighwayExit the \c #type is \c
	// #TYPE_DRIVING.
	Type *Lane_Classification_Type `protobuf:"varint,1,opt,name=type,enum=osi3.Lane_Classification_Type" json:"type,omitempty"`
	// Indicates that the host vehicle travels on this particular lane.
	// The host vehicle may travel on more than one lane at once. This does
	// also apply for the \c CandidateLane in the \c DetectedLane .
	IsHostVehicleLane *bool `protobuf:"varint,2,opt,name=is_host_vehicle_lane,json=isHostVehicleLane" json:"is_host_vehicle_lane,omitempty"`
	// The lane's center line (as a list of segments).
	//
	// The centerline describes the middle of the lane.
	//
	// \image html OSI_LaneCenterline.svg "Centerline" width=500px
	//
	// Example: In image \ref HighwayExit,
	// the centerline of lane l4 (black line) is given by
	// (cl4_1, cl4_2, cl4_3, cl4_4, cl4_5).
	//
	// \image html OSI_LaneBoundaries_And_CenterLine.svg "Centerline" width=500px
	//
	// \note
	// cl: center line
	// lb: lane boundary
	//
	// \attention The points describing the center line must be set in the
	// same ordering (ascending or descending) as the points describing the
	// lane boundaries. Example: If the points are deducted from a map format,
	// the order of points is recommended to be in line with the road coordinate
	// (e.g. s-coordinate in OpenDRIVE).
	//
	// \attention The points describing the center line might be set at
	// arbitrary distances. When the points are pairwise linearly connected,
	// the lateral distance to the real ideal line (as used by the
	// simulation environment internally) must not exceed 5cm. As shown in
	// the following image:
	//
	// \image html line_approximation_error.svg "Approximation error"
	// Approximation error green line.
	//
	// \note The center line is the line that a typical vehicle follows more
	// or less (depending on the situation, a little more to the left or
	// right of the center line). The intended direction of travel on the
	// lane is given by the direction defined by the sequence of points
	// forming the \c #centerline w.r.t. \c
	// #centerline_is_driving_direction.
	//
	// \note The \c #centerline is defined only for \c #type =
	// \c #TYPE_DRIVING and if exactly one or no \c #lane_pairing pair
	// exists.
	//
	// \note Intersections and non-driving lanes do not have a center line.
	// A vehicle must calculate this individually and depending on the
	// situation.
	Centerline []*Vector3D `protobuf:"bytes,3,rep,name=centerline" json:"centerline,omitempty"`
	// Definition of the intended driving direction.
	//
	// Defined and used for driving lanes.
	// \c true means driving direction is according to ascending storage
	// order of center line points. \c false means driving direction is
	// according to descending storage order of center line points.
	//
	// Example: \c #centerline_is_driving_direction = \c true for lane l4
	// and \c #centerline_is_driving_direction = \c false for lane l2 in
	// image \ref HighwayExit .
	//
	// \note The \c #centerline_is_driving_direction is defined for \c #type
	// = \c #TYPE_DRIVING .
	CenterlineIsDrivingDirection *bool `` /* 143-byte string literal not displayed */
	// List of IDs of all lane segments that are directly adjacent to the
	// lane on the left side (w.r.t. ascending order of centerline points
	// and lane boundary points). Note that lengths of lane segments are
	// not synchronized and therefore there are multiple adjacent segments
	// if there is a split/merge point in the adjacent lane.
	//
	// Example: The lane l3 is the only left adjacent lane for lane l4
	// in image \ref HighwayExit.
	//
	// \note The \c #left_adjacent_lane_id is undefined for \c #type =
	// \c #TYPE_INTERSECTION .
	//
	// \note OSI uses singular instead of plural for repeated field names.
	//
	// \rules
	// check_if this.type is_different_to 4 else do_check is_set
	// \endrules
	LeftAdjacentLaneId []*Identifier `protobuf:"bytes,5,rep,name=left_adjacent_lane_id,json=leftAdjacentLaneId" json:"left_adjacent_lane_id,omitempty"`
	// List of IDs of all lane segments that are directly adjacent to the
	// lane on the right side (w.r.t. ascending order of centerline points
	// and lane boundary points). Note that lengths of lane segments are
	// not synchronized and therefore there are multiple adjacent segments
	// if there is a split/merge point in the adjacent lane.
	//
	// Example: \c #right_adjacent_lane_id = (l5, l6)
	// for lane l4 in image \ref HighwayExit.
	//
	// \note The \c #right_adjacent_lane_id is undefined for \c #type =
	// \c #TYPE_INTERSECTION .
	//
	// \note OSI uses singular instead of plural for repeated field names.
	//
	// \rules
	// check_if this.type is_different_to 4 else do_check is_set
	// \endrules
	RightAdjacentLaneId []*Identifier `protobuf:"bytes,6,rep,name=right_adjacent_lane_id,json=rightAdjacentLaneId" json:"right_adjacent_lane_id,omitempty"`
	// The antecessor/successor lane pairings of this lane. There can be
	// multiple pairings with the same antecessor and different successor
	// lanes and vice versa. The antecessor lanes end in the same point that
	// this lane starts from. The successor lanes start in the same point
	// that this lane ends in.
	//
	// Example: See image \ref Intersection.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	LanePairing []*Lane_Classification_LanePairing `protobuf:"bytes,7,rep,name=lane_pairing,json=lanePairing" json:"lane_pairing,omitempty"`
	// The right adjacent lane boundaries \c #right_lane_boundary_id may
	// only be shared with/as the left adjacent lane boundaries \c
	// #left_lane_boundary_id of the nearest right adjacent lane \c
	// #right_adjacent_lane_id.
	//
	// Example: \c #right_lane_boundary_id =
	// (lb9, lb6) for reference lane l4 in image \ref HighwayExit.
	//
	// \note Empty for intersections.
	//
	// \note The \c #right_lane_boundary_id is undefined for \c #type =
	// \c #TYPE_INTERSECTION .
	//
	// \note OSI uses singular instead of plural for repeated field names.
	//
	// \note The boundary between adjacent lanes at different heights
	//
	//	(e.g. a curb between a driving lane and a sidewalk)
	//	should not be shared, but modeled as two separate lane
	//	boundaries with individual ids. One for the upper, the
	//	other one for the lower lane.
	//
	// \rules
	// check_if this.type is_different_to 4 else do_check is_set
	// \endrules
	RightLaneBoundaryId []*Identifier `protobuf:"bytes,8,rep,name=right_lane_boundary_id,json=rightLaneBoundaryId" json:"right_lane_boundary_id,omitempty"`
	// The left adjacent lane boundaries \c #left_lane_boundary_id may only
	// be shared with/as the right adjacent lane boundaries \c
	// #right_lane_boundary_id of the nearest left adjacent lane \c
	// #left_adjacent_lane_id.
	//
	// Example: \c #left_lane_boundary_id = lb5 for lane l4 in image \ref
	// HighwayExit.
	//
	// \note Empty for intersections.
	//
	// \note The \c #left_lane_boundary_id is undefined for \c #type =
	// \c #TYPE_INTERSECTION .
	//
	// \note OSI uses singular instead of plural for repeated field names.
	//
	// \note The boundary between adjacent lanes at different heights
	//
	//	(e.g. a curb between a driving lane and a sidewalk)
	//	should not be shared, but modeled as two separate lane
	//	boundaries with individual ids. One for the upper, the
	//	other one for the lower lane.
	//
	// \rules
	// check_if this.type is_different_to 4 else do_check is_set
	// \endrules
	LeftLaneBoundaryId []*Identifier `protobuf:"bytes,9,rep,name=left_lane_boundary_id,json=leftLaneBoundaryId" json:"left_lane_boundary_id,omitempty"`
	// The free boundaries which have no/unknown assignment to left/right.
	//
	// Example: \c #free_lane_boundary_id = lb11 for lane l7 in image \ref
	// Intersection.
	//
	// \note \c Lane with \c #type = \c #TYPE_INTERSECTION use only free
	// lane boundaries.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	//
	// \rules
	// check_if this.type is_different_to 4 else do_check is_set
	// \endrules
	FreeLaneBoundaryId []*Identifier `protobuf:"bytes,10,rep,name=free_lane_boundary_id,json=freeLaneBoundaryId" json:"free_lane_boundary_id,omitempty"`
	// The condition of the lane, e.g. influenced by weather.
	RoadCondition *Lane_Classification_RoadCondition `protobuf:"bytes,11,opt,name=road_condition,json=roadCondition" json:"road_condition,omitempty"`
	// The subtype of the lane.
	//
	// This subtype specifies a lane more concretely.
	Subtype *Lane_Classification_Subtype `protobuf:"varint,12,opt,name=subtype,enum=osi3.Lane_Classification_Subtype" json:"subtype,omitempty"`
	// contains filtered or unexported fields
}

\brief \c Classification of a lane.

<table border = 0> <tr> <td> \anchor HighwayExit \image html OSI_LaneClassification.jpg "HighwayExit" width=800px </td> <td> <table border=0> <tr> <td> <b> \c Classification for lane l4 in image HighwayExit: </b> <tr> <td> \c #type = \c #TYPE_DRIVING <tr> <td> \c #centerline = (cl4_1, cl4_2, cl4_3, cl4_4, cl4_5) <tr> <td> \c #centerline_is_driving_direction = \c true <tr> <td> \c #is_host_vehicle_lane = \c true <tr> <td> \c #left_adjacent_lane_id = l3 <tr> <td> \c #right_adjacent_lane_id = (l5,l6) <tr> <td> \c #left_lane_boundary_id = lb5 <tr> <td> \c #right_lane_boundary_id = (lb9, lb6) </table> </td> </tr> <tr> <td> \anchor Intersection \image html OSI_LaneIntersection.jpg "Intersection" width=800px </td> <td> <table border=0> <tr> <td> <b> \c Classification for lane l7 in image Intersection: </b> </td> </tr> <tr> <td> \c #type = \c #TYPE_INTERSECTION </td> </tr> <tr> <td> \c #is_host_vehicle_lane = \c false </td> </tr> <tr> <td> \c #free_lane_boundary_id = lb11 </td> </tr> <tr> <td> <border = 0> <tr> <td> \c #lane_pairing = ( <td> (l2,l1), (l2,l3), (l2,l5), <tr> <td> <td> (l4,l1), (l4,l3), (l4,l5), <tr> <td> <td> (l6,l1), (l6,l3), (l6,l5) ) </table> </td> </tr> </table> </td> </tr> </table>

\note In the examples, the symbols l1, l2, ... and lb1, lb2, ... stand for the lane ids and lane boundary ids respectively, i.e. for integers (uint64). The symbols cl1, cl2, ... represent the osi3::Lane::Classification::centerline elements of the lanes with the respective ids. The symbols cl1_1, cl1_2, ... stand for \c #osi3::Vector3d elements.

func (*Lane_Classification) Descriptor deprecated

func (*Lane_Classification) Descriptor() ([]byte, []int)

Deprecated: Use Lane_Classification.ProtoReflect.Descriptor instead.

func (*Lane_Classification) GetCenterline

func (x *Lane_Classification) GetCenterline() []*Vector3D

func (*Lane_Classification) GetCenterlineIsDrivingDirection

func (x *Lane_Classification) GetCenterlineIsDrivingDirection() bool

func (*Lane_Classification) GetFreeLaneBoundaryId

func (x *Lane_Classification) GetFreeLaneBoundaryId() []*Identifier

func (*Lane_Classification) GetIsHostVehicleLane

func (x *Lane_Classification) GetIsHostVehicleLane() bool

func (*Lane_Classification) GetLanePairing

func (*Lane_Classification) GetLeftAdjacentLaneId

func (x *Lane_Classification) GetLeftAdjacentLaneId() []*Identifier

func (*Lane_Classification) GetLeftLaneBoundaryId

func (x *Lane_Classification) GetLeftLaneBoundaryId() []*Identifier

func (*Lane_Classification) GetRightAdjacentLaneId

func (x *Lane_Classification) GetRightAdjacentLaneId() []*Identifier

func (*Lane_Classification) GetRightLaneBoundaryId

func (x *Lane_Classification) GetRightLaneBoundaryId() []*Identifier

func (*Lane_Classification) GetRoadCondition

func (*Lane_Classification) GetSubtype

func (*Lane_Classification) GetType

func (*Lane_Classification) ProtoMessage

func (*Lane_Classification) ProtoMessage()

func (*Lane_Classification) ProtoReflect

func (x *Lane_Classification) ProtoReflect() protoreflect.Message

func (*Lane_Classification) Reset

func (x *Lane_Classification) Reset()

func (*Lane_Classification) String

func (x *Lane_Classification) String() string

type Lane_Classification_LanePairing

type Lane_Classification_LanePairing struct {

	// The antecessor lane ID.
	//
	// \rules
	// refers_to: Lane
	// \endrules
	AntecessorLaneId *Identifier `protobuf:"bytes,1,opt,name=antecessor_lane_id,json=antecessorLaneId" json:"antecessor_lane_id,omitempty"`
	// The successor lane ID.
	//
	// \rules
	// refers_to: Lane
	// \endrules
	SuccessorLaneId *Identifier `protobuf:"bytes,2,opt,name=successor_lane_id,json=successorLaneId" json:"successor_lane_id,omitempty"`
	// contains filtered or unexported fields
}

\brief The lane ID pairings of antecessor and successor lanes.

<table border = 0> <tr> <td> \image html OSI_LaneIntersection.svg "" width=600px </td> <td> <table border=0> <tr> <td> <b> \c LanePairing for lane l7: </b> </td> </tr> <tr> <td> <table border = 0> <tr> <td> (l2,l1), (l2,l3), (l2,l5), <tr> <td> (l4,l1), (l4,l3), (l4,l5), <tr> <td> (l6,l1), (l6,l3), (l6,l5) </table> </td> </tr> </table> </td> </tr> </table>

\note In the example, the symbols l1, l2, ... stand for the respective lane ids, i.e. for integers (uint64). The symbols cl1, cl2, ... represent the osi3::Lane::Classification::centerline elements of the lanes with the respective ids.

func (*Lane_Classification_LanePairing) Descriptor deprecated

func (*Lane_Classification_LanePairing) Descriptor() ([]byte, []int)

Deprecated: Use Lane_Classification_LanePairing.ProtoReflect.Descriptor instead.

func (*Lane_Classification_LanePairing) GetAntecessorLaneId

func (x *Lane_Classification_LanePairing) GetAntecessorLaneId() *Identifier

func (*Lane_Classification_LanePairing) GetSuccessorLaneId

func (x *Lane_Classification_LanePairing) GetSuccessorLaneId() *Identifier

func (*Lane_Classification_LanePairing) ProtoMessage

func (*Lane_Classification_LanePairing) ProtoMessage()

func (*Lane_Classification_LanePairing) ProtoReflect

func (*Lane_Classification_LanePairing) Reset

func (*Lane_Classification_LanePairing) String

type Lane_Classification_RoadCondition

type Lane_Classification_RoadCondition struct {

	// The temperature of the roads surface in Kelvin.
	//
	// Unit: K
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	SurfaceTemperature *float64 `protobuf:"fixed64,1,opt,name=surface_temperature,json=surfaceTemperature" json:"surface_temperature,omitempty"`
	// The height of the water film on top of the surface in mm.
	//
	// Unit: mm
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	SurfaceWaterFilm *float64 `protobuf:"fixed64,2,opt,name=surface_water_film,json=surfaceWaterFilm" json:"surface_water_film,omitempty"`
	// The temperature where the water on top of the surface would start
	// to freeze or dew in Kelvin.
	//
	// Unit: K
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	SurfaceFreezingPoint *float64 `protobuf:"fixed64,3,opt,name=surface_freezing_point,json=surfaceFreezingPoint" json:"surface_freezing_point,omitempty"`
	// The percentage of ice covering the road.
	//
	// Unit: %
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	SurfaceIce *float64 `protobuf:"fixed64,4,opt,name=surface_ice,json=surfaceIce" json:"surface_ice,omitempty"`
	// The coefficient representing the roughness or unevenness of the
	// road. International Roughness Index (IRI) [1] values range from 0
	// = smooth ground (equivalent to driving on a plate of glass) up to
	// >
	// 20 mm/m (a very rough road).
	//
	// Estimated value ranges (IRI):
	// 0.0 mm/m absolutely perfect evenness
	// 0.3 -  1.8 mm/m airport runways and superhighways
	// 1.4 -  3.4 mm/m new pavements
	// 2.2 -  5.7 mm/m older pavements
	// 3.2 -  9.8 mm/m maintained unpaved roads
	// 4.0 - 11.0 mm/m damaged pavements
	// 8.0 - >
	// 20 mm/m rough unpaved roads
	//
	// Speed of normal use (IRI):
	// 30 km/h - 20   mm/m
	// 50 km/h - 14.5 mm/m
	// 60 km/h - 10.0 mm/m
	// 80 km/h -  8.5 mm/m
	// 100 km/h -  3.4 mm/m
	//
	// Road conditions (IRI);
	// 15 mm/m erosion gulleys and deep depressions
	// 11 mm/m frequent shallow depressions, some deep
	// 9 mm/m frequent minor depressions
	// 5 mm/m surface imperfections
	//
	// Unit: mm/m
	//
	// \par Reference:
	// [1] Sayers, M. W. & Karamihas, S. M. (1998). <em>Little Book of Profiling</em>. University of Michigan Transportation Research Institute. Retrieved January 25, 2020, from http://www.umtri.umich.edu/content/LittleBook98R.pdf pp. 45 ff.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	SurfaceRoughness *float64 `protobuf:"fixed64,5,opt,name=surface_roughness,json=surfaceRoughness" json:"surface_roughness,omitempty"`
	// The surface texture or fine roughness
	//
	// Whereas the IRI-based roughness or unevenness measure only takes
	// into account road wavelengths around 0.5 m - 100 m, the surface
	// texture or fine roughness [1] measures only wavelengths below
	// 0.5 m. It is given as the standard height deviation of fine
	// roughness
	//
	// Unit: m
	//
	// \par Reference:
	// [1] Schneider, R. (1998). <em>Modellierung der Wellenausbreitung fuer ein bildgebendes Kfz-Radar</em>. PhD thesis. Karlsruhe, Germany. Universitaet Karlsruhe, Fak. f. Elektrotechnik.
	SurfaceTexture *float64 `protobuf:"fixed64,6,opt,name=surface_texture,json=surfaceTexture" json:"surface_texture,omitempty"`
	// contains filtered or unexported fields
}

\brief The condition of the road surface.

func (*Lane_Classification_RoadCondition) Descriptor deprecated

func (*Lane_Classification_RoadCondition) Descriptor() ([]byte, []int)

Deprecated: Use Lane_Classification_RoadCondition.ProtoReflect.Descriptor instead.

func (*Lane_Classification_RoadCondition) GetSurfaceFreezingPoint

func (x *Lane_Classification_RoadCondition) GetSurfaceFreezingPoint() float64

func (*Lane_Classification_RoadCondition) GetSurfaceIce

func (x *Lane_Classification_RoadCondition) GetSurfaceIce() float64

func (*Lane_Classification_RoadCondition) GetSurfaceRoughness

func (x *Lane_Classification_RoadCondition) GetSurfaceRoughness() float64

func (*Lane_Classification_RoadCondition) GetSurfaceTemperature

func (x *Lane_Classification_RoadCondition) GetSurfaceTemperature() float64

func (*Lane_Classification_RoadCondition) GetSurfaceTexture

func (x *Lane_Classification_RoadCondition) GetSurfaceTexture() float64

func (*Lane_Classification_RoadCondition) GetSurfaceWaterFilm

func (x *Lane_Classification_RoadCondition) GetSurfaceWaterFilm() float64

func (*Lane_Classification_RoadCondition) ProtoMessage

func (*Lane_Classification_RoadCondition) ProtoMessage()

func (*Lane_Classification_RoadCondition) ProtoReflect

func (*Lane_Classification_RoadCondition) Reset

func (*Lane_Classification_RoadCondition) String

type Lane_Classification_Subtype

type Lane_Classification_Subtype int32

Definition of available lane subtypes, aligned with OpenDRIVE.

const (
	// Lane of unknown subtype. Do not use in ground truth.
	Lane_Classification_SUBTYPE_UNKNOWN Lane_Classification_Subtype = 0
	// Any other subtype of lane.
	Lane_Classification_SUBTYPE_OTHER Lane_Classification_Subtype = 1
	// A normal driving lane.
	// Example: Lanes with IDs l1, l2, l3 and l4 in image \ref
	// HighwayExit.
	//
	// Since it is intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_DRIVING.
	Lane_Classification_SUBTYPE_NORMAL Lane_Classification_Subtype = 2
	// A lane that is designated for bicycles.
	//
	// Since it is not intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_NONDRIVING.
	Lane_Classification_SUBTYPE_BIKING Lane_Classification_Subtype = 3
	// A lane that is designated for pedestrians (sidewalk).
	//
	// Since it is not intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_NONDRIVING.
	Lane_Classification_SUBTYPE_SIDEWALK Lane_Classification_Subtype = 4
	// A lane with parking spaces.
	//
	// Since it is not intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_NONDRIVING.
	Lane_Classification_SUBTYPE_PARKING Lane_Classification_Subtype = 5
	// A hard shoulder on motorways for emergency stops.
	// Example: Lane l5 in image \ref
	// HighwayExit.
	//
	// Since it is not intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_NONDRIVING.
	Lane_Classification_SUBTYPE_STOP Lane_Classification_Subtype = 6
	// A lane on which cars should not drive.
	//
	// Since it is not intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_NONDRIVING.
	Lane_Classification_SUBTYPE_RESTRICTED Lane_Classification_Subtype = 7
	// A hard border on the edge of a road.
	//
	// Since it is not intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_NONDRIVING.
	Lane_Classification_SUBTYPE_BORDER Lane_Classification_Subtype = 8
	// A soft border on the edge of a road.
	//
	// Since it is not intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_NONDRIVING.
	Lane_Classification_SUBTYPE_SHOULDER Lane_Classification_Subtype = 9
	// A deceleration lane in parallel to the main road.
	// Example: Lane l6 in image \ref
	// HighwayExit.
	//
	// Since it is intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_DRIVING.
	Lane_Classification_SUBTYPE_EXIT Lane_Classification_Subtype = 10
	// An acceleration lane in parallel to the main road.
	//
	// Since it is intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_DRIVING.
	Lane_Classification_SUBTYPE_ENTRY Lane_Classification_Subtype = 11
	// A ramp from rural or urban roads joining a motorway.
	//
	// Since it is intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_DRIVING.
	Lane_Classification_SUBTYPE_ONRAMP Lane_Classification_Subtype = 12
	// A ramp leading off a motorway onto rural or urban roads.
	//
	// Since it is intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_DRIVING.
	Lane_Classification_SUBTYPE_OFFRAMP Lane_Classification_Subtype = 13
	// A ramp that connect two motorways.
	//
	// Since it is intended to be used for normal automotive
	// driving, it should be used in combination with TYPE_DRIVING.
	Lane_Classification_SUBTYPE_CONNECTINGRAMP Lane_Classification_Subtype = 14
)

func (Lane_Classification_Subtype) Descriptor

func (Lane_Classification_Subtype) Enum

func (Lane_Classification_Subtype) EnumDescriptor deprecated

func (Lane_Classification_Subtype) EnumDescriptor() ([]byte, []int)

Deprecated: Use Lane_Classification_Subtype.Descriptor instead.

func (Lane_Classification_Subtype) Number

func (Lane_Classification_Subtype) String

func (Lane_Classification_Subtype) Type

func (*Lane_Classification_Subtype) UnmarshalJSON deprecated

func (x *Lane_Classification_Subtype) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type Lane_Classification_Type

type Lane_Classification_Type int32

Definition of available lane types.

const (
	// Lane of unknown type (must not be used in ground truth).
	Lane_Classification_TYPE_UNKNOWN Lane_Classification_Type = 0
	// Any other type of lane.
	Lane_Classification_TYPE_OTHER Lane_Classification_Type = 1
	// A normal lane.
	// Example: Lanes with IDs l1, l2, l3, l4 and l6 in image \ref
	// HighwayExit.
	Lane_Classification_TYPE_DRIVING Lane_Classification_Type = 2
	// A road where driving is normally not permitted.
	// Example: Lane with ID l5 in image \ref HighwayExit.
	Lane_Classification_TYPE_NONDRIVING Lane_Classification_Type = 3
	// An intersection as a lane.
	// Example: Lane with ID l7 in image \ref Intersection.
	//
	// \image html OSI_X-Junction.svg "" width=600px
	Lane_Classification_TYPE_INTERSECTION Lane_Classification_Type = 4
)

func (Lane_Classification_Type) Descriptor

func (Lane_Classification_Type) Enum

func (Lane_Classification_Type) EnumDescriptor deprecated

func (Lane_Classification_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use Lane_Classification_Type.Descriptor instead.

func (Lane_Classification_Type) Number

func (Lane_Classification_Type) String

func (x Lane_Classification_Type) String() string

func (Lane_Classification_Type) Type

func (*Lane_Classification_Type) UnmarshalJSON deprecated

func (x *Lane_Classification_Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type LidarDetection

type LidarDetection struct {

	// Existence probability of the detection not based on history. Value does
	// not depend on any past experience with similar detections.
	//
	// \note Used as confidence measure where a low value means less confidence
	// and a high value indicates strong confidence.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	ExistenceProbability *float64 `protobuf:"fixed64,1,opt,name=existence_probability,json=existenceProbability" json:"existence_probability,omitempty"`
	// ID of the detected object this detection is associated to.
	//
	// \note ID = MAX(uint64) indicates no reference to an object.
	//
	// \rules
	// refers_to: DetectedObject
	// \endrules
	ObjectId *Identifier `protobuf:"bytes,2,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	// Measured position of the detection given in spherical coordinates in the
	// sensor coordinate system.
	Position *Spherical3D `protobuf:"bytes,3,opt,name=position" json:"position,omitempty"`
	// Root mean squared error of the measured position of the detection.
	PositionRmse *Spherical3D `protobuf:"bytes,4,opt,name=position_rmse,json=positionRmse" json:"position_rmse,omitempty"`
	// The height value which is required when multiple scan points are
	// vertically clustered. Only vertical clustering is allowed (z-axis).
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Height *float64 `protobuf:"fixed64,5,opt,name=height" json:"height,omitempty"`
	// Root mean squared error of the object height.
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	HeightRmse *float64 `protobuf:"fixed64,6,opt,name=height_rmse,json=heightRmse" json:"height_rmse,omitempty"`
	// Intensity or equivalent value of the detection's echo.
	//
	// Unit: %
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 100
	// \endrules
	Intensity *float64 `protobuf:"fixed64,7,opt,name=intensity" json:"intensity,omitempty"`
	// The free space probability in the range [0.0, 1.0] from the origin of the
	// sensor up to this detection, as given by the distance.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	FreeSpaceProbability *float64 `protobuf:"fixed64,8,opt,name=free_space_probability,json=freeSpaceProbability" json:"free_space_probability,omitempty"`
	// Basic classification of the detection.
	Classification *DetectionClassification `protobuf:"varint,9,opt,name=classification,enum=osi3.DetectionClassification" json:"classification,omitempty"`
	// Lambertian reflectivity.
	Reflectivity *float64 `protobuf:"fixed64,10,opt,name=reflectivity" json:"reflectivity,omitempty"`
	// Echo pulse width of the detection's echo.
	// Several sensors output an echo pulse width instead of an intensity for each individual detection.
	// The echo pulse is measured in m and measures the extent of the object parts or atmospheric particles that produce the echo.
	// \note For more details see [1] Fig. 7 and 8.
	// \note Fig. 7 shows an example where the two echos are reflected from the edges A-B and C-D.
	// \note Fig. 8 shows how the echo pulse width is measured as the range between the rising edge and the falling edge that crosses the intensity threshold.
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	//
	// \par Reference:
	// [1] Rosenberger, P., Holder, M.F., Cianciaruso, N. et al. (2020). <em>Sequential lidar sensor system simulation: a modular approach for simulation-based safety validation of automated driving</em> Automotive Engine Technology 5, Fig 7, Fig 8. Retrieved May 10, 2021, from https://doi.org/10.1007/s41104-020-00066-x
	EchoPulseWidth *float64 `protobuf:"fixed64,11,opt,name=echo_pulse_width,json=echoPulseWidth" json:"echo_pulse_width,omitempty"`
	// Radial velocity of the detection positive in direction to the sensor.
	//
	// Unit: m/s
	RadialVelocity *float64 `protobuf:"fixed64,12,opt,name=radial_velocity,json=radialVelocity" json:"radial_velocity,omitempty"`
	// ID of the corresponding lidar beam.
	BeamId *Identifier `protobuf:"bytes,13,opt,name=beam_id,json=beamId" json:"beam_id,omitempty"`
	// contains filtered or unexported fields
}

\brief A point or vertical line in a lidar point cloud.

func (*LidarDetection) Descriptor deprecated

func (*LidarDetection) Descriptor() ([]byte, []int)

Deprecated: Use LidarDetection.ProtoReflect.Descriptor instead.

func (*LidarDetection) GetBeamId

func (x *LidarDetection) GetBeamId() *Identifier

func (*LidarDetection) GetClassification

func (x *LidarDetection) GetClassification() DetectionClassification

func (*LidarDetection) GetEchoPulseWidth

func (x *LidarDetection) GetEchoPulseWidth() float64

func (*LidarDetection) GetExistenceProbability

func (x *LidarDetection) GetExistenceProbability() float64

func (*LidarDetection) GetFreeSpaceProbability

func (x *LidarDetection) GetFreeSpaceProbability() float64

func (*LidarDetection) GetHeight

func (x *LidarDetection) GetHeight() float64

func (*LidarDetection) GetHeightRmse

func (x *LidarDetection) GetHeightRmse() float64

func (*LidarDetection) GetIntensity

func (x *LidarDetection) GetIntensity() float64

func (*LidarDetection) GetObjectId

func (x *LidarDetection) GetObjectId() *Identifier

func (*LidarDetection) GetPosition

func (x *LidarDetection) GetPosition() *Spherical3D

func (*LidarDetection) GetPositionRmse

func (x *LidarDetection) GetPositionRmse() *Spherical3D

func (*LidarDetection) GetRadialVelocity

func (x *LidarDetection) GetRadialVelocity() float64

func (*LidarDetection) GetReflectivity

func (x *LidarDetection) GetReflectivity() float64

func (*LidarDetection) ProtoMessage

func (*LidarDetection) ProtoMessage()

func (*LidarDetection) ProtoReflect

func (x *LidarDetection) ProtoReflect() protoreflect.Message

func (*LidarDetection) Reset

func (x *LidarDetection) Reset()

func (*LidarDetection) String

func (x *LidarDetection) String() string

type LidarDetectionData

type LidarDetectionData struct {

	// Header attributes of lidar detection from one lidar sensor.
	Header *SensorDetectionHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// List of lidar detections.
	Detection []*LidarDetection `protobuf:"bytes,2,rep,name=detection" json:"detection,omitempty"`
	// contains filtered or unexported fields
}

\brief Data from one lidar sensor including a list of detections.

func (*LidarDetectionData) Descriptor deprecated

func (*LidarDetectionData) Descriptor() ([]byte, []int)

Deprecated: Use LidarDetectionData.ProtoReflect.Descriptor instead.

func (*LidarDetectionData) GetDetection

func (x *LidarDetectionData) GetDetection() []*LidarDetection

func (*LidarDetectionData) GetHeader

func (x *LidarDetectionData) GetHeader() *SensorDetectionHeader

func (*LidarDetectionData) ProtoMessage

func (*LidarDetectionData) ProtoMessage()

func (*LidarDetectionData) ProtoReflect

func (x *LidarDetectionData) ProtoReflect() protoreflect.Message

func (*LidarDetectionData) Reset

func (x *LidarDetectionData) Reset()

func (*LidarDetectionData) String

func (x *LidarDetectionData) String() string

type LidarSensorView

type LidarSensorView struct {

	// Lidar view configuration valid at the time the data was created.
	ViewConfiguration *LidarSensorViewConfiguration `protobuf:"bytes,1,opt,name=view_configuration,json=viewConfiguration" json:"view_configuration,omitempty"`
	// Ray tracing data.
	//
	// This field includes one entry for each ray, in left-to-right,
	// top-to-bottom order (think of scan lines in a TV).
	Reflection []*LidarSensorView_Reflection `protobuf:"bytes,2,rep,name=reflection" json:"reflection,omitempty"`
	// contains filtered or unexported fields
}

\brief Definition of the lidar sensor view.

Lidar specific sensor view data.

func (*LidarSensorView) Descriptor deprecated

func (*LidarSensorView) Descriptor() ([]byte, []int)

Deprecated: Use LidarSensorView.ProtoReflect.Descriptor instead.

func (*LidarSensorView) GetReflection

func (x *LidarSensorView) GetReflection() []*LidarSensorView_Reflection

func (*LidarSensorView) GetViewConfiguration

func (x *LidarSensorView) GetViewConfiguration() *LidarSensorViewConfiguration

func (*LidarSensorView) ProtoMessage

func (*LidarSensorView) ProtoMessage()

func (*LidarSensorView) ProtoReflect

func (x *LidarSensorView) ProtoReflect() protoreflect.Message

func (*LidarSensorView) Reset

func (x *LidarSensorView) Reset()

func (*LidarSensorView) String

func (x *LidarSensorView) String() string

type LidarSensorViewConfiguration

type LidarSensorViewConfiguration struct {

	// The ID of the sensor at host vehicle's mounting_position.
	//
	// This is the ID of the physical sensor, to be used in its detected
	// features output; it is distinct from the ID of its virtual sensor.
	//
	// The ID is to be provided by the environment simulation, the sensor
	// model is not in a position to provide a useful default value.
	SensorId *Identifier `protobuf:"bytes,1,opt,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// The physical mounting position of the sensor (origin and orientation
	// of the sensor coordinate system) given in vehicle coordinates [1].
	// The physical position pertains to this detector individually, and
	// governs the sensor-relative coordinates in features detected by this
	// detector.
	//
	// \arg \b x-direction of sensor coordinate system: sensor viewing direction
	// \arg \b z-direction of sensor coordinate system: sensor (up)
	// \arg \b y-direction of sensor coordinate system: perpendicular to x and z
	// right hand system
	//
	// \par Reference:
	// [1] DIN Deutsches Institut fuer Normung e. V. (2013). <em>DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe</em>. (DIN ISO 8855:2013-11). Berlin, Germany.
	//
	// \note The origin of vehicle's coordinate system in world frame is
	// ( \c MovingObject::base . \c BaseMoving::position +
	// Inverse_Rotation_yaw_pitch_roll( \c MovingObject::base . \c
	// BaseMoving::orientation) * \c
	// MovingObject::VehicleAttributes::bbcenter_to_rear) . The orientation of
	// the vehicle's coordinate system is equal to the orientation of the
	// vehicle's bounding box \c MovingObject::base . \c
	// BaseMoving::orientation. \note A default position can be provided by the
	// sensor model (e.g. to indicate the position the model was validated for),
	// but this is optional; the environment simulation must provide a valid
	// mounting position (based on the vehicle configuration) when setting the
	// view configuration.
	MountingPosition *MountingPosition `protobuf:"bytes,2,opt,name=mounting_position,json=mountingPosition" json:"mounting_position,omitempty"`
	// The root mean squared error of the mounting position.
	MountingPositionRmse *MountingPosition `protobuf:"bytes,3,opt,name=mounting_position_rmse,json=mountingPositionRmse" json:"mounting_position_rmse,omitempty"`
	// Field of View in horizontal orientation of the physical sensor.
	//
	// Viewing range: [- \c #field_of_view_horizontal/2,  \c
	// #field_of_view_horizontal/2] azimuth in the sensor frame as defined in \c
	// Spherical3d.
	//
	// Unit: rad
	FieldOfViewHorizontal *float64 `protobuf:"fixed64,4,opt,name=field_of_view_horizontal,json=fieldOfViewHorizontal" json:"field_of_view_horizontal,omitempty"`
	// Field of View in vertical orientation of the physical sensor.
	//
	// Viewing range: [- \c #field_of_view_vertical/2,  \c
	// #field_of_view_vertical/2] elevation in the sensor frame at zero azimuth
	// as defined in \c Spherical3d.
	//
	// Unit: rad
	FieldOfViewVertical *float64 `protobuf:"fixed64,5,opt,name=field_of_view_vertical,json=fieldOfViewVertical" json:"field_of_view_vertical,omitempty"`
	// Number of rays to cast across horizontal field of view.
	//
	// \note This is a characteristic of the ray tracing engine of the
	// environment simulation, not a direct characteristic of the sensor.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	NumberOfRaysHorizontal *uint32 `protobuf:"varint,6,opt,name=number_of_rays_horizontal,json=numberOfRaysHorizontal" json:"number_of_rays_horizontal,omitempty"`
	// Number of rays to cast across vertical field of view.
	//
	// \note This is a characteristic of the ray tracing engine of the
	// environment simulation, not a direct characteristic of the sensor.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	NumberOfRaysVertical *uint32 `protobuf:"varint,7,opt,name=number_of_rays_vertical,json=numberOfRaysVertical" json:"number_of_rays_vertical,omitempty"`
	// Maximum number of interactions to take into account.
	//
	// \note This is a characteristic of the ray tracing engine of the
	// environment simulation, not a direct characteristic of the sensor.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	MaxNumberOfInteractions *uint32 `` /* 128-byte string literal not displayed */
	// Emitter Frequency.
	//
	// This information can be used by a ray tracing engine to calculate
	// doppler shift information and take into account differences in
	// refraction and reflection. For doppler shift calculations the
	// sensor model can of course always provide a nominal frequency and
	// adjust the resulting doppler shift information to actual frequency
	// through frequency adjustments. For material and geometry interaction
	// purposes the frequency is also relevant.
	//
	// Unit: Hz
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	EmitterFrequency *float64 `protobuf:"fixed64,9,opt,name=emitter_frequency,json=emitterFrequency" json:"emitter_frequency,omitempty"`
	// Number of pixels in frame.
	//
	// # This field includes the number of pixels in each frame
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	NumOfPixels *uint32 `protobuf:"varint,10,opt,name=num_of_pixels,json=numOfPixels" json:"num_of_pixels,omitempty"`
	// Ray tracing data.
	//
	// The directions unit vectors describing the Lidar's raster transmission
	// directions. Length is num_of_pixels \note data is in Lidar's coordinate
	// system
	Directions []*Vector3D `protobuf:"bytes,11,rep,name=directions" json:"directions,omitempty"`
	// Ray tracing data.
	//
	// The time offset in microseconds of every measurement from each frame
	// timestamp. Length is num_of_pixels
	Timings []uint32 `protobuf:"varint,12,rep,name=timings" json:"timings,omitempty"`
	// contains filtered or unexported fields
}

\brief The configuration settings for the Lidar Sensor View to be provided by the environment simulation.

func (*LidarSensorViewConfiguration) Descriptor deprecated

func (*LidarSensorViewConfiguration) Descriptor() ([]byte, []int)

Deprecated: Use LidarSensorViewConfiguration.ProtoReflect.Descriptor instead.

func (*LidarSensorViewConfiguration) GetDirections

func (x *LidarSensorViewConfiguration) GetDirections() []*Vector3D

func (*LidarSensorViewConfiguration) GetEmitterFrequency

func (x *LidarSensorViewConfiguration) GetEmitterFrequency() float64

func (*LidarSensorViewConfiguration) GetFieldOfViewHorizontal

func (x *LidarSensorViewConfiguration) GetFieldOfViewHorizontal() float64

func (*LidarSensorViewConfiguration) GetFieldOfViewVertical

func (x *LidarSensorViewConfiguration) GetFieldOfViewVertical() float64

func (*LidarSensorViewConfiguration) GetMaxNumberOfInteractions

func (x *LidarSensorViewConfiguration) GetMaxNumberOfInteractions() uint32

func (*LidarSensorViewConfiguration) GetMountingPosition

func (x *LidarSensorViewConfiguration) GetMountingPosition() *MountingPosition

func (*LidarSensorViewConfiguration) GetMountingPositionRmse

func (x *LidarSensorViewConfiguration) GetMountingPositionRmse() *MountingPosition

func (*LidarSensorViewConfiguration) GetNumOfPixels

func (x *LidarSensorViewConfiguration) GetNumOfPixels() uint32

func (*LidarSensorViewConfiguration) GetNumberOfRaysHorizontal

func (x *LidarSensorViewConfiguration) GetNumberOfRaysHorizontal() uint32

func (*LidarSensorViewConfiguration) GetNumberOfRaysVertical

func (x *LidarSensorViewConfiguration) GetNumberOfRaysVertical() uint32

func (*LidarSensorViewConfiguration) GetSensorId

func (x *LidarSensorViewConfiguration) GetSensorId() *Identifier

func (*LidarSensorViewConfiguration) GetTimings

func (x *LidarSensorViewConfiguration) GetTimings() []uint32

func (*LidarSensorViewConfiguration) ProtoMessage

func (*LidarSensorViewConfiguration) ProtoMessage()

func (*LidarSensorViewConfiguration) ProtoReflect

func (*LidarSensorViewConfiguration) Reset

func (x *LidarSensorViewConfiguration) Reset()

func (*LidarSensorViewConfiguration) String

type LidarSensorView_Reflection

type LidarSensorView_Reflection struct {

	// Relative signal level of the reflection.
	//
	// This takes the signal losses due to scattering and absorption
	// into account, and will, when multiplied by TX power yield the
	// potential RX power (disregarding any other RX/TX losses).
	//
	// Unit: dB
	SignalStrength *float64 `protobuf:"fixed64,1,opt,name=signal_strength,json=signalStrength" json:"signal_strength,omitempty"`
	// Time of flight.
	//
	// This is the time of flight of the reflection, which is directly
	// proportional to the distance traveled.
	//
	// Unit: s
	TimeOfFlight *float64 `protobuf:"fixed64,2,opt,name=time_of_flight,json=timeOfFlight" json:"time_of_flight,omitempty"`
	// Doppler shift.
	//
	// Shift in frequency based on the specified TX frequency.
	//
	// Unit: Hz
	DopplerShift *float64 `protobuf:"fixed64,3,opt,name=doppler_shift,json=dopplerShift" json:"doppler_shift,omitempty"`
	// normal to surface angle.
	//
	// The normal of the transmitted beam to the object, road marking, etc.
	// encounter. \note data is in Lidar coordinate system
	//
	// Unit: unit vector
	NormalToSurface *Vector3D `protobuf:"bytes,5,opt,name=normal_to_surface,json=normalToSurface" json:"normal_to_surface,omitempty"`
	// ID of the detected object this reflection is associated to.
	// can be used for ray tracing debug
	//
	// \note ID = MAX(uint64) indicates no reference to an object.
	ObjectId *Identifier `protobuf:"bytes,6,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	// contains filtered or unexported fields
}

\brief Definition of the lidar reflection.

func (*LidarSensorView_Reflection) Descriptor deprecated

func (*LidarSensorView_Reflection) Descriptor() ([]byte, []int)

Deprecated: Use LidarSensorView_Reflection.ProtoReflect.Descriptor instead.

func (*LidarSensorView_Reflection) GetDopplerShift

func (x *LidarSensorView_Reflection) GetDopplerShift() float64

func (*LidarSensorView_Reflection) GetNormalToSurface

func (x *LidarSensorView_Reflection) GetNormalToSurface() *Vector3D

func (*LidarSensorView_Reflection) GetObjectId

func (x *LidarSensorView_Reflection) GetObjectId() *Identifier

func (*LidarSensorView_Reflection) GetSignalStrength

func (x *LidarSensorView_Reflection) GetSignalStrength() float64

func (*LidarSensorView_Reflection) GetTimeOfFlight

func (x *LidarSensorView_Reflection) GetTimeOfFlight() float64

func (*LidarSensorView_Reflection) ProtoMessage

func (*LidarSensorView_Reflection) ProtoMessage()

func (*LidarSensorView_Reflection) ProtoReflect

func (*LidarSensorView_Reflection) Reset

func (x *LidarSensorView_Reflection) Reset()

func (*LidarSensorView_Reflection) String

func (x *LidarSensorView_Reflection) String() string

type LidarSpecificObjectData

type LidarSpecificObjectData struct {
	// contains filtered or unexported fields
}

\brief Message encapsulates all data for detected objects that is specific to lidar sensors.

func (*LidarSpecificObjectData) Descriptor deprecated

func (*LidarSpecificObjectData) Descriptor() ([]byte, []int)

Deprecated: Use LidarSpecificObjectData.ProtoReflect.Descriptor instead.

func (*LidarSpecificObjectData) ProtoMessage

func (*LidarSpecificObjectData) ProtoMessage()

func (*LidarSpecificObjectData) ProtoReflect

func (x *LidarSpecificObjectData) ProtoReflect() protoreflect.Message

func (*LidarSpecificObjectData) Reset

func (x *LidarSpecificObjectData) Reset()

func (*LidarSpecificObjectData) String

func (x *LidarSpecificObjectData) String() string

type LogicalDetection

type LogicalDetection struct {

	// Existence probability of the logical detection
	//
	// \note Use as confidence measure where a low value means less confidence
	// and a high value indicates strong confidence.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	ExistenceProbability *float64 `protobuf:"fixed64,1,opt,name=existence_probability,json=existenceProbability" json:"existence_probability,omitempty"`
	// ID of the detected object this logical detection is associated to.
	//
	// \note ID = MAX(uint64) indicates no reference to an object.
	//
	// \rules
	// refers_to: DetectedObject
	// \endrules
	ObjectId *Identifier `protobuf:"bytes,2,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	// Measured position of the logical detection given in cartesian coordinates
	// in the virtual sensor coordinate system.
	//
	// Unit: m
	Position *Vector3D `protobuf:"bytes,3,opt,name=position" json:"position,omitempty"`
	// Root mean squared error of the measured position of the logical detection.
	PositionRmse *Vector3D `protobuf:"bytes,4,opt,name=position_rmse,json=positionRmse" json:"position_rmse,omitempty"`
	// Velocity of the logical detection given in cartesian coordinates in the
	// virtual sensor coordinate system.
	//
	// Unit: m/s
	Velocity *Vector3D `protobuf:"bytes,5,opt,name=velocity" json:"velocity,omitempty"`
	// Root mean squared error of the logical detection's velocity.
	//
	// Unit: m/s
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	VelocityRmse *Vector3D `protobuf:"bytes,6,opt,name=velocity_rmse,json=velocityRmse" json:"velocity_rmse,omitempty"`
	// Intensity or equivalent value of the logical detection's echo.
	//
	// Unit: %
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 100
	// \endrules
	Intensity *float64 `protobuf:"fixed64,7,opt,name=intensity" json:"intensity,omitempty"`
	// The signal to noise ratio (SNR) of the logical detection.
	//
	// Unit: dB
	Snr *float64 `protobuf:"fixed64,8,opt,name=snr" json:"snr,omitempty"`
	// Describes the possibility whether more than one object may have led to
	// this logical detection.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	PointTargetProbability *float64 `protobuf:"fixed64,9,opt,name=point_target_probability,json=pointTargetProbability" json:"point_target_probability,omitempty"`
	// The ID(s) of the sensor(s) that produced the detection(s) for transformation
	// and - in case of multiple sensors - fusion into the single logical detection.
	//
	// \note One logical detection can originate from multiple sensors.
	SensorId []*Identifier `protobuf:"bytes,10,rep,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// Basic classification of the logical detection.
	Classification *LogicalDetectionClassification `protobuf:"varint,11,opt,name=classification,enum=osi3.LogicalDetectionClassification" json:"classification,omitempty"`
	// Echo pulse width of the logical detection's echo.
	// Several sensors output an echo pulse width instead of an intensity for each individual detection.
	// The echo pulse is measured in m and measures the extent of the object parts or atmospheric particles that produce the echo.
	// \note For more details see [1] Fig. 7 and 8.
	// \note Fig. 7 shows an example where the two echos are reflected from the edges A-B and C-D.
	// \note Fig. 8 shows how the echo pulse width is measured as the range between the rising edge and the falling edge that crosses the intensity threshold.
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	//
	// \par Reference:
	// [1] Rosenberger, P., Holder, M.F., Cianciaruso, N. et al. (2020). <em>Sequential lidar sensor system simulation: a modular approach for simulation-based safety validation of automated driving</em> Automotive Engine Technology 5, Fig 7, Fig 8. Retrieved May 10, 2021, from https://doi.org/10.1007/s41104-020-00066-x
	EchoPulseWidth *float64 `protobuf:"fixed64,12,opt,name=echo_pulse_width,json=echoPulseWidth" json:"echo_pulse_width,omitempty"`
	// contains filtered or unexported fields
}

\brief A logical detection that could be based on multiple sensors and sensor types.

func (*LogicalDetection) Descriptor deprecated

func (*LogicalDetection) Descriptor() ([]byte, []int)

Deprecated: Use LogicalDetection.ProtoReflect.Descriptor instead.

func (*LogicalDetection) GetClassification

func (x *LogicalDetection) GetClassification() LogicalDetectionClassification

func (*LogicalDetection) GetEchoPulseWidth

func (x *LogicalDetection) GetEchoPulseWidth() float64

func (*LogicalDetection) GetExistenceProbability

func (x *LogicalDetection) GetExistenceProbability() float64

func (*LogicalDetection) GetIntensity

func (x *LogicalDetection) GetIntensity() float64

func (*LogicalDetection) GetObjectId

func (x *LogicalDetection) GetObjectId() *Identifier

func (*LogicalDetection) GetPointTargetProbability

func (x *LogicalDetection) GetPointTargetProbability() float64

func (*LogicalDetection) GetPosition

func (x *LogicalDetection) GetPosition() *Vector3D

func (*LogicalDetection) GetPositionRmse

func (x *LogicalDetection) GetPositionRmse() *Vector3D

func (*LogicalDetection) GetSensorId

func (x *LogicalDetection) GetSensorId() []*Identifier

func (*LogicalDetection) GetSnr

func (x *LogicalDetection) GetSnr() float64

func (*LogicalDetection) GetVelocity

func (x *LogicalDetection) GetVelocity() *Vector3D

func (*LogicalDetection) GetVelocityRmse

func (x *LogicalDetection) GetVelocityRmse() *Vector3D

func (*LogicalDetection) ProtoMessage

func (*LogicalDetection) ProtoMessage()

func (*LogicalDetection) ProtoReflect

func (x *LogicalDetection) ProtoReflect() protoreflect.Message

func (*LogicalDetection) Reset

func (x *LogicalDetection) Reset()

func (*LogicalDetection) String

func (x *LogicalDetection) String() string

type LogicalDetectionClassification

type LogicalDetectionClassification int32

Definition of basic logical detection classifications.

const (
	// Logical detection is unknown (must not be used in ground truth).
	LogicalDetectionClassification_LOGICAL_DETECTION_CLASSIFICATION_UNKNOWN LogicalDetectionClassification = 0
	// Other (unspecified but known) logical detection.
	LogicalDetectionClassification_LOGICAL_DETECTION_CLASSIFICATION_OTHER LogicalDetectionClassification = 1
	// Invalid logical detection, not to be used for object tracking, of unspecified
	// type (none of the other types applies).
	LogicalDetectionClassification_LOGICAL_DETECTION_CLASSIFICATION_INVALID LogicalDetectionClassification = 2
	// Clutter (noise, spray, rain, fog etc.).
	LogicalDetectionClassification_LOGICAL_DETECTION_CLASSIFICATION_CLUTTER LogicalDetectionClassification = 3
	// Over-drivable (ground etc.).
	LogicalDetectionClassification_LOGICAL_DETECTION_CLASSIFICATION_OVERDRIVABLE LogicalDetectionClassification = 4
	// Under-drivable (sign gantry etc.).
	LogicalDetectionClassification_LOGICAL_DETECTION_CLASSIFICATION_UNDERDRIVABLE LogicalDetectionClassification = 5
)

func (LogicalDetectionClassification) Descriptor

func (LogicalDetectionClassification) Enum

func (LogicalDetectionClassification) EnumDescriptor deprecated

func (LogicalDetectionClassification) EnumDescriptor() ([]byte, []int)

Deprecated: Use LogicalDetectionClassification.Descriptor instead.

func (LogicalDetectionClassification) Number

func (LogicalDetectionClassification) String

func (LogicalDetectionClassification) Type

func (*LogicalDetectionClassification) UnmarshalJSON deprecated

func (x *LogicalDetectionClassification) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type LogicalDetectionData

type LogicalDetectionData struct {

	// The interface version used by the sender (i.e. the simulation
	// environment).
	//
	// \rules
	// is_set
	// \endrules
	Version *InterfaceVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// Header attributes of fused detections from multiple sensors and sensor types.
	Header *LogicalDetectionDataHeader `protobuf:"bytes,2,opt,name=header" json:"header,omitempty"`
	// Logical detections consisting of transformed (and potentially fused)
	// detections from one or multiple sensors and sensor types.
	//
	// The parent frame of a logical detection is the virtual sensor coordinate
	// system specified by \c SensorView::mounting_position .
	//
	// /note The virtual sensor coordinate system is relative to the vehicle
	// coordinate system which has its origin in the center of the rear axle of
	// the ego vehicle. This means if virtual sensor mounting position and
	// orientation are set to (0,0,0) the virtual sensor coordinate system
	// coincides with the vehicle coordinate system.
	LogicalDetection []*LogicalDetection `protobuf:"bytes,3,rep,name=logical_detection,json=logicalDetection" json:"logical_detection,omitempty"`
	// contains filtered or unexported fields
}

\brief Processed data from one or multiple sensors as a list of logical detections. Logical detections are derived from sensor detections in a logical model through processing steps like fusion filtering, tracking etc.

All information is given with respect to the reference frame of the logical/virtual sensor \c SensorView::mounting_position (e.g. center of rear axle of the ego car) in Cartesian coordinates.

func (*LogicalDetectionData) Descriptor deprecated

func (*LogicalDetectionData) Descriptor() ([]byte, []int)

Deprecated: Use LogicalDetectionData.ProtoReflect.Descriptor instead.

func (*LogicalDetectionData) GetHeader

func (*LogicalDetectionData) GetLogicalDetection

func (x *LogicalDetectionData) GetLogicalDetection() []*LogicalDetection

func (*LogicalDetectionData) GetVersion

func (x *LogicalDetectionData) GetVersion() *InterfaceVersion

func (*LogicalDetectionData) ProtoMessage

func (*LogicalDetectionData) ProtoMessage()

func (*LogicalDetectionData) ProtoReflect

func (x *LogicalDetectionData) ProtoReflect() protoreflect.Message

func (*LogicalDetectionData) Reset

func (x *LogicalDetectionData) Reset()

func (*LogicalDetectionData) String

func (x *LogicalDetectionData) String() string

type LogicalDetectionDataHeader

type LogicalDetectionDataHeader struct {

	// Time stamp at which the transformation and optional fusion was finished in the global synchronized time.
	//
	// \note See \c SensorData::timestamp and
	// \c SensorData::last_measurement_time for detailed discussions on the
	// semantics of time-related fields.
	LogicalDetectionTime *Timestamp `protobuf:"bytes,1,opt,name=logical_detection_time,json=logicalDetectionTime" json:"logical_detection_time,omitempty"`
	// Data Qualifier expresses to what extent the content of this event can be
	// relied on.
	DataQualifier *LogicalDetectionDataHeader_DataQualifier `` /* 145-byte string literal not displayed */
	// The current number of valid detections in the logical detections list.
	//
	// \note This value has to be set if the list contains invalid logical detections.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	NumberOfValidLogicalDetections *uint32 `` /* 151-byte string literal not displayed */
	// The ID(s) of the sensor(s) that produced the detections for transformation
	// and - in case of multiple sensors - fusion into logical detections.
	SensorId []*Identifier `protobuf:"bytes,4,rep,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// contains filtered or unexported fields
}

\brief The header attributes of each sensor's logical detections list.

func (*LogicalDetectionDataHeader) Descriptor deprecated

func (*LogicalDetectionDataHeader) Descriptor() ([]byte, []int)

Deprecated: Use LogicalDetectionDataHeader.ProtoReflect.Descriptor instead.

func (*LogicalDetectionDataHeader) GetDataQualifier

func (*LogicalDetectionDataHeader) GetLogicalDetectionTime

func (x *LogicalDetectionDataHeader) GetLogicalDetectionTime() *Timestamp

func (*LogicalDetectionDataHeader) GetNumberOfValidLogicalDetections

func (x *LogicalDetectionDataHeader) GetNumberOfValidLogicalDetections() uint32

func (*LogicalDetectionDataHeader) GetSensorId

func (x *LogicalDetectionDataHeader) GetSensorId() []*Identifier

func (*LogicalDetectionDataHeader) ProtoMessage

func (*LogicalDetectionDataHeader) ProtoMessage()

func (*LogicalDetectionDataHeader) ProtoReflect

func (*LogicalDetectionDataHeader) Reset

func (x *LogicalDetectionDataHeader) Reset()

func (*LogicalDetectionDataHeader) String

func (x *LogicalDetectionDataHeader) String() string

type LogicalDetectionDataHeader_DataQualifier

type LogicalDetectionDataHeader_DataQualifier int32

Data qualifier communicates the overall availability of the interface.

const (
	// Unknown (must not be used in ground truth).
	LogicalDetectionDataHeader_DATA_QUALIFIER_UNKNOWN LogicalDetectionDataHeader_DataQualifier = 0
	// Other (unspecified but known).
	LogicalDetectionDataHeader_DATA_QUALIFIER_OTHER LogicalDetectionDataHeader_DataQualifier = 1
	// Data is available.
	LogicalDetectionDataHeader_DATA_QUALIFIER_AVAILABLE LogicalDetectionDataHeader_DataQualifier = 2
	// Reduced data is available.
	LogicalDetectionDataHeader_DATA_QUALIFIER_AVAILABLE_REDUCED LogicalDetectionDataHeader_DataQualifier = 3
	// Data is not available.
	LogicalDetectionDataHeader_DATA_QUALIFIER_NOT_AVAILABLE LogicalDetectionDataHeader_DataQualifier = 4
	// Sensor is blind.
	LogicalDetectionDataHeader_DATA_QUALIFIER_BLINDNESS LogicalDetectionDataHeader_DataQualifier = 5
	// Sensor temporary available.
	LogicalDetectionDataHeader_DATA_QUALIFIER_TEMPORARY_AVAILABLE LogicalDetectionDataHeader_DataQualifier = 6
	// Sensor invalid.
	LogicalDetectionDataHeader_DATA_QUALIFIER_INVALID LogicalDetectionDataHeader_DataQualifier = 7
)

func (LogicalDetectionDataHeader_DataQualifier) Descriptor

func (LogicalDetectionDataHeader_DataQualifier) Enum

func (LogicalDetectionDataHeader_DataQualifier) EnumDescriptor deprecated

func (LogicalDetectionDataHeader_DataQualifier) EnumDescriptor() ([]byte, []int)

Deprecated: Use LogicalDetectionDataHeader_DataQualifier.Descriptor instead.

func (LogicalDetectionDataHeader_DataQualifier) Number

func (LogicalDetectionDataHeader_DataQualifier) String

func (LogicalDetectionDataHeader_DataQualifier) Type

func (*LogicalDetectionDataHeader_DataQualifier) UnmarshalJSON deprecated

func (x *LogicalDetectionDataHeader_DataQualifier) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type LogicalLane

type LogicalLane struct {

	// The ID of the logical lane.
	//
	// \note Note ID is global unique.
	//
	// \rules
	// is_globally_unique
	// \endrules
	Id *Identifier `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// The type of the logical lane.
	Type *LogicalLane_Type `protobuf:"varint,2,opt,name=type,enum=osi3.LogicalLane_Type" json:"type,omitempty"`
	// Optional external reference to the lane source.
	//
	// The external reference points to the source of the lane, if it is derived
	// from one or more objects or external references.
	//
	// For example, to reference a lane defined in an OpenDRIVE map
	// the items should be set as follows:
	//   - reference = URI to map, can remain empty if identical with definition
	//     in \c GroundTruth::map_reference
	//   - type = "net.asam.opendrive"
	//   - identifier[0] = id of t_road
	//   - identifier[1] = s of t_road_lanes_laneSection
	//   - identifier[2] = id of t_road_lanes_laneSection_left_lane,
	//     t_road_lanes_laneSection_right_lane
	//
	// \note For non-ASAM Standards, it is implementation-specific how
	//
	//	source_reference is resolved.
	//
	// \note The value has to be repeated, because one lane segment may be
	//
	//	derived from more than one origin segment. Multiple sources
	//	may be added as reference as well, for example, a map and sensors.
	SourceReference []*ExternalReference `protobuf:"bytes,3,rep,name=source_reference,json=sourceReference" json:"source_reference,omitempty"`
	// Reference to the physical lanes this logical lane belongs to.
	//
	// This makes it possible to get detailed information on the physical lane
	// properties, e.g. the visual colors of the boundaries, the road
	// condition, etc..
	//
	// Note: a logical lane may consist of several physical lanes (in a row).
	// At any one S position, a logical lane should only reference one physical
	// lane. Several logical lanes may reference the same physical lane (see
	// drawing below).
	//
	// Logical lanes should not extend beyond intersections. All logical lanes
	// on intersections should end at the latest at the border of the
	// intersection.
	//
	// Example:
	// <pre>
	// ---------------------------------
	//
	//	l1                       l2
	//
	// ----------    l3        ---------
	//
	//	l4                       l5
	//
	// ---------------------------------
	// </pre>
	//
	// In this case, we have five physical lanes: l1, l2, l4 and l5 where a
	// lane marking is present. And l3 is one lane covering the whole road
	// (because no road marking is present).
	//
	// This would typically be presented as two logical lanes:
	// - One encompassing l1, part of l3, and l2
	// - The other encompassing l4, part of l3 and l5
	//
	// In this example, both logical lanes would reference l3. Their shared
	// LogicalLaneBoundary would cut through the middle of l3.
	//
	// physical_lane_reference does not give any information how much of the
	// area of a physical lane is covered by a logical lane.
	//
	// For LogicalLanes without a correspondence to a Lane.Classification.Subtype
	// (i.e. TYPE_MEDIAN, TYPE_CURB, TYPE_TRAM, TYPE_RAIL) this field has no value.
	//
	// \rules
	// refers_to: Lane
	// \endrules
	PhysicalLaneReference []*LogicalLane_PhysicalLaneReference `protobuf:"bytes,4,rep,name=physical_lane_reference,json=physicalLaneReference" json:"physical_lane_reference,omitempty"`
	// The \link ReferenceLine reference line\endlink for this logical lane
	//
	// The reference line is used as a coordinate system on this lane.
	//
	// The reference line should roughly have the same shape as the lane, so
	// that S coordinates continually increase/decrease along the lane. It is
	// not required that the reference line has the same direction as the
	// driving direction of the lane.
	//
	// Neighboring lanes (i.e. lanes that are neighbors and whose directions
	// do not diverge significantly) are strongly encouraged to reference the
	// same ReferenceLine, so that vehicles that are next to each other on
	// neighboring lanes have comparable S positions.
	//
	// The S coordinate of the reference line makes it easy to find e.g. which
	// object is next on a lane, using the LogicalLaneAssignment of the
	// objects.
	//
	// The reference trajectory must be sampled such that there are no two
	// positions on the lane more than 5cm apart with the same ST coordinate.
	//
	// \rules
	// refers_to: ReferenceLine
	// \endrules
	ReferenceLineId *Identifier `protobuf:"bytes,5,opt,name=reference_line_id,json=referenceLineId" json:"reference_line_id,omitempty"`
	// Start S position of the lane.
	//
	// Must be in range [\c sStart,\c sEnd] of the reference line.
	StartS *float64 `protobuf:"fixed64,6,opt,name=start_s,json=startS" json:"start_s,omitempty"`
	// End S position of the lane.
	//
	// Must be in range [\c sStart,\c sEnd] of the reference line.
	//
	// Requirement: #end_s > #start_s
	EndS *float64 `protobuf:"fixed64,7,opt,name=end_s,json=endS" json:"end_s,omitempty"`
	// Definition of the intended driving direction.
	MoveDirection *LogicalLane_MoveDirection `` /* 130-byte string literal not displayed */
	// Lanes that are directly right of this lane, without gap or overlap.
	//
	// "Right" is in definition direction (not driving direction), so right lanes
	// have smaller T coordinates.
	// Entries must be ordered: first by #start_s, then by #end_s.
	//
	// The XY positions of the polyline generated by the LogicalLaneBoundaries
	// of adjacent lanes must match up to a small error (5cm).
	// Typically adjacent lanes will share a LogicalLaneBoundary, but this will
	// not always be true. Examples: on intersections, it might be hard to generate
	// data such that lanes that are adjacent for a short length share a
	// LogicalLaneBoundary for this length; also different LogicalLaneBoundaries
	// are needed if the lanes have different heights at their boundaries (e.g.
	// road adjacent to a sidewalk).
	RightAdjacentLane []*LogicalLane_LaneRelation `protobuf:"bytes,9,rep,name=right_adjacent_lane,json=rightAdjacentLane" json:"right_adjacent_lane,omitempty"`
	// Lanes that are directly left of this lane, without gap or overlap.
	//
	// "Left" is in definition direction (not driving direction), so left lanes
	// have larger T coordinates.
	// Entries must be ordered: first by #start_s, then by #end_s.
	//
	// The XY positions of the polyline generated by the LogicalLaneBoundaries
	// of adjacent lanes must match up to a small error (5cm).
	// Typically adjacent lanes will share a LogicalLaneBoundary, but this will
	// not always be true. Examples: on intersections, it might be hard to generate
	// data such that lanes that are adjacent for a short length share a
	// LogicalLaneBoundary for this length; also different LogicalLaneBoundaries
	// are needed if the lanes have different heights at their boundaries (e.g.
	// road adjacent to a sidewalk).
	LeftAdjacentLane []*LogicalLane_LaneRelation `protobuf:"bytes,10,rep,name=left_adjacent_lane,json=leftAdjacentLane" json:"left_adjacent_lane,omitempty"`
	// Lanes that partially or completely overlap this lane.
	//
	// Only overlaps laterally larger than 5cm are considered overlaps for the
	// purpose of this relation.
	//
	// This will typically contain a lot of entries on intersections, but might
	// also be used outside of intersections (e.g. if a #TYPE_BIKING lane
	// overlaps a #TYPE_NORMAL lane).
	//
	// Entries must be ordered: first by #start_s, then by #end_s.
	OverlappingLane []*LogicalLane_LaneRelation `protobuf:"bytes,11,rep,name=overlapping_lane,json=overlappingLane" json:"overlapping_lane,omitempty"`
	// Right boundary of this lane.
	//
	// References to LogicalLaneBoundary elements.
	// All LogicalLaneBoundary elements referenced here must refer to the same
	// ReferenceLine as this lane.
	// The boundaries together must cover the whole length of the lane (the
	// range \[#start_s,#end_s\]) without gap or overlap. The boundaries must be
	// stored in ascending order, starting with the smallest S position.
	// Consecutive boundaries must share a point: the last point of the
	// previous boundary must be identical to the first point of the next
	// boundary.
	//
	// Note: the referenced boundaries may have points outside of
	// \[#start_s,#end_s\] (e.g. a boundary may extend beyond the end of a lane).
	//
	// Note: A curb is a type of LogicalLane and of LaneBoundary.
	// If LogicalLane.Type == TYPE_CURB, by convention this
	// field references the respective LaneBoundary of TYPE_CURB
	// identically to the left_boundary_id of this LogicalLane.
	//
	// \rules
	// refers_to: LogicalLaneBoundary
	// \endrules
	RightBoundaryId []*Identifier `protobuf:"bytes,12,rep,name=right_boundary_id,json=rightBoundaryId" json:"right_boundary_id,omitempty"`
	// Left boundary of this lane.
	//
	// References to LogicalLaneBoundary elements.
	// All LogicalLaneBoundary elements referenced here must refer to the same
	// ReferenceLine as this lane.
	// The boundaries together must cover the whole length of the lane (the
	// range \[#start_s,#end_s\]) without gap or overlap. The boundaries must be
	// stored in ascending order, starting with the smallest S position.
	// Consecutive boundaries must share a point: the last point of the
	// previous boundary must be identical to the first point of the next
	// boundary.
	//
	// Note: the referenced boundaries may have points outside of
	// \[#start_s,#end_s\] (e.g. a boundary may extend beyond the end of a lane).
	//
	// Note: A curb is a type of LogicalLane and of LaneBoundary.
	// If LogicalLane.Type == TYPE_CURB, by convention this
	// field references the respective LaneBoundary of TYPE_CURB.
	// identically to the right_boundary_id of this LogicalLane.
	//
	// \rules
	// refers_to: LogicalLaneBoundary
	// \endrules
	LeftBoundaryId []*Identifier `protobuf:"bytes,13,rep,name=left_boundary_id,json=leftBoundaryId" json:"left_boundary_id,omitempty"`
	// Lanes that directly are connected to this lane at the beginning.
	//
	// "Beginning" is relative to the reference line, so connections at #start_s.
	//
	// Lane predecessors and successors shall only be used to connect lanes if
	// a physical connection at the beginning or end of both lanes exist. Both
	// lanes have a non-zero width at the connection point and they are
	// semantically connected.
	//
	// A lane may have several predecessors e.g. on intersections, or if a wide
	// lane splits into two, or two merge into one.
	PredecessorLane []*LogicalLane_LaneConnection `protobuf:"bytes,14,rep,name=predecessor_lane,json=predecessorLane" json:"predecessor_lane,omitempty"`
	// Lanes that directly are connected to this lane at the end.
	//
	// "End" is relative to the reference line, so connections at #end_s.
	//
	// Lane predecessors and successors shall only be used to connect lanes if
	// a physical connection at the beginning or end of both lanes exist. Both
	// lanes have a non-zero width at the connection point and they are
	// semantically connected.
	//
	// A lane may have several successors e.g. on intersections, or if a wide
	// lane splits into two, or two merge into one.
	SuccessorLane []*LogicalLane_LaneConnection `protobuf:"bytes,15,rep,name=successor_lane,json=successorLane" json:"successor_lane,omitempty"`
	// Name of the street this lane belongs to.
	StreetName *string `protobuf:"bytes,16,opt,name=street_name,json=streetName" json:"street_name,omitempty"`
	// A list of traffic rules on the lane.
	TrafficRule []*LogicalLane_TrafficRule `protobuf:"bytes,17,rep,name=traffic_rule,json=trafficRule" json:"traffic_rule,omitempty"`
	// contains filtered or unexported fields
}

\brief A logical lane in the road network.

A logical lane is part of a road. Compared to a physical lane (OSI type \c Lane), its existence doesn't hinge on the existence of road markings. So e.g. a road with two driving directions but no road markings in-between would be presented as two \link LogicalLane LogicalLanes\endlink, but only one Lane. So one Lane can consist of multiple \link LogicalLane LogicalLanes\endlink. E.g. on intersections, each driving path is one LogicalLane, but the whole area is one \c Lane of type \link osi3::Lane::Classification::TYPE_INTERSECTION \c TYPE_INTERSECTION \endlink.

Outside of intersections, logical lanes are constructed such that each point on the road belongs to at least one (typically: exactly one) logical lane. So there are no gaps between logical lanes, and no areas that don't belong to a logical lane.

If OSI is generated from OpenDRIVE, then \link LogicalLane LogicalLanes\endlink map directly to OpenDRIVE lanes. However, it is allowed to merge multiple consecutive (in S direction) OpenDRIVE lanes with the same type into one OSI LogicalLane: if an OpenDRIVE lane has a single successor, which has the same lane type, and this successor has only one predecessor (so no lane merging or splitting) then the two lanes may be presented as one continuous LogicalLane. This may be done recursively.

The \link ReferenceLine reference line\endlink pointed to by #reference_line_id defines an ST coordinate system for the lane. This ST coordinate system is used to describe positions on the lane.

## Example

The example below shows two logical lanes on an intersection, with a focus on the left-turn lane (\c l1): \image html OSI_LogicalLane1.png "Two logical lanes on an intersection"

Assumptions not shown in the image:

  • This is right-hand traffic (and thus vehicles on \c l1 drive from the bottom to the left, vehicles on \c l2 drive from right to left).
  • The yellow line is a ReferenceLine, defined starting at the bottom, and going to the left.

Some features shown in the image relative to \c l1:

  • The yellow line is the ReferenceLine of \c l1 . The ReferenceLine can be shared with other lanes. Because the ReferenceLine has the same direction as the driving direction of \c l1 in this example, <code>#move_direction == #MOVE_DIRECTION_INCREASING_S</code>.
  • The red line marks the area where \c l2 is left of \c l1 - this info is recorded in #left_adjacent_lane of \c l1.
  • The red area is the area where \c l2 overlaps \c l1. This is recorded in #overlapping_lane of \c l1.

The image below shows the same two lanes, but from the perspective of \c l2: \image html OSI_LogicalLane2.png "Two logical lanes on an intersection"

Assumptions not shown in the image:

  • The yellow line is a ReferenceLine, defined starting at the right, going to the left.

Some features shown in the image relative to \c l2:

  • The yellow line is the ReferenceLine of \c l2 . The ReferenceLine can be shared with other lanes. Because the ReferenceLine has the same direction as the driving direction of \c l2 in this example, <code>#move_direction == #MOVE_DIRECTION_INCREASING_S</code>.
  • The green line marks the area where \c l1 is right of \c l2 - this info is recorded in #right_adjacent_lane of \c l2.
  • The red area is the area where \c l1 overlaps \c l2. This is recorded in #overlapping_lane of \c l1.

As can be seen in the images, the two highlighted lanes are neighbors for part of their length, but it makes no sense for them to have the same reference line, since they diverge significantly.

Note: all the relations shown above are also defined outside of intersections.

func (*LogicalLane) Descriptor deprecated

func (*LogicalLane) Descriptor() ([]byte, []int)

Deprecated: Use LogicalLane.ProtoReflect.Descriptor instead.

func (*LogicalLane) GetEndS

func (x *LogicalLane) GetEndS() float64

func (*LogicalLane) GetId

func (x *LogicalLane) GetId() *Identifier

func (*LogicalLane) GetLeftAdjacentLane

func (x *LogicalLane) GetLeftAdjacentLane() []*LogicalLane_LaneRelation

func (*LogicalLane) GetLeftBoundaryId

func (x *LogicalLane) GetLeftBoundaryId() []*Identifier

func (*LogicalLane) GetMoveDirection

func (x *LogicalLane) GetMoveDirection() LogicalLane_MoveDirection

func (*LogicalLane) GetOverlappingLane

func (x *LogicalLane) GetOverlappingLane() []*LogicalLane_LaneRelation

func (*LogicalLane) GetPhysicalLaneReference

func (x *LogicalLane) GetPhysicalLaneReference() []*LogicalLane_PhysicalLaneReference

func (*LogicalLane) GetPredecessorLane

func (x *LogicalLane) GetPredecessorLane() []*LogicalLane_LaneConnection

func (*LogicalLane) GetReferenceLineId

func (x *LogicalLane) GetReferenceLineId() *Identifier

func (*LogicalLane) GetRightAdjacentLane

func (x *LogicalLane) GetRightAdjacentLane() []*LogicalLane_LaneRelation

func (*LogicalLane) GetRightBoundaryId

func (x *LogicalLane) GetRightBoundaryId() []*Identifier

func (*LogicalLane) GetSourceReference

func (x *LogicalLane) GetSourceReference() []*ExternalReference

func (*LogicalLane) GetStartS

func (x *LogicalLane) GetStartS() float64

func (*LogicalLane) GetStreetName

func (x *LogicalLane) GetStreetName() string

func (*LogicalLane) GetSuccessorLane

func (x *LogicalLane) GetSuccessorLane() []*LogicalLane_LaneConnection

func (*LogicalLane) GetTrafficRule

func (x *LogicalLane) GetTrafficRule() []*LogicalLane_TrafficRule

func (*LogicalLane) GetType

func (x *LogicalLane) GetType() LogicalLane_Type

func (*LogicalLane) ProtoMessage

func (*LogicalLane) ProtoMessage()

func (*LogicalLane) ProtoReflect

func (x *LogicalLane) ProtoReflect() protoreflect.Message

func (*LogicalLane) Reset

func (x *LogicalLane) Reset()

func (*LogicalLane) String

func (x *LogicalLane) String() string

type LogicalLaneAssignment

type LogicalLaneAssignment struct {

	// ID of the LogicalLane the object is assigned to.
	//
	// \rules
	// refers_to: LogicalLane
	// \endrules
	AssignedLaneId *Identifier `protobuf:"bytes,1,opt,name=assigned_lane_id,json=assignedLaneId" json:"assigned_lane_id,omitempty"`
	// S position of the object reference point on the lane, in the ST
	// coordinate system of the lane.
	//
	// #s_position might be outside [s_start,s_end] of the lane (and even
	// outside [startS,endS] of the reference line) if the reference point is
	// outside the lane, but the object overlaps the lane or a TrafficSign or
	// TrafficLight is assigned to a lane.
	SPosition *float64 `protobuf:"fixed64,2,opt,name=s_position,json=sPosition" json:"s_position,omitempty"`
	// T position of the object reference point on the lane, in the ST
	// coordinate system of the lane.
	TPosition *float64 `protobuf:"fixed64,3,opt,name=t_position,json=tPosition" json:"t_position,omitempty"`
	// Angle of the object relative to the lane.
	// See the ReferenceLine description how the angle is calculated.
	//
	// Unit: rad
	AngleToLane *float64 `protobuf:"fixed64,4,opt,name=angle_to_lane,json=angleToLane" json:"angle_to_lane,omitempty"`
	// contains filtered or unexported fields
}

\brief Assignment of an object to a logical lane

An object is assigned to a logical lane if it overlaps the logical lane. Assignment happens even if the reference point is outside the lane, and only a part of the object overlaps (any object overlapping the lane more than 5cm has to be assigned to the lane).

As an exception to this, \c TrafficSign and \c TrafficLight are assigned to a logical lane if they control traffic on that lane. For \c TrafficSign and \c TrafficLight , #s_position refers to the position where the sign or light is valid (e.g. where vehicles should stop in case of a red traffic light), not the physical position (where the sign or light is in the world). Typically, t_position and angle_to_lane do not have any meaning in this case, and will be 0.

func (*LogicalLaneAssignment) Descriptor deprecated

func (*LogicalLaneAssignment) Descriptor() ([]byte, []int)

Deprecated: Use LogicalLaneAssignment.ProtoReflect.Descriptor instead.

func (*LogicalLaneAssignment) GetAngleToLane

func (x *LogicalLaneAssignment) GetAngleToLane() float64

func (*LogicalLaneAssignment) GetAssignedLaneId

func (x *LogicalLaneAssignment) GetAssignedLaneId() *Identifier

func (*LogicalLaneAssignment) GetSPosition

func (x *LogicalLaneAssignment) GetSPosition() float64

func (*LogicalLaneAssignment) GetTPosition

func (x *LogicalLaneAssignment) GetTPosition() float64

func (*LogicalLaneAssignment) ProtoMessage

func (*LogicalLaneAssignment) ProtoMessage()

func (*LogicalLaneAssignment) ProtoReflect

func (x *LogicalLaneAssignment) ProtoReflect() protoreflect.Message

func (*LogicalLaneAssignment) Reset

func (x *LogicalLaneAssignment) Reset()

func (*LogicalLaneAssignment) String

func (x *LogicalLaneAssignment) String() string

type LogicalLaneBoundary

type LogicalLaneBoundary struct {

	// The ID of the lane boundary.
	//
	// \rules
	// is_globally_unique
	// is_set
	// \endrules
	Id *Identifier `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// Points making up the lane boundary.
	//
	// The boundary must be defined in the same direction as the reference
	// line. So S positions should increase along the line. Note that S
	// positions will not always increase strictly monotonically.
	// Example:
	// <pre>
	//
	//	              |---------\
	//	              |          \
	//	/---boundary--|           \\------------
	//
	// /
	// ---------- reference line --------------
	// </pre>
	// At the place where the boundary suddenly increases, two points will have
	// the same S coordinate.
	//
	// If the boundary approximates a curve (e.g. a cubic function in
	// OpenDRIVE), the points must be chosen in a way that the lateral distance
	// to the ideal line does not exceed 5cm. As shown in the following image:
	//
	// \image html line_approximation_error.svg "Approximation error"
	// Approximation error green line.
	//
	// The Z error (difference in Z height between #boundary_line and the
	// "real" line) must not exceed 2cm. This is a stricter requirement than
	// for errors in the XY plane, because Z differences between lanes
	// influence driving very much.
	//
	// Note: if two lanes have different Z heights (e.g. a driving lane is
	// beside a sidewalk, where the sidewalk is 10cm higher than the road),
	// then these lanes cannot share a boundary, since their boundaries have
	// different Z heights.
	BoundaryLine []*LogicalLaneBoundary_LogicalBoundaryPoint `protobuf:"bytes,2,rep,name=boundary_line,json=boundaryLine" json:"boundary_line,omitempty"`
	// The reference line for this boundary.
	//
	// The reference line is used as a coordinate system for this boundary.
	// All points of this LogicalLaneBoundary must have S coordinates in the
	// range [\c sStart,\c sEnd].
	//
	// The reference line should roughly have the same shape as the boundary (so
	// roughly parallel to the lane middle), so that S coordinates continually
	// increase along the boundary.
	//
	// \rules
	// refers_to: ReferenceLine
	// \endrules
	ReferenceLineId *Identifier `protobuf:"bytes,3,opt,name=reference_line_id,json=referenceLineId" json:"reference_line_id,omitempty"`
	// Reference to the physical lane boundary or boundaries that make up this
	// logical boundary.
	//
	// Rules and notes:
	//   - This list is empty if there are no physical lane boundaries to delimit
	//     a lane.
	//   - In the common case, this will contain one physical boundary.
	//   - This list contains several lane boundaries if there are several physical
	//     lane boundaries at one S position (e.g. both a broken and a solid
	//     line).
	//   - If there are several lane boundaries, they must be listed in increasing
	//     T order (i.e. from right to left in reference line direction).
	//     Rationale: this makes it easier to determine e.g. rules on lane
	//     changes, which depend on the T order of the lanes.
	//   - Whenever physical lane boundaries begin or end, or switch their T
	//     position (if there are multiple physical lane boundaries), a new
	//     LogicalLaneBoundary must be created.
	//   - The referenced LaneBoundary objects may be longer than the
	//     LogicalLaneBoundary which references them, but must never be shorter.
	//
	// Example:
	// <pre>
	//
	//	     Lane 1
	//	--------a------------------ - - - -c- - - -           ----&gt;
	//	\- - - -b- - - -
	//	     Lane -1
	//
	// </pre>
	//
	// This shows the boundary between lane 1 and lane -1, with the reference
	// line going from left to right. First there is a solid-broken line (a and
	// b), then there is only a solid line (a), then there is a broken line
	// (c). There would be three LogicalLaneBoundary objects between Lane1 and
	// Lane2: the first would reference first b and then a, the second would
	// reference only a, and the third would reference c.
	//
	// \rules
	// refers_to: LaneBoundary
	// \endrules
	PhysicalBoundaryId []*Identifier `protobuf:"bytes,4,rep,name=physical_boundary_id,json=physicalBoundaryId" json:"physical_boundary_id,omitempty"`
	// The passing rules, insomuch as they can be determined just from road
	// markings.
	PassingRule *LogicalLaneBoundary_PassingRule `` /* 130-byte string literal not displayed */
	// Optional external reference to the lane boundary source.
	//
	// \note For OpenDRIVE, there is no direct possibility to reference the
	//
	//	RoadMark, as there is no unique identifier in this sub-object.
	//
	// \note For non-ASAM Standards, it is implementation-specific how
	//
	//	source_reference is resolved.
	//
	// \note The value has to be repeated because one object may be derived
	//
	//	from more than one origin source, for example, from a scenario file
	//	and from sensors.
	SourceReference []*ExternalReference `protobuf:"bytes,6,rep,name=source_reference,json=sourceReference" json:"source_reference,omitempty"`
	// contains filtered or unexported fields
}

\brief Boundary line of a LogicalLane

Similar to a LaneBoundary, but with a reference line and ST positions.

A logical lane boundary describes the boundary between two logical lanes. As such, there will always be exactly one logical lane boundary between two lanes at a given S position. Contrary to that, there can be 0 to N physical lane boundaries (i.e. type LaneBoundary) between two logical lanes at a given S position.

If there are multiple physical lane boundaries at one S position between two lanes (think of a solid-broken marking, which would be described by two LaneBoundary objects, one for the solid lane marking, one for the broken lane marking), then the single LogicalLaneBoundary describing the boundary between two logical lanes should be between the physical boundaries.

A logical lane boundary consists of a list of \link LogicalBoundaryPoint LogicalBoundaryPoints\endlink. Each point has a XYZ and an ST coordinate. The XYZ coordinates describe the position and height of the boundary in the world.

Notes on design decisions:

  • The LogicalLaneBoundary has ST coordinates, and is thus a separate type from LaneBoundary. Advantages of this decision:
  • Calculations like getting the lane width at a position are easy, since one can just get the boundary points of the left and right boundary at the desired S position (via linear interpolation), and calculate the width from the two points. Also getting something like the distance to the lane border is very easy.
  • No centerline of the lane is necessary, since this can very easily be generated from the boundaries. Disadvantages of this decision:
  • %Lane boundaries cannot be shared with physical lanes. This results in more data needed. This can mostly be mitigated by only transmitting the lane boundaries during initialization (e.g. via the OSMP GroundTruthInit message).
  • The LogicalLaneBoundary contains all data directly which an agent model is likely to need. It does not include information normally only used by sensor models (e.g. the exact length of the color markings on the road). This information can be gotten from the physical lane referenced in the LogicalLane, if needed.

func (*LogicalLaneBoundary) Descriptor deprecated

func (*LogicalLaneBoundary) Descriptor() ([]byte, []int)

Deprecated: Use LogicalLaneBoundary.ProtoReflect.Descriptor instead.

func (*LogicalLaneBoundary) GetBoundaryLine

func (*LogicalLaneBoundary) GetId

func (x *LogicalLaneBoundary) GetId() *Identifier

func (*LogicalLaneBoundary) GetPassingRule

func (*LogicalLaneBoundary) GetPhysicalBoundaryId

func (x *LogicalLaneBoundary) GetPhysicalBoundaryId() []*Identifier

func (*LogicalLaneBoundary) GetReferenceLineId

func (x *LogicalLaneBoundary) GetReferenceLineId() *Identifier

func (*LogicalLaneBoundary) GetSourceReference

func (x *LogicalLaneBoundary) GetSourceReference() []*ExternalReference

func (*LogicalLaneBoundary) ProtoMessage

func (*LogicalLaneBoundary) ProtoMessage()

func (*LogicalLaneBoundary) ProtoReflect

func (x *LogicalLaneBoundary) ProtoReflect() protoreflect.Message

func (*LogicalLaneBoundary) Reset

func (x *LogicalLaneBoundary) Reset()

func (*LogicalLaneBoundary) String

func (x *LogicalLaneBoundary) String() string

type LogicalLaneBoundary_LogicalBoundaryPoint

type LogicalLaneBoundary_LogicalBoundaryPoint struct {

	// The position of the \c LaneBoundaryPoint.
	Position *Vector3D `protobuf:"bytes,1,opt,name=position" json:"position,omitempty"`
	// S position of the LaneBoundaryPoint, measured along the parent's
	// reference_line_id.
	SPosition *float64 `protobuf:"fixed64,2,opt,name=s_position,json=sPosition" json:"s_position,omitempty"`
	// T position of the LaneBoundaryPoint, measured along the parent's
	// reference_line_id.
	TPosition *float64 `protobuf:"fixed64,3,opt,name=t_position,json=tPosition" json:"t_position,omitempty"`
	// contains filtered or unexported fields
}

\brief A point on the boundary

func (*LogicalLaneBoundary_LogicalBoundaryPoint) Descriptor deprecated

func (*LogicalLaneBoundary_LogicalBoundaryPoint) Descriptor() ([]byte, []int)

Deprecated: Use LogicalLaneBoundary_LogicalBoundaryPoint.ProtoReflect.Descriptor instead.

func (*LogicalLaneBoundary_LogicalBoundaryPoint) GetPosition

func (*LogicalLaneBoundary_LogicalBoundaryPoint) GetSPosition

func (*LogicalLaneBoundary_LogicalBoundaryPoint) GetTPosition

func (*LogicalLaneBoundary_LogicalBoundaryPoint) ProtoMessage

func (*LogicalLaneBoundary_LogicalBoundaryPoint) ProtoReflect

func (*LogicalLaneBoundary_LogicalBoundaryPoint) Reset

func (*LogicalLaneBoundary_LogicalBoundaryPoint) String

type LogicalLaneBoundary_PassingRule

type LogicalLaneBoundary_PassingRule int32

Passing rule of the LogicalLaneBoundary.

This describes how vehicles are legally allowed to move across the LogicalLaneBoundary. The PassingRule is determined solely based on the semantics of (physical) lane boundaries, not on any signs (i.e. it may be overridden by signs).

const (
	// Passing rule is unknown (must not be used in ground truth).
	LogicalLaneBoundary_PASSING_RULE_UNKNOWN LogicalLaneBoundary_PassingRule = 0
	// Passing rule fits neither of the other categories.
	//
	// Example: this type needs to be used if passing depends on the agent
	// type, e.g. if cars may change lane, but trucks may not.
	//
	// This value is also used between LogicalLanes where the traffic
	// regulations do not say anything about passing rules (e.g. for a
	// LogicalLaneBoundary between LogicalLanes of TYPE_NORMAL
	// and TYPE_CURB or between LogicalLanes of TYPE_BORDER and
	// TYPE_SHOULDER) .
	LogicalLaneBoundary_PASSING_RULE_OTHER LogicalLaneBoundary_PassingRule = 1
	// No passing is allowed (neither from left to right nor from right to
	// left).
	LogicalLaneBoundary_PASSING_RULE_NONE_ALLOWED LogicalLaneBoundary_PassingRule = 2
	// Only passing in increasing T direction allowed. Passing is allowed
	// from one lane to the other if the points on the target lane have
	// larger T values than points on the source lane (at the same S
	// position). In reference line direction (but not necessarily in
	// driving direction), this means changing from right to left is
	// allowed.
	LogicalLaneBoundary_PASSING_RULE_INCREASING_T LogicalLaneBoundary_PassingRule = 3
	// Only passing in decreasing T direction allowed. Passing is allowed
	// from one lane to the other if the points on the target lane have
	// smaller T values than points on the source lane (at the same S
	// position). In reference line direction (but not necessarily in
	// driving direction), this means changing from left to right is
	// allowed.
	LogicalLaneBoundary_PASSING_RULE_DECREASING_T LogicalLaneBoundary_PassingRule = 4
	// Passing is allowed in both directions (left to right and right to
	// left).
	LogicalLaneBoundary_PASSING_RULE_BOTH_ALLOWED LogicalLaneBoundary_PassingRule = 5
)

func (LogicalLaneBoundary_PassingRule) Descriptor

func (LogicalLaneBoundary_PassingRule) Enum

func (LogicalLaneBoundary_PassingRule) EnumDescriptor deprecated

func (LogicalLaneBoundary_PassingRule) EnumDescriptor() ([]byte, []int)

Deprecated: Use LogicalLaneBoundary_PassingRule.Descriptor instead.

func (LogicalLaneBoundary_PassingRule) Number

func (LogicalLaneBoundary_PassingRule) String

func (LogicalLaneBoundary_PassingRule) Type

func (*LogicalLaneBoundary_PassingRule) UnmarshalJSON deprecated

func (x *LogicalLaneBoundary_PassingRule) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type LogicalLane_LaneConnection

type LogicalLane_LaneConnection struct {

	// Id of the other logical lane that is connected.
	//
	// \rules
	// refers_to: LogicalLane
	// \endrules
	OtherLaneId *Identifier `protobuf:"bytes,1,opt,name=other_lane_id,json=otherLaneId" json:"other_lane_id,omitempty"`
	// If true: LaneConnection is at the beginning of the other lane
	// If false: LaneConnection is a the end of the other lane
	AtBeginOfOtherLane *bool `protobuf:"varint,2,opt,name=at_begin_of_other_lane,json=atBeginOfOtherLane" json:"at_begin_of_other_lane,omitempty"`
	// contains filtered or unexported fields
}

\brief Connection to another lane (predecessor or successor)

func (*LogicalLane_LaneConnection) Descriptor deprecated

func (*LogicalLane_LaneConnection) Descriptor() ([]byte, []int)

Deprecated: Use LogicalLane_LaneConnection.ProtoReflect.Descriptor instead.

func (*LogicalLane_LaneConnection) GetAtBeginOfOtherLane

func (x *LogicalLane_LaneConnection) GetAtBeginOfOtherLane() bool

func (*LogicalLane_LaneConnection) GetOtherLaneId

func (x *LogicalLane_LaneConnection) GetOtherLaneId() *Identifier

func (*LogicalLane_LaneConnection) ProtoMessage

func (*LogicalLane_LaneConnection) ProtoMessage()

func (*LogicalLane_LaneConnection) ProtoReflect

func (*LogicalLane_LaneConnection) Reset

func (x *LogicalLane_LaneConnection) Reset()

func (*LogicalLane_LaneConnection) String

func (x *LogicalLane_LaneConnection) String() string

type LogicalLane_LaneRelation

type LogicalLane_LaneRelation struct {

	// Id of the other logical lane.
	//
	// \rules
	// refers_to: LogicalLane
	// \endrules
	OtherLaneId *Identifier `protobuf:"bytes,1,opt,name=other_lane_id,json=otherLaneId" json:"other_lane_id,omitempty"`
	// Start s position of the relation.
	StartS *float64 `protobuf:"fixed64,2,opt,name=start_s,json=startS" json:"start_s,omitempty"`
	// End s position of the relation.
	//
	// Requirement: #end_s > #start_s
	EndS *float64 `protobuf:"fixed64,3,opt,name=end_s,json=endS" json:"end_s,omitempty"`
	// Start s position of the relation on the other lane.
	//
	// This is the same place as #start_s, but measured along the reference
	// line of the other lane.
	StartSOther *float64 `protobuf:"fixed64,4,opt,name=start_s_other,json=startSOther" json:"start_s_other,omitempty"`
	// End s position of the relation on the other lane.
	//
	// This is the same place as #end_s, but measured along the reference
	// line of the other lane.
	//
	// Note: #end_s_other might be smaller than #start_s_other
	EndSOther *float64 `protobuf:"fixed64,5,opt,name=end_s_other,json=endSOther" json:"end_s_other,omitempty"`
	// contains filtered or unexported fields
}

\brief Relation of this lane to another logical lane

func (*LogicalLane_LaneRelation) Descriptor deprecated

func (*LogicalLane_LaneRelation) Descriptor() ([]byte, []int)

Deprecated: Use LogicalLane_LaneRelation.ProtoReflect.Descriptor instead.

func (*LogicalLane_LaneRelation) GetEndS

func (x *LogicalLane_LaneRelation) GetEndS() float64

func (*LogicalLane_LaneRelation) GetEndSOther

func (x *LogicalLane_LaneRelation) GetEndSOther() float64

func (*LogicalLane_LaneRelation) GetOtherLaneId

func (x *LogicalLane_LaneRelation) GetOtherLaneId() *Identifier

func (*LogicalLane_LaneRelation) GetStartS

func (x *LogicalLane_LaneRelation) GetStartS() float64

func (*LogicalLane_LaneRelation) GetStartSOther

func (x *LogicalLane_LaneRelation) GetStartSOther() float64

func (*LogicalLane_LaneRelation) ProtoMessage

func (*LogicalLane_LaneRelation) ProtoMessage()

func (*LogicalLane_LaneRelation) ProtoReflect

func (x *LogicalLane_LaneRelation) ProtoReflect() protoreflect.Message

func (*LogicalLane_LaneRelation) Reset

func (x *LogicalLane_LaneRelation) Reset()

func (*LogicalLane_LaneRelation) String

func (x *LogicalLane_LaneRelation) String() string

type LogicalLane_MoveDirection

type LogicalLane_MoveDirection int32

Describes in which direction moving objects may typically move along a lane.

This describes the allowed typical driving direction on a lane, or (in the case of pedestrian) the allowed walking direction.

Note: Allowed overtaking (e.g. on country roads) does not automatically make a lane bidirectional, since vehicles may normally only drive in the other direction during the overtake maneuver, not for longer periods of time.

const (
	// Move direction is unknown. Do not use in ground truth.
	LogicalLane_MOVE_DIRECTION_UNKNOWN LogicalLane_MoveDirection = 0
	// Move direction fits neither of the other categories.
	//
	// Example: a lane where cars may only drive in one direction, but
	// bikes may drive in both.
	LogicalLane_MOVE_DIRECTION_OTHER LogicalLane_MoveDirection = 1
	// Objects may move in increasing S direction.
	//
	// This means they move in the same direction as the reference line.
	LogicalLane_MOVE_DIRECTION_INCREASING_S LogicalLane_MoveDirection = 2
	// Objects may move in decreasing S direction.
	//
	// This means they move in the opposite direction as the reference line.
	LogicalLane_MOVE_DIRECTION_DECREASING_S LogicalLane_MoveDirection = 3
	// Objects may move in both directions.
	LogicalLane_MOVE_DIRECTION_BOTH_ALLOWED LogicalLane_MoveDirection = 4
)

func (LogicalLane_MoveDirection) Descriptor

func (LogicalLane_MoveDirection) Enum

func (LogicalLane_MoveDirection) EnumDescriptor deprecated

func (LogicalLane_MoveDirection) EnumDescriptor() ([]byte, []int)

Deprecated: Use LogicalLane_MoveDirection.Descriptor instead.

func (LogicalLane_MoveDirection) Number

func (LogicalLane_MoveDirection) String

func (x LogicalLane_MoveDirection) String() string

func (LogicalLane_MoveDirection) Type

func (*LogicalLane_MoveDirection) UnmarshalJSON deprecated

func (x *LogicalLane_MoveDirection) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type LogicalLane_PhysicalLaneReference

type LogicalLane_PhysicalLaneReference struct {

	// Id of the physical lane referenced.
	//
	// \rules
	// refers_to: Lane
	// \endrules
	PhysicalLaneId *Identifier `protobuf:"bytes,1,opt,name=physical_lane_id,json=physicalLaneId" json:"physical_lane_id,omitempty"`
	// S position on the logical lane where the physical lane starts.
	StartS *float64 `protobuf:"fixed64,2,opt,name=start_s,json=startS" json:"start_s,omitempty"`
	// S position on the logical lane where the physical lane ends.
	//
	// Requirement: #end_s > #start_s
	EndS *float64 `protobuf:"fixed64,3,opt,name=end_s,json=endS" json:"end_s,omitempty"`
	// contains filtered or unexported fields
}

\brief Reference to a physical lane.

func (*LogicalLane_PhysicalLaneReference) Descriptor deprecated

func (*LogicalLane_PhysicalLaneReference) Descriptor() ([]byte, []int)

Deprecated: Use LogicalLane_PhysicalLaneReference.ProtoReflect.Descriptor instead.

func (*LogicalLane_PhysicalLaneReference) GetEndS

func (*LogicalLane_PhysicalLaneReference) GetPhysicalLaneId

func (x *LogicalLane_PhysicalLaneReference) GetPhysicalLaneId() *Identifier

func (*LogicalLane_PhysicalLaneReference) GetStartS

func (*LogicalLane_PhysicalLaneReference) ProtoMessage

func (*LogicalLane_PhysicalLaneReference) ProtoMessage()

func (*LogicalLane_PhysicalLaneReference) ProtoReflect

func (*LogicalLane_PhysicalLaneReference) Reset

func (*LogicalLane_PhysicalLaneReference) String

type LogicalLane_TrafficRule

type LogicalLane_TrafficRule struct {

	// The type of the traffic rule.
	//
	// This specifies the type of the traffic rule to be modeled.
	// Based on the type the respective message containing the information
	// corresponding to the traffic rule should be filled.
	TrafficRuleType *LogicalLane_TrafficRule_TrafficRuleType `` /* 152-byte string literal not displayed */
	// The validity information of the traffic rule.
	TrafficRuleValidity *LogicalLane_TrafficRule_TrafficRuleValidity `protobuf:"bytes,2,opt,name=traffic_rule_validity,json=trafficRuleValidity" json:"traffic_rule_validity,omitempty"`
	// Traffic rule information for traffic rule of type speed limit.
	SpeedLimit *LogicalLane_TrafficRule_SpeedLimit `protobuf:"bytes,3,opt,name=speed_limit,json=speedLimit" json:"speed_limit,omitempty"`
	// contains filtered or unexported fields
}

Describes traffic rules on a lane. The traffic rule can thereby be induced by regulations, traffic signs or by other means. If the modeled traffic rule is induced by a traffic sign the information should be identical with the respective traffic sign.

Note: Every instance should be corresponding to only one specific rule. The type of the traffic rule should be set using the respective field. Additionally, every message should contain the traffic rule validity information and the respective field for the respective traffic rule type. In case of traffic rule (priority) conflicts for rules of the same type that can not be depicted using the traffic rule validity only the currently valid rule should be provided.

Note: Each traffic rule corresponds to only one lane. If the traffic rule is also valid on adjacent/successor/predecessor lanes it needs to be specified for each lane individually.

\brief Logical Model of a traffic rule on a lane.

func (*LogicalLane_TrafficRule) Descriptor deprecated

func (*LogicalLane_TrafficRule) Descriptor() ([]byte, []int)

Deprecated: Use LogicalLane_TrafficRule.ProtoReflect.Descriptor instead.

func (*LogicalLane_TrafficRule) GetSpeedLimit

func (*LogicalLane_TrafficRule) GetTrafficRuleType

func (*LogicalLane_TrafficRule) GetTrafficRuleValidity

func (*LogicalLane_TrafficRule) ProtoMessage

func (*LogicalLane_TrafficRule) ProtoMessage()

func (*LogicalLane_TrafficRule) ProtoReflect

func (x *LogicalLane_TrafficRule) ProtoReflect() protoreflect.Message

func (*LogicalLane_TrafficRule) Reset

func (x *LogicalLane_TrafficRule) Reset()

func (*LogicalLane_TrafficRule) String

func (x *LogicalLane_TrafficRule) String() string

type LogicalLane_TrafficRule_SpeedLimit

type LogicalLane_TrafficRule_SpeedLimit struct {

	// The value of the speed limit.
	// The unit field in the TrafficSignValue message may only be set to
	// units associated with velocities and must not be UNKNOWN.
	//
	// Note: All speed limits are to be modeled this way, independent
	// of how they are induced.
	SpeedLimitValue *TrafficSignValue `protobuf:"bytes,1,opt,name=speed_limit_value,json=speedLimitValue" json:"speed_limit_value,omitempty"`
	// contains filtered or unexported fields
}

\brief Speed limit on a lane.

func (*LogicalLane_TrafficRule_SpeedLimit) Descriptor deprecated

func (*LogicalLane_TrafficRule_SpeedLimit) Descriptor() ([]byte, []int)

Deprecated: Use LogicalLane_TrafficRule_SpeedLimit.ProtoReflect.Descriptor instead.

func (*LogicalLane_TrafficRule_SpeedLimit) GetSpeedLimitValue

func (x *LogicalLane_TrafficRule_SpeedLimit) GetSpeedLimitValue() *TrafficSignValue

func (*LogicalLane_TrafficRule_SpeedLimit) ProtoMessage

func (*LogicalLane_TrafficRule_SpeedLimit) ProtoMessage()

func (*LogicalLane_TrafficRule_SpeedLimit) ProtoReflect

func (*LogicalLane_TrafficRule_SpeedLimit) Reset

func (*LogicalLane_TrafficRule_SpeedLimit) String

type LogicalLane_TrafficRule_TrafficRuleType

type LogicalLane_TrafficRule_TrafficRuleType int32

The type of the the traffic rule.

const (
	// Traffic rule is of type speed limit
	LogicalLane_TrafficRule_TRAFFIC_RULE_TYPE_SPEED_LIMIT LogicalLane_TrafficRule_TrafficRuleType = 0
)

func (LogicalLane_TrafficRule_TrafficRuleType) Descriptor

func (LogicalLane_TrafficRule_TrafficRuleType) Enum

func (LogicalLane_TrafficRule_TrafficRuleType) EnumDescriptor deprecated

func (LogicalLane_TrafficRule_TrafficRuleType) EnumDescriptor() ([]byte, []int)

Deprecated: Use LogicalLane_TrafficRule_TrafficRuleType.Descriptor instead.

func (LogicalLane_TrafficRule_TrafficRuleType) Number

func (LogicalLane_TrafficRule_TrafficRuleType) String

func (LogicalLane_TrafficRule_TrafficRuleType) Type

func (*LogicalLane_TrafficRule_TrafficRuleType) UnmarshalJSON deprecated

func (x *LogicalLane_TrafficRule_TrafficRuleType) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type LogicalLane_TrafficRule_TrafficRuleValidity

type LogicalLane_TrafficRule_TrafficRuleValidity struct {

	// The starting point of the traffic rule validity on the lane.
	// Must be in range [\c sStart,\c sEnd] of the reference line.
	//
	// Note: The traffic rule applies only to traffic with notional
	// direction of travel from the start_s coordinate towards
	// the end_s coordinate. For unidirectional lanes this must
	// match the direction of travel as specified by the
	// move_direction field of the logical lane. For bidirectional
	// lanes this allows the specification of separate rules for
	// each direction of travel.
	StartS *float64 `protobuf:"fixed64,1,opt,name=start_s,json=startS" json:"start_s,omitempty"`
	// The ending point of the traffic rule validity on the lane.
	// Must be in range [\c sStart,\c sEnd] of the reference line.
	EndS *float64 `protobuf:"fixed64,2,opt,name=end_s,json=endS" json:"end_s,omitempty"`
	// List of traffic participant types for which the speed limit is valid.
	// If the traffic rule validity is independent of the vehicle type
	// the list should be empty.
	ValidForType []*LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity `protobuf:"bytes,3,rep,name=valid_for_type,json=validForType" json:"valid_for_type,omitempty"`
	// contains filtered or unexported fields
}

\brief Validity information for a traffic rule.

func (*LogicalLane_TrafficRule_TrafficRuleValidity) Descriptor deprecated

Deprecated: Use LogicalLane_TrafficRule_TrafficRuleValidity.ProtoReflect.Descriptor instead.

func (*LogicalLane_TrafficRule_TrafficRuleValidity) GetEndS

func (*LogicalLane_TrafficRule_TrafficRuleValidity) GetStartS

func (*LogicalLane_TrafficRule_TrafficRuleValidity) GetValidForType

func (*LogicalLane_TrafficRule_TrafficRuleValidity) ProtoMessage

func (*LogicalLane_TrafficRule_TrafficRuleValidity) ProtoReflect

func (*LogicalLane_TrafficRule_TrafficRuleValidity) Reset

func (*LogicalLane_TrafficRule_TrafficRuleValidity) String

type LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity

type LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity struct {

	// The type of object for which the traffic rule is valid.
	Type *MovingObject_Type `protobuf:"varint,1,opt,name=type,enum=osi3.MovingObject_Type" json:"type,omitempty"`
	// Vehicle classification type for traffic participants.
	//
	// Should be set to TYPE_UNKNOWN if type is not TYPE_VEHICLE
	// or the rule is valid for all vehicle types.
	VehicleType *MovingObject_VehicleClassification_Type `` /* 138-byte string literal not displayed */
	// Role of traffic participant.
	//
	// Should be set to ROLE_UNKNOWN if type is not TYPE_VEHICLE
	// or the rule is valid for all vehicle roles.
	VehicleRole *MovingObject_VehicleClassification_Role `` /* 138-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief Type of traffic participant for which a rule is valid.

func (*LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity) Descriptor deprecated

Deprecated: Use LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity.ProtoReflect.Descriptor instead.

func (*LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity) GetType

func (*LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity) GetVehicleRole

func (*LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity) GetVehicleType

func (*LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity) ProtoMessage

func (*LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity) ProtoReflect

func (*LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity) Reset

func (*LogicalLane_TrafficRule_TrafficRuleValidity_TypeValidity) String

type LogicalLane_Type

type LogicalLane_Type int32

Definition of available lane types.

This is mostly aligned with OpenDRIVE, except that lane types modeling access restrictions (e.g. "taxi") are not made available here. These are already deprecated in OpenDRIVE. To support this, access restrictions should be added later, in alignment with OpenDRIVE.

const (
	// %Lane of unknown type. Do not use in ground truth.
	LogicalLane_TYPE_UNKNOWN LogicalLane_Type = 0
	// Any other type of lane.
	LogicalLane_TYPE_OTHER LogicalLane_Type = 1
	// A normal driving lane.
	// Example: Lanes with IDs l1, l2, l3 and l4 in image \ref
	// HighwayExit.
	// This matches the OpenDRIVE type "driving".
	//
	// Note: a lane with OpenDRIVE type "bidirectional" will have an OSI
	// type of TYPE_NORMAL, with <code>#move_direction ==
	// #MOVE_DIRECTION_BOTH_ALLOWED</code>.
	LogicalLane_TYPE_NORMAL LogicalLane_Type = 2
	// A lane that is designated for bicycles
	// Note that biking lanes that cross the road (e.g. on an intersection)
	// are also labeled with this type.
	LogicalLane_TYPE_BIKING LogicalLane_Type = 3
	// A lane that is designated for pedestrians (sidewalk).
	// Note that pedestrian lanes that cross the road (e.g. on an
	// intersection) are also labeled with this type.
	LogicalLane_TYPE_SIDEWALK LogicalLane_Type = 4
	// A lane with parking spaces.
	LogicalLane_TYPE_PARKING LogicalLane_Type = 5
	// A hard shoulder on motorways for emergency stops.
	// Example: Lane l5 in image \ref
	// HighwayExit.
	LogicalLane_TYPE_STOP LogicalLane_Type = 6
	// A lane on which cars should not drive.
	LogicalLane_TYPE_RESTRICTED LogicalLane_Type = 7
	// A hard border on the edge of a road.
	LogicalLane_TYPE_BORDER LogicalLane_Type = 8
	// A soft border on the edge of a road.
	LogicalLane_TYPE_SHOULDER LogicalLane_Type = 9
	// A deceleration lane in parallel to the main road.
	// Example: Lane l6 in image \ref
	// HighwayExit.
	LogicalLane_TYPE_EXIT LogicalLane_Type = 10
	// An acceleration lane in parallel to the main road.
	LogicalLane_TYPE_ENTRY LogicalLane_Type = 11
	// A ramp from rural or urban roads joining a motorway.
	LogicalLane_TYPE_ONRAMP LogicalLane_Type = 12
	// A ramp leading off a motorway onto rural or urban roads.
	LogicalLane_TYPE_OFFRAMP LogicalLane_Type = 13
	// A ramp that connect two motorways.
	LogicalLane_TYPE_CONNECTINGRAMP LogicalLane_Type = 14
	// A lane that sits between driving lanes
	// that lead in opposite directions. It is
	// typically used to separate traffic in
	// towns on large roads.
	LogicalLane_TYPE_MEDIAN LogicalLane_Type = 15
	// Curb stones. Curb stones have a different
	// height than the adjacent drivable lanes.
	LogicalLane_TYPE_CURB LogicalLane_Type = 16
	// A rail lane. This lane covers the area a train needs to drive along
	// its rails.
	// #overlapping_lane then describes where a train crosses other lanes.
	LogicalLane_TYPE_RAIL LogicalLane_Type = 17
	// A tram lane. This lane covers the area a tram needs to drive along
	// its rails.
	// #overlapping_lane then describes where a tram crosses other lanes.
	LogicalLane_TYPE_TRAM LogicalLane_Type = 18
)

func (LogicalLane_Type) Descriptor

func (LogicalLane_Type) Enum

func (LogicalLane_Type) EnumDescriptor deprecated

func (LogicalLane_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use LogicalLane_Type.Descriptor instead.

func (LogicalLane_Type) Number

func (LogicalLane_Type) String

func (x LogicalLane_Type) String() string

func (LogicalLane_Type) Type

func (*LogicalLane_Type) UnmarshalJSON deprecated

func (x *LogicalLane_Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type MotionRequest

type MotionRequest struct {

	// The interface version used by the sender (simulation environment).
	//
	// \rules
	// is_set
	// \endrules
	Version *InterfaceVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The data timestamp of the simulation environment.
	// A reference to \c Timestamp message.
	//
	// \rules
	// is_set
	// \endrules
	Timestamp *Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
	// Define the type that is used to specify the motion request.
	// This must be set. Additionally, the field corresponding to the specified
	// option must be set.
	MotionRequestType *MotionRequest_MotionRequestType `` /* 150-byte string literal not displayed */
	// Defines a desired state.
	// If the output option is set to DESIRED_STATE, this field must be set.
	DesiredState *MotionRequest_DesiredState `protobuf:"bytes,4,opt,name=desired_state,json=desiredState" json:"desired_state,omitempty"`
	// Defines a desired trajectory.
	// If the output option is set to DESIRED_TRAJECTORY, this field must be set.
	DesiredTrajectory *MotionRequest_DesiredTrajectory `protobuf:"bytes,5,opt,name=desired_trajectory,json=desiredTrajectory" json:"desired_trajectory,omitempty"`
	// contains filtered or unexported fields
}

\brief This message is intended as an interface between a motion-planning function and the actuator management. The motion-planning function can thereby be a representation of a highly-automated driving function, a human driving behavior model, etc.

The motion-planning function can either send a desired future trajectory or a desired future state. The message can be defined by an additional variable.

\note The coordinate system is defined as right-handed. All coordinates and orientations are relative to the global coordinate system. The reference point of the vehicle is the middle of the rear axis. Units are m for positions, m/s for velocities, and m/s^2 for accelerations.

func (*MotionRequest) Descriptor deprecated

func (*MotionRequest) Descriptor() ([]byte, []int)

Deprecated: Use MotionRequest.ProtoReflect.Descriptor instead.

func (*MotionRequest) GetDesiredState

func (x *MotionRequest) GetDesiredState() *MotionRequest_DesiredState

func (*MotionRequest) GetDesiredTrajectory

func (x *MotionRequest) GetDesiredTrajectory() *MotionRequest_DesiredTrajectory

func (*MotionRequest) GetMotionRequestType

func (x *MotionRequest) GetMotionRequestType() MotionRequest_MotionRequestType

func (*MotionRequest) GetTimestamp

func (x *MotionRequest) GetTimestamp() *Timestamp

func (*MotionRequest) GetVersion

func (x *MotionRequest) GetVersion() *InterfaceVersion

func (*MotionRequest) ProtoMessage

func (*MotionRequest) ProtoMessage()

func (*MotionRequest) ProtoReflect

func (x *MotionRequest) ProtoReflect() protoreflect.Message

func (*MotionRequest) Reset

func (x *MotionRequest) Reset()

func (*MotionRequest) String

func (x *MotionRequest) String() string

type MotionRequest_DesiredState

type MotionRequest_DesiredState struct {

	// A reference to \c Timestamp message.
	Timestamp *Timestamp `protobuf:"bytes,1,opt,name=timestamp" json:"timestamp,omitempty"`
	// Intended position to be reached in in x-, y-, and z-direction.
	Position *Vector3D `protobuf:"bytes,2,opt,name=position" json:"position,omitempty"`
	// Intended orientation to be reached containing yaw, pitch and roll angle.
	Orientation *Orientation3D `protobuf:"bytes,3,opt,name=orientation" json:"orientation,omitempty"`
	// Intended velocity to be reached in in x-, y-, and z-direction.
	//
	// Unit: m/s
	Velocity *Vector3D `protobuf:"bytes,4,opt,name=velocity" json:"velocity,omitempty"`
	// Intended acceleration to be reached in x-, y-, and z-direction.
	//
	// Unit: m/s^2
	Acceleration *Vector3D `protobuf:"bytes,5,opt,name=acceleration" json:"acceleration,omitempty"`
	// contains filtered or unexported fields
}

\brief The desired state is calculated by the function as a result of the motion planning stack.

The actuator management is supposed to reach the desired state at the specified time.

func (*MotionRequest_DesiredState) Descriptor deprecated

func (*MotionRequest_DesiredState) Descriptor() ([]byte, []int)

Deprecated: Use MotionRequest_DesiredState.ProtoReflect.Descriptor instead.

func (*MotionRequest_DesiredState) GetAcceleration

func (x *MotionRequest_DesiredState) GetAcceleration() *Vector3D

func (*MotionRequest_DesiredState) GetOrientation

func (x *MotionRequest_DesiredState) GetOrientation() *Orientation3D

func (*MotionRequest_DesiredState) GetPosition

func (x *MotionRequest_DesiredState) GetPosition() *Vector3D

func (*MotionRequest_DesiredState) GetTimestamp

func (x *MotionRequest_DesiredState) GetTimestamp() *Timestamp

func (*MotionRequest_DesiredState) GetVelocity

func (x *MotionRequest_DesiredState) GetVelocity() *Vector3D

func (*MotionRequest_DesiredState) ProtoMessage

func (*MotionRequest_DesiredState) ProtoMessage()

func (*MotionRequest_DesiredState) ProtoReflect

func (*MotionRequest_DesiredState) Reset

func (x *MotionRequest_DesiredState) Reset()

func (*MotionRequest_DesiredState) String

func (x *MotionRequest_DesiredState) String() string

type MotionRequest_DesiredTrajectory

type MotionRequest_DesiredTrajectory struct {

	// The trajectory consists of intended position (x, y, and z) and
	// orientation (yaw, pitch and roll) of intended state to be reached.
	// A reference to \c StatePoint message.
	//
	// \note The position within the trajectory point references to the
	// middle point of the rear axis.
	TrajectoryPoint []*StatePoint `protobuf:"bytes,1,rep,name=trajectory_point,json=trajectoryPoint" json:"trajectory_point,omitempty"`
	// contains filtered or unexported fields
}

\brief Defined trajectory desired by the function.

This trajectory is the result of the trajectory planning step in the function. The task of the actuator management is to follow this trajectory as closely as possible. The timestamps inside the trajectory must be defined in global simulation time.

\note The trajectory is kept as a separate message for future extensions.

func (*MotionRequest_DesiredTrajectory) Descriptor deprecated

func (*MotionRequest_DesiredTrajectory) Descriptor() ([]byte, []int)

Deprecated: Use MotionRequest_DesiredTrajectory.ProtoReflect.Descriptor instead.

func (*MotionRequest_DesiredTrajectory) GetTrajectoryPoint

func (x *MotionRequest_DesiredTrajectory) GetTrajectoryPoint() []*StatePoint

func (*MotionRequest_DesiredTrajectory) ProtoMessage

func (*MotionRequest_DesiredTrajectory) ProtoMessage()

func (*MotionRequest_DesiredTrajectory) ProtoReflect

func (*MotionRequest_DesiredTrajectory) Reset

func (*MotionRequest_DesiredTrajectory) String

type MotionRequest_MotionRequestType

type MotionRequest_MotionRequestType int32

Define different options for function output. Each option corresponds to a field in the message.

const (
	// Desired state calculated by the function.
	MotionRequest_MOTION_REQUEST_TYPE_DESIRED_STATE MotionRequest_MotionRequestType = 0
	// Desired trajectory calculated by the function.
	MotionRequest_MOTION_REQUEST_TYPE_TRAJECTORY MotionRequest_MotionRequestType = 1
)

func (MotionRequest_MotionRequestType) Descriptor

func (MotionRequest_MotionRequestType) Enum

func (MotionRequest_MotionRequestType) EnumDescriptor deprecated

func (MotionRequest_MotionRequestType) EnumDescriptor() ([]byte, []int)

Deprecated: Use MotionRequest_MotionRequestType.Descriptor instead.

func (MotionRequest_MotionRequestType) Number

func (MotionRequest_MotionRequestType) String

func (MotionRequest_MotionRequestType) Type

func (*MotionRequest_MotionRequestType) UnmarshalJSON deprecated

func (x *MotionRequest_MotionRequestType) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type MountingPosition

type MountingPosition struct {

	// Offset position relative to the specified reference coordinate system.
	Position *Vector3D `protobuf:"bytes,1,opt,name=position" json:"position,omitempty"`
	// Orientation offset relative to the specified reference coordinate system.
	//
	// \f$ Origin_{sensor} :=
	// Rotation_{yaw,pitch,roll}( \f$ \c #orientation \f$
	// )*(Origin_{\text{reference coord system}}
	// - \f$ \c #position \f$ )\f$
	Orientation *Orientation3D `protobuf:"bytes,2,opt,name=orientation" json:"orientation,omitempty"`
	// contains filtered or unexported fields
}

\brief Specifies the mounting position of a sensor.

Details are specified in each instance where \c MountingPosition is used.

func (*MountingPosition) Descriptor deprecated

func (*MountingPosition) Descriptor() ([]byte, []int)

Deprecated: Use MountingPosition.ProtoReflect.Descriptor instead.

func (*MountingPosition) GetOrientation

func (x *MountingPosition) GetOrientation() *Orientation3D

func (*MountingPosition) GetPosition

func (x *MountingPosition) GetPosition() *Vector3D

func (*MountingPosition) ProtoMessage

func (*MountingPosition) ProtoMessage()

func (*MountingPosition) ProtoReflect

func (x *MountingPosition) ProtoReflect() protoreflect.Message

func (*MountingPosition) Reset

func (x *MountingPosition) Reset()

func (*MountingPosition) String

func (x *MountingPosition) String() string

type MovingObject

type MovingObject struct {

	// The ID of the object.
	//
	// \rules
	// is_globally_unique
	// is_set
	// \endrules
	Id *Identifier `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// The base parameters of the vehicle.
	//
	// \note The bounding box does NOT include side mirrors for vehicles.
	// \note The height includes the ground_clearance. It always goes from the
	// top to the ground.
	Base *BaseMoving `protobuf:"bytes,2,opt,name=base" json:"base,omitempty"`
	// The type of the object.
	Type *MovingObject_Type `protobuf:"varint,3,opt,name=type,enum=osi3.MovingObject_Type" json:"type,omitempty"`
	// The IDs of the lanes that this object is assigned to.
	//
	// \note Might be multiple if the object is switching lanes or moving from
	// one lane into another following lane.
	//
	// \note DEPRECATED: Use assigned_lane_id in MovingObjectClassification
	// instead.
	AssignedLaneId []*Identifier `protobuf:"bytes,4,rep,name=assigned_lane_id,json=assignedLaneId" json:"assigned_lane_id,omitempty"`
	// Specific information about the vehicle.
	//
	// \note This field is mandatory if the \c #type is
	// #TYPE_VEHICLE .
	//
	// \rules
	// check_if this.type is_equal_to 2 else do_check is_set
	// \endrules
	VehicleAttributes *MovingObject_VehicleAttributes `protobuf:"bytes,5,opt,name=vehicle_attributes,json=vehicleAttributes" json:"vehicle_attributes,omitempty"`
	// Specific information about the classification of the vehicle.
	//
	// \note This field is mandatory if the \c #type is
	// #TYPE_VEHICLE .
	//
	// \rules
	// check_if this.type is_equal_to 2 else do_check is_set
	// \endrules
	VehicleClassification *MovingObject_VehicleClassification `protobuf:"bytes,6,opt,name=vehicle_classification,json=vehicleClassification" json:"vehicle_classification,omitempty"`
	// Opaque reference of an associated 3D model of the moving object.
	//
	// \note It is implementation-specific how model_references are resolved to
	// 3d models.
	ModelReference *string `protobuf:"bytes,7,opt,name=model_reference,json=modelReference" json:"model_reference,omitempty"`
	// The trajectory that this moving object expects to follow in the future.
	//
	// This is not externally perceivable information, rather this is to aid
	// realistic simulation of traffic participants that are not under test.
	// This information should not be made available to the stack under test.
	//
	// \note Moving objects are not required to stick to this trajectory. It is
	// indicative and equivalent to the output of a perception and prediction
	// system.
	FutureTrajectory []*StatePoint `protobuf:"bytes,8,rep,name=future_trajectory,json=futureTrajectory" json:"future_trajectory,omitempty"`
	// Specific information about the classification of the vehicle.
	MovingObjectClassification *MovingObject_MovingObjectClassification `` /* 134-byte string literal not displayed */
	// Optional external reference to the moving-object source
	//
	// The external reference points to the source of an moving object, if it
	// is derived from an external sources like OpenSCENARIO.
	//
	// For example, to reference OpenSCENARIO entities of the type Vehicle or
	// Pedestrian, which describe moving objects, the items should be set as
	// follows:
	// * reference = URI to the OpenSCENARIO File
	// * type = "net.asam.openscenario"
	// * identifier[0] = Entity-Type ("Vehicle" or "Pedestrian")
	// * identifier[1] = name of Vehicle/Pedestrian in Entity
	//
	// \note For non-ASAM Standards, it is implementation-specific how
	//
	//	source_reference is resolved.
	//
	// \note The value has to be repeated because one object may be derived
	//
	//	from more than one origin source, for example, from a scenario file
	//	and from sensors.
	SourceReference []*ExternalReference `protobuf:"bytes,10,rep,name=source_reference,json=sourceReference" json:"source_reference,omitempty"`
	// The dominating color of the material of the moving object.
	ColorDescription *ColorDescription `protobuf:"bytes,11,opt,name=color_description,json=colorDescription" json:"color_description,omitempty"`
	// Specific information about the pedestrian.
	//
	// \note This field is mandatory if the \c #type is
	// #TYPE_PEDESTRIAN.
	//
	// \rules
	// check_if this.type is_equal_to 3 else do_check is_set
	// \endrules
	PedestrianAttributes *MovingObject_PedestrianAttributes `protobuf:"bytes,12,opt,name=pedestrian_attributes,json=pedestrianAttributes" json:"pedestrian_attributes,omitempty"`
	// contains filtered or unexported fields
}

\brief A simulated object that is either a vehicle or another moving object (animal, pedestrian, etc), but not a stationary object (\c TrafficLight, \c TrafficSign, or \c StationaryObject).

\image html OSI_MovingObject.svg

\image html OSI_HostVehicle.svg

\note The fields \c MovingObject::vehicle_attributes and \c MovingObject::vehicle_classification have to be filled if the \c MovingObject::Type is set to #TYPE_VEHICLE.

func (*MovingObject) Descriptor deprecated

func (*MovingObject) Descriptor() ([]byte, []int)

Deprecated: Use MovingObject.ProtoReflect.Descriptor instead.

func (*MovingObject) GetAssignedLaneId

func (x *MovingObject) GetAssignedLaneId() []*Identifier

func (*MovingObject) GetBase

func (x *MovingObject) GetBase() *BaseMoving

func (*MovingObject) GetColorDescription

func (x *MovingObject) GetColorDescription() *ColorDescription

func (*MovingObject) GetFutureTrajectory

func (x *MovingObject) GetFutureTrajectory() []*StatePoint

func (*MovingObject) GetId

func (x *MovingObject) GetId() *Identifier

func (*MovingObject) GetModelReference

func (x *MovingObject) GetModelReference() string

func (*MovingObject) GetMovingObjectClassification

func (x *MovingObject) GetMovingObjectClassification() *MovingObject_MovingObjectClassification

func (*MovingObject) GetPedestrianAttributes

func (x *MovingObject) GetPedestrianAttributes() *MovingObject_PedestrianAttributes

func (*MovingObject) GetSourceReference

func (x *MovingObject) GetSourceReference() []*ExternalReference

func (*MovingObject) GetType

func (x *MovingObject) GetType() MovingObject_Type

func (*MovingObject) GetVehicleAttributes

func (x *MovingObject) GetVehicleAttributes() *MovingObject_VehicleAttributes

func (*MovingObject) GetVehicleClassification

func (x *MovingObject) GetVehicleClassification() *MovingObject_VehicleClassification

func (*MovingObject) ProtoMessage

func (*MovingObject) ProtoMessage()

func (*MovingObject) ProtoReflect

func (x *MovingObject) ProtoReflect() protoreflect.Message

func (*MovingObject) Reset

func (x *MovingObject) Reset()

func (*MovingObject) String

func (x *MovingObject) String() string

type MovingObject_MovingObjectClassification

type MovingObject_MovingObjectClassification struct {

	// The IDs of the lanes that this object is assigned to.
	//
	// \note Might be multiple if the object is switching lanes or moving from
	// one lane into another following lane.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	AssignedLaneId []*Identifier `protobuf:"bytes,1,rep,name=assigned_lane_id,json=assignedLaneId" json:"assigned_lane_id,omitempty"`
	// Percentage value of the object width in the corresponding lane.
	//
	// \note Might be multiple if the object is switching lanes or moving from
	// one lane into another following lane.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	AssignedLanePercentage []float64 `protobuf:"fixed64,2,rep,name=assigned_lane_percentage,json=assignedLanePercentage" json:"assigned_lane_percentage,omitempty"`
	// Assignment of this object to logical lanes.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	LogicalLaneAssignment []*LogicalLaneAssignment `protobuf:"bytes,3,rep,name=logical_lane_assignment,json=logicalLaneAssignment" json:"logical_lane_assignment,omitempty"`
	// contains filtered or unexported fields
}

\brief Information for the classification of moving objects regarding \c MovingObject (host or other).

func (*MovingObject_MovingObjectClassification) Descriptor deprecated

func (*MovingObject_MovingObjectClassification) Descriptor() ([]byte, []int)

Deprecated: Use MovingObject_MovingObjectClassification.ProtoReflect.Descriptor instead.

func (*MovingObject_MovingObjectClassification) GetAssignedLaneId

func (x *MovingObject_MovingObjectClassification) GetAssignedLaneId() []*Identifier

func (*MovingObject_MovingObjectClassification) GetAssignedLanePercentage

func (x *MovingObject_MovingObjectClassification) GetAssignedLanePercentage() []float64

func (*MovingObject_MovingObjectClassification) GetLogicalLaneAssignment

func (x *MovingObject_MovingObjectClassification) GetLogicalLaneAssignment() []*LogicalLaneAssignment

func (*MovingObject_MovingObjectClassification) ProtoMessage

func (*MovingObject_MovingObjectClassification) ProtoReflect

func (*MovingObject_MovingObjectClassification) Reset

func (*MovingObject_MovingObjectClassification) String

type MovingObject_PedestrianAttributes

type MovingObject_PedestrianAttributes struct {

	// Position offset from the center of the bounding box to the current position
	// of the root point of the pedestrian skeleton model.
	BbcenterToRoot *Vector3D `protobuf:"bytes,1,opt,name=bbcenter_to_root,json=bbcenterToRoot" json:"bbcenter_to_root,omitempty"`
	// List of all bones of the pedestrian.
	//
	// The number of bones may vary, based on the detail level of
	// the pedestrian model used. For example, some simulators will not include
	// detailed data about the hands of a pedestrian.
	//
	// \note A bone of each type can be provided, or left out, depending
	// on the desired level of detail, or available data. However, if a
	// bone is defined, all bones in the chain from that bone back to
	// the root point must be provided to create a complete chain.
	SkeletonBone []*MovingObject_PedestrianAttributes_Bone `protobuf:"bytes,2,rep,name=skeleton_bone,json=skeletonBone" json:"skeleton_bone,omitempty"`
	// contains filtered or unexported fields
}

\brief Additional pedestrian data in case the moving object is a human.

This is an extension to the \c MovingObject with additional information describing a pedestrian in more detail.

func (*MovingObject_PedestrianAttributes) Descriptor deprecated

func (*MovingObject_PedestrianAttributes) Descriptor() ([]byte, []int)

Deprecated: Use MovingObject_PedestrianAttributes.ProtoReflect.Descriptor instead.

func (*MovingObject_PedestrianAttributes) GetBbcenterToRoot

func (x *MovingObject_PedestrianAttributes) GetBbcenterToRoot() *Vector3D

func (*MovingObject_PedestrianAttributes) GetSkeletonBone

func (*MovingObject_PedestrianAttributes) ProtoMessage

func (*MovingObject_PedestrianAttributes) ProtoMessage()

func (*MovingObject_PedestrianAttributes) ProtoReflect

func (*MovingObject_PedestrianAttributes) Reset

func (*MovingObject_PedestrianAttributes) String

type MovingObject_PedestrianAttributes_Bone

type MovingObject_PedestrianAttributes_Bone struct {

	// Bones are identified by their type, combined with which body side
	// they are on.
	//
	// To properly identify the bones the pre-defined naming convention
	// must be used.
	//
	// \image html OSI_SkeletonNamingConvention.svg
	//
	// A bone's name, position, and orientation is defined by the end-point closer
	// to the root. For example: the "LOWER_ARM_L" will define the point in the left
	// elbow of the model.
	//
	// If a bone which is more than one layer detached from the
	// root point is used, all bones between that bone and the root also
	// need to be defined in order to create a complete chain!
	//
	// If information about bones are missing, they may be left empty.
	Type *MovingObject_PedestrianAttributes_Bone_Type `protobuf:"varint,1,opt,name=type,enum=osi3.MovingObject_PedestrianAttributes_Bone_Type" json:"type,omitempty"`
	// Position of the bone.
	//
	// Reference System is the root, defined by bbcenter_to_root
	// (\c PedestrianAttributes::bbcenter_to_root).
	Position *Vector3D `protobuf:"bytes,2,opt,name=position" json:"position,omitempty"`
	// Orientation of the bone.
	//
	// Reference System is the root, defined by bbcenter_to_root
	// (\c PedestrianAttributes::bbcenter_to_root).
	Orientation *Orientation3D `protobuf:"bytes,3,opt,name=orientation" json:"orientation,omitempty"`
	// Length of the bone.
	//
	// Measured along its major axis.
	//
	// Unit: m
	Length *float32 `protobuf:"fixed32,4,opt,name=length" json:"length,omitempty"`
	// Determines whether a bone is explicitly missing from the pedestrian model.
	//
	// In case a pedestrian has missing limbs this can be explicitly communicated
	// by setting this boolean to TRUE.
	Missing *bool `protobuf:"varint,5,opt,name=missing" json:"missing,omitempty"`
	// The velocity of the bone.
	//
	// Reference System is the root, defined by bbcenter_to_root
	// (\c PedestrianAttributes::bbcenter_to_root).
	Velocity *Vector3D `protobuf:"bytes,6,opt,name=velocity" json:"velocity,omitempty"`
	// The orientation rate of the bone.
	//
	// Reference System is the root, defined by bbcenter_to_root
	// (\c PedestrianAttributes::bbcenter_to_root).
	OrientationRate *Orientation3D `protobuf:"bytes,7,opt,name=orientation_rate,json=orientationRate" json:"orientation_rate,omitempty"`
	// contains filtered or unexported fields
}

\brief Bones in the skeleton of the pedestrian.

Each point represents a joint, or otherwise important point in the skeleton of a pedestrian. For example pelvis, knee or shoulder. The naming convention should be followed for identifying bones.

func (*MovingObject_PedestrianAttributes_Bone) Descriptor deprecated

func (*MovingObject_PedestrianAttributes_Bone) Descriptor() ([]byte, []int)

Deprecated: Use MovingObject_PedestrianAttributes_Bone.ProtoReflect.Descriptor instead.

func (*MovingObject_PedestrianAttributes_Bone) GetLength

func (*MovingObject_PedestrianAttributes_Bone) GetMissing

func (*MovingObject_PedestrianAttributes_Bone) GetOrientation

func (*MovingObject_PedestrianAttributes_Bone) GetOrientationRate

func (x *MovingObject_PedestrianAttributes_Bone) GetOrientationRate() *Orientation3D

func (*MovingObject_PedestrianAttributes_Bone) GetPosition

func (*MovingObject_PedestrianAttributes_Bone) GetType

func (*MovingObject_PedestrianAttributes_Bone) GetVelocity

func (*MovingObject_PedestrianAttributes_Bone) ProtoMessage

func (*MovingObject_PedestrianAttributes_Bone) ProtoReflect

func (*MovingObject_PedestrianAttributes_Bone) Reset

func (*MovingObject_PedestrianAttributes_Bone) String

type MovingObject_PedestrianAttributes_Bone_Type

type MovingObject_PedestrianAttributes_Bone_Type int32

The type of the bone.

\image html OSI_PedestrianModelHierarchy.jpg

const (
	// Root point of the pedestrian. Defined by bbcenter_to_root
	// (\c PedestrianAttributes::bbcenter_to_root).
	MovingObject_PedestrianAttributes_Bone_TYPE_ROOT MovingObject_PedestrianAttributes_Bone_Type = 0
	// Bone defining the hip.
	MovingObject_PedestrianAttributes_Bone_TYPE_HIP MovingObject_PedestrianAttributes_Bone_Type = 1
	// Bone defining the lower part of the spine.
	MovingObject_PedestrianAttributes_Bone_TYPE_LOWER_SPINE MovingObject_PedestrianAttributes_Bone_Type = 2
	// Bone defining the upper part of the spine.
	MovingObject_PedestrianAttributes_Bone_TYPE_UPPER_SPINE MovingObject_PedestrianAttributes_Bone_Type = 3
	// Bone defining the neck.
	MovingObject_PedestrianAttributes_Bone_TYPE_NECK MovingObject_PedestrianAttributes_Bone_Type = 4
	// Bone defining the head.
	MovingObject_PedestrianAttributes_Bone_TYPE_HEAD MovingObject_PedestrianAttributes_Bone_Type = 5
	// Bone defining the left shoulder.
	MovingObject_PedestrianAttributes_Bone_TYPE_SHOULDER_L MovingObject_PedestrianAttributes_Bone_Type = 6
	// Bone defining the right shoulder.
	MovingObject_PedestrianAttributes_Bone_TYPE_SHOULDER_R MovingObject_PedestrianAttributes_Bone_Type = 7
	// Bone defining the left upper arm.
	MovingObject_PedestrianAttributes_Bone_TYPE_UPPER_ARM_L MovingObject_PedestrianAttributes_Bone_Type = 8
	// Bone defining the right upper arm.
	MovingObject_PedestrianAttributes_Bone_TYPE_UPPER_ARM_R MovingObject_PedestrianAttributes_Bone_Type = 9
	// Bone defining the left forearm.
	MovingObject_PedestrianAttributes_Bone_TYPE_LOWER_ARM_L MovingObject_PedestrianAttributes_Bone_Type = 10
	// Bone defining the right forearm.
	MovingObject_PedestrianAttributes_Bone_TYPE_LOWER_ARM_R MovingObject_PedestrianAttributes_Bone_Type = 11
	// Bone defining the left hand.
	MovingObject_PedestrianAttributes_Bone_TYPE_FULL_HAND_L MovingObject_PedestrianAttributes_Bone_Type = 12
	// Bone defining the right hand.
	MovingObject_PedestrianAttributes_Bone_TYPE_FULL_HAND_R MovingObject_PedestrianAttributes_Bone_Type = 13
	// Bone defining the left thigh.
	MovingObject_PedestrianAttributes_Bone_TYPE_UPPER_LEG_L MovingObject_PedestrianAttributes_Bone_Type = 14
	// Bone defining the right thigh.
	MovingObject_PedestrianAttributes_Bone_TYPE_UPPER_LEG_R MovingObject_PedestrianAttributes_Bone_Type = 15
	// Bone defining the left shin.
	MovingObject_PedestrianAttributes_Bone_TYPE_LOWER_LEG_L MovingObject_PedestrianAttributes_Bone_Type = 16
	// Bone defining the right shin.
	MovingObject_PedestrianAttributes_Bone_TYPE_LOWER_LEG_R MovingObject_PedestrianAttributes_Bone_Type = 17
	// Bone defining the left foot.
	MovingObject_PedestrianAttributes_Bone_TYPE_FULL_FOOT_L MovingObject_PedestrianAttributes_Bone_Type = 18
	// Bone defining the right foot.
	MovingObject_PedestrianAttributes_Bone_TYPE_FULL_FOOT_R MovingObject_PedestrianAttributes_Bone_Type = 19
)

func (MovingObject_PedestrianAttributes_Bone_Type) Descriptor

func (MovingObject_PedestrianAttributes_Bone_Type) Enum

func (MovingObject_PedestrianAttributes_Bone_Type) EnumDescriptor deprecated

func (MovingObject_PedestrianAttributes_Bone_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use MovingObject_PedestrianAttributes_Bone_Type.Descriptor instead.

func (MovingObject_PedestrianAttributes_Bone_Type) Number

func (MovingObject_PedestrianAttributes_Bone_Type) String

func (MovingObject_PedestrianAttributes_Bone_Type) Type

func (*MovingObject_PedestrianAttributes_Bone_Type) UnmarshalJSON deprecated

Deprecated: Do not use.

type MovingObject_Type

type MovingObject_Type int32

Definition of object types.

const (
	// Type of the object is unknown (must not be used in ground truth).
	MovingObject_TYPE_UNKNOWN MovingObject_Type = 0
	// Other (unspecified but known) type of moving object.
	MovingObject_TYPE_OTHER MovingObject_Type = 1
	// Object is a vehicle.
	MovingObject_TYPE_VEHICLE MovingObject_Type = 2
	// Object is a pedestrian.
	MovingObject_TYPE_PEDESTRIAN MovingObject_Type = 3
	// Object is an animal.
	MovingObject_TYPE_ANIMAL MovingObject_Type = 4
)

func (MovingObject_Type) Descriptor

func (MovingObject_Type) Enum

func (MovingObject_Type) EnumDescriptor deprecated

func (MovingObject_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use MovingObject_Type.Descriptor instead.

func (MovingObject_Type) Number

func (MovingObject_Type) String

func (x MovingObject_Type) String() string

func (MovingObject_Type) Type

func (*MovingObject_Type) UnmarshalJSON deprecated

func (x *MovingObject_Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type MovingObject_VehicleAttributes

type MovingObject_VehicleAttributes struct {

	// The ID of the driver of the (host) vehicle.
	//
	// \note Field need not be set if host_vehicle is set to false or use
	// value for non valid id.
	DriverId *Identifier `protobuf:"bytes,1,opt,name=driver_id,json=driverId" json:"driver_id,omitempty"`
	// Deprecated: Will be removed in next major release. Moved to WheelData.
	// Median radius of the wheels measured from a center of the wheel
	// including tire.
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	RadiusWheel *float64 `protobuf:"fixed64,2,opt,name=radius_wheel,json=radiusWheel" json:"radius_wheel,omitempty"`
	// Number of independent wheels.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	NumberWheels *uint32 `protobuf:"varint,3,opt,name=number_wheels,json=numberWheels" json:"number_wheels,omitempty"`
	// The vector pointing from the bounding box center point (\c
	// MovingObject::base . \c BaseMoving::position) to the middle (in x, y
	// and z) of the rear axle under neutral load conditions. In object
	// coordinates.
	BbcenterToRear *Vector3D `protobuf:"bytes,4,opt,name=bbcenter_to_rear,json=bbcenterToRear" json:"bbcenter_to_rear,omitempty"`
	// The vector pointing from the bounding box center point (\c
	// MovingObject::base . \c BaseMoving::position) to the middle (in x, y
	// and z) of the front axle under neutral load conditions. In object
	// coordinates.
	BbcenterToFront *Vector3D `protobuf:"bytes,5,opt,name=bbcenter_to_front,json=bbcenterToFront" json:"bbcenter_to_front,omitempty"`
	// Static minimal distance or space from the lowest point of the vehicle's
	// body to the surface plane below it under neutral load conditions. This
	// distance disregards, for example, driving-dynamic effects or
	// road-surface effects. Can be useful to approximate the clearance area
	// under a vehicle that a sensor can see through.
	// \note \c ground_clearance is included in the bounding box height.
	GroundClearance *float64 `protobuf:"fixed64,6,opt,name=ground_clearance,json=groundClearance" json:"ground_clearance,omitempty"`
	// Description of each wheel.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	WheelData []*MovingObject_VehicleAttributes_WheelData `protobuf:"bytes,7,rep,name=wheel_data,json=wheelData" json:"wheel_data,omitempty"`
	// Angle of the steering wheel.
	// Zero means the steering wheel is in its center position, a positive value
	// means the steering wheel is turned to the left and a negative value
	// means the steering wheel is turned to the right of the center position.
	//
	// Unit: rad
	SteeringWheelAngle *float64 `protobuf:"fixed64,8,opt,name=steering_wheel_angle,json=steeringWheelAngle" json:"steering_wheel_angle,omitempty"`
	// contains filtered or unexported fields
}

\brief The vehicle attributes for \c MovingObject (host or other).

This is an extension to the \c MovingObject with additional attributes, such as type and lights. The origin of the rear (front) axis coordinate system in global coordinates is calculated as: \c MovingObject::base . \c BaseMoving::position + R * \c MovingObject::VehicleAttributes::bbcenter_to_rear (front) for the host vehicle (R rotates from vehicle to world frame, i.e. inverse orientation of \c MovingObject::base . \c BaseMoving::orientation).

For all vehicles, including host vehicles, the position given in

\c MovingObject::base . \c BaseMoving::position points to the center of
the vehicle's bounding box.

The vehicle object coordinates are defined as x-axis is the direction from rear to front of the vehicle, y-axis corresponds to rear axle and z-axis points to vehicle ceiling [1]. The coordinate system is right-handed. Therefore the positive y-axis points to the left of the vehicle.

\par Reference: [1] DIN Deutsches Institut fuer Normung e. V. (2013). <em>DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe</em>. (DIN ISO 8855:2013-11). Berlin, Germany.

func (*MovingObject_VehicleAttributes) Descriptor deprecated

func (*MovingObject_VehicleAttributes) Descriptor() ([]byte, []int)

Deprecated: Use MovingObject_VehicleAttributes.ProtoReflect.Descriptor instead.

func (*MovingObject_VehicleAttributes) GetBbcenterToFront

func (x *MovingObject_VehicleAttributes) GetBbcenterToFront() *Vector3D

func (*MovingObject_VehicleAttributes) GetBbcenterToRear

func (x *MovingObject_VehicleAttributes) GetBbcenterToRear() *Vector3D

func (*MovingObject_VehicleAttributes) GetDriverId

func (x *MovingObject_VehicleAttributes) GetDriverId() *Identifier

func (*MovingObject_VehicleAttributes) GetGroundClearance

func (x *MovingObject_VehicleAttributes) GetGroundClearance() float64

func (*MovingObject_VehicleAttributes) GetNumberWheels

func (x *MovingObject_VehicleAttributes) GetNumberWheels() uint32

func (*MovingObject_VehicleAttributes) GetRadiusWheel

func (x *MovingObject_VehicleAttributes) GetRadiusWheel() float64

func (*MovingObject_VehicleAttributes) GetSteeringWheelAngle

func (x *MovingObject_VehicleAttributes) GetSteeringWheelAngle() float64

func (*MovingObject_VehicleAttributes) GetWheelData

func (*MovingObject_VehicleAttributes) ProtoMessage

func (*MovingObject_VehicleAttributes) ProtoMessage()

func (*MovingObject_VehicleAttributes) ProtoReflect

func (*MovingObject_VehicleAttributes) Reset

func (x *MovingObject_VehicleAttributes) Reset()

func (*MovingObject_VehicleAttributes) String

type MovingObject_VehicleAttributes_WheelData

type MovingObject_VehicleAttributes_WheelData struct {

	// The axle which contains this wheel. A value of 0 represents the
	// front-most axle of the vehicle with higher numbers incrementing
	// towards the rear-most axle.
	Axle *uint32 `protobuf:"varint,1,opt,name=axle" json:"axle,omitempty"`
	// The index of the wheel on the axle, counting in the direction
	// of positive-y, that is, right-to-left.
	//
	// For example, on a standard 2-axle, 4-wheel car, the rear-right
	// wheel would be (axle=1, index=0).
	// This concept works also for twin tires.
	Index *uint32 `protobuf:"varint,2,opt,name=index" json:"index,omitempty"`
	// A vector pointing from the vehicle's reference system (center of bounding
	// box) to the geometric center of the wheel.
	Position *Vector3D `protobuf:"bytes,3,opt,name=position" json:"position,omitempty"`
	// Median radius of the wheel measured from the center of the wheel to
	// the outer part of the tire.
	//
	// Unit: m
	WheelRadius *float64 `protobuf:"fixed64,4,opt,name=wheel_radius,json=wheelRadius" json:"wheel_radius,omitempty"`
	// Median radius of the rim measured from the center to the outer, visible part of the rim.
	//
	// Unit: m
	RimRadius *float64 `protobuf:"fixed64,5,opt,name=rim_radius,json=rimRadius" json:"rim_radius,omitempty"`
	// Median width of the tire.
	//
	// Unit: m
	Width *float64 `protobuf:"fixed64,6,opt,name=width" json:"width,omitempty"`
	// Orientation of the wheel.
	//
	// The reference system is the vehicle frame (center of bounding box).
	Orientation *Orientation3D `protobuf:"bytes,7,opt,name=orientation" json:"orientation,omitempty"`
	// Rotation rate of the wheel.
	// The rotation rate around the y-axis with respect to the wheel's coordinate system.
	//
	// Unit: rad/s.
	//
	// The sign convention is defined using the right-hand rule.
	// It is applied on the y-axis of the vehicle's reference system (center of bounding box).
	// Counterclockwise is positive and clockwise is negative.
	//
	// \image html OSI_RotationRate.svg
	// \note The vehicle's reference coordinate system is only used to determine the sign convention of the rotation rate.
	RotationRate *float64 `protobuf:"fixed64,8,opt,name=rotation_rate,json=rotationRate" json:"rotation_rate,omitempty"`
	// Opaque reference of an associated 3D model of the wheel.
	//
	// \note It is implementation-specific how model_references are resolved to
	// 3d models.
	ModelReference *string `protobuf:"bytes,9,opt,name=model_reference,json=modelReference" json:"model_reference,omitempty"`
	// The value describes the kinetic friction of the tire's contact point.
	// If different friction coefficients due to more than one contact points are available,
	// this value contains the average.
	//
	// Unit: Dimensionless
	//
	// \par References:
	// [1] Britannica, T. Editors of Encyclopaedia. (2020, June 24). <em>coefficient of friction</em>. Retrieved May 18, 2022, from https://www.britannica.com/science/coefficient-of-friction
	FrictionCoefficient *float64 `protobuf:"fixed64,10,opt,name=friction_coefficient,json=frictionCoefficient" json:"friction_coefficient,omitempty"`
	// contains filtered or unexported fields
}

\brief Detailed wheel data. The focus is on the description of a wheel regarding the perceivable information from the outside. It is not intended to be used for dynamic calculations, for example.

func (*MovingObject_VehicleAttributes_WheelData) Descriptor deprecated

func (*MovingObject_VehicleAttributes_WheelData) Descriptor() ([]byte, []int)

Deprecated: Use MovingObject_VehicleAttributes_WheelData.ProtoReflect.Descriptor instead.

func (*MovingObject_VehicleAttributes_WheelData) GetAxle

func (*MovingObject_VehicleAttributes_WheelData) GetFrictionCoefficient

func (x *MovingObject_VehicleAttributes_WheelData) GetFrictionCoefficient() float64

func (*MovingObject_VehicleAttributes_WheelData) GetIndex

func (*MovingObject_VehicleAttributes_WheelData) GetModelReference

func (x *MovingObject_VehicleAttributes_WheelData) GetModelReference() string

func (*MovingObject_VehicleAttributes_WheelData) GetOrientation

func (*MovingObject_VehicleAttributes_WheelData) GetPosition

func (*MovingObject_VehicleAttributes_WheelData) GetRimRadius

func (*MovingObject_VehicleAttributes_WheelData) GetRotationRate

func (*MovingObject_VehicleAttributes_WheelData) GetWheelRadius

func (*MovingObject_VehicleAttributes_WheelData) GetWidth

func (*MovingObject_VehicleAttributes_WheelData) ProtoMessage

func (*MovingObject_VehicleAttributes_WheelData) ProtoReflect

func (*MovingObject_VehicleAttributes_WheelData) Reset

func (*MovingObject_VehicleAttributes_WheelData) String

type MovingObject_VehicleClassification

type MovingObject_VehicleClassification struct {

	// The type of the vehicle.
	Type *MovingObject_VehicleClassification_Type `protobuf:"varint,1,opt,name=type,enum=osi3.MovingObject_VehicleClassification_Type" json:"type,omitempty"`
	// The light state of the vehicle.
	LightState *MovingObject_VehicleClassification_LightState `protobuf:"bytes,2,opt,name=light_state,json=lightState" json:"light_state,omitempty"`
	// Flag defining whether the vehicle has an attached trailer.
	HasTrailer *bool `protobuf:"varint,3,opt,name=has_trailer,json=hasTrailer" json:"has_trailer,omitempty"`
	// Id of the attached trailer.
	//
	// \note Field need not be set if has_Trailer is set to false or use
	// value for non valid id.
	//
	// \rules
	// check_if this.has_trailer is_equal_to true else do_check is_set
	// \endrules
	TrailerId *Identifier `protobuf:"bytes,4,opt,name=trailer_id,json=trailerId" json:"trailer_id,omitempty"`
	// The role of the vehicle.
	Role *MovingObject_VehicleClassification_Role `protobuf:"varint,5,opt,name=role,enum=osi3.MovingObject_VehicleClassification_Role" json:"role,omitempty"`
	// contains filtered or unexported fields
}

\brief Information for the classification of vehicles regarding \c MovingObject (host or other).

func (*MovingObject_VehicleClassification) Descriptor deprecated

func (*MovingObject_VehicleClassification) Descriptor() ([]byte, []int)

Deprecated: Use MovingObject_VehicleClassification.ProtoReflect.Descriptor instead.

func (*MovingObject_VehicleClassification) GetHasTrailer

func (x *MovingObject_VehicleClassification) GetHasTrailer() bool

func (*MovingObject_VehicleClassification) GetLightState

func (*MovingObject_VehicleClassification) GetRole

func (*MovingObject_VehicleClassification) GetTrailerId

func (*MovingObject_VehicleClassification) GetType

func (*MovingObject_VehicleClassification) ProtoMessage

func (*MovingObject_VehicleClassification) ProtoMessage()

func (*MovingObject_VehicleClassification) ProtoReflect

func (*MovingObject_VehicleClassification) Reset

func (*MovingObject_VehicleClassification) String

type MovingObject_VehicleClassification_LightState

type MovingObject_VehicleClassification_LightState struct {

	// State of the object's indicators.
	IndicatorState *MovingObject_VehicleClassification_LightState_IndicatorState `` /* 168-byte string literal not displayed */
	// State of the front fog light.
	FrontFogLight *MovingObject_VehicleClassification_LightState_GenericLightState `` /* 170-byte string literal not displayed */
	// State of the rear fog light.
	RearFogLight *MovingObject_VehicleClassification_LightState_GenericLightState `` /* 167-byte string literal not displayed */
	// State of the head lights.
	HeadLight *MovingObject_VehicleClassification_LightState_GenericLightState `` /* 156-byte string literal not displayed */
	// State of the high beam.
	HighBeam *MovingObject_VehicleClassification_LightState_GenericLightState `` /* 153-byte string literal not displayed */
	// State of the reversing light.
	ReversingLight *MovingObject_VehicleClassification_LightState_GenericLightState `` /* 171-byte string literal not displayed */
	// State of the brake lights.
	BrakeLightState *MovingObject_VehicleClassification_LightState_BrakeLightState `` /* 174-byte string literal not displayed */
	// State of the (rear) license plate illumination.
	LicensePlateIlluminationRear *MovingObject_VehicleClassification_LightState_GenericLightState `` /* 217-byte string literal not displayed */
	// Lighting of emergency vehicles (ambulance, fire engine, police
	// car, etc.). Must be set only if a vehicle is allowed to use this
	// illumination type.
	EmergencyVehicleIllumination *MovingObject_VehicleClassification_LightState_GenericLightState `` /* 215-byte string literal not displayed */
	// Lighting of service vehicles (snow removal, garbage truck, towing
	// vehicle, slow or wide vehicle, etc.). Must be set only if a
	// vehicle is allowed to use this illumination type.
	ServiceVehicleIllumination *MovingObject_VehicleClassification_LightState_GenericLightState `` /* 210-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief The state of the lights of a vehicle.

func (*MovingObject_VehicleClassification_LightState) Descriptor deprecated

Deprecated: Use MovingObject_VehicleClassification_LightState.ProtoReflect.Descriptor instead.

func (*MovingObject_VehicleClassification_LightState) GetBrakeLightState

func (*MovingObject_VehicleClassification_LightState) GetEmergencyVehicleIllumination

func (*MovingObject_VehicleClassification_LightState) GetFrontFogLight

func (*MovingObject_VehicleClassification_LightState) GetHeadLight

func (*MovingObject_VehicleClassification_LightState) GetHighBeam

func (*MovingObject_VehicleClassification_LightState) GetIndicatorState

func (*MovingObject_VehicleClassification_LightState) GetLicensePlateIlluminationRear

func (*MovingObject_VehicleClassification_LightState) GetRearFogLight

func (*MovingObject_VehicleClassification_LightState) GetReversingLight

func (*MovingObject_VehicleClassification_LightState) GetServiceVehicleIllumination

func (*MovingObject_VehicleClassification_LightState) ProtoMessage

func (*MovingObject_VehicleClassification_LightState) ProtoReflect

func (*MovingObject_VehicleClassification_LightState) Reset

func (*MovingObject_VehicleClassification_LightState) String

type MovingObject_VehicleClassification_LightState_BrakeLightState

type MovingObject_VehicleClassification_LightState_BrakeLightState int32

Definition of brake light states.

const (
	// Brake light state is unknown (must not be used in ground
	// truth).
	MovingObject_VehicleClassification_LightState_BRAKE_LIGHT_STATE_UNKNOWN MovingObject_VehicleClassification_LightState_BrakeLightState = 0
	// Other (unspecified but known) state of brake light.
	MovingObject_VehicleClassification_LightState_BRAKE_LIGHT_STATE_OTHER MovingObject_VehicleClassification_LightState_BrakeLightState = 1
	// Brake lights are off.
	MovingObject_VehicleClassification_LightState_BRAKE_LIGHT_STATE_OFF MovingObject_VehicleClassification_LightState_BrakeLightState = 2
	// Brake lights are on with normal intensity.
	MovingObject_VehicleClassification_LightState_BRAKE_LIGHT_STATE_NORMAL MovingObject_VehicleClassification_LightState_BrakeLightState = 3
	// Brake lights are on with extra bright intensity (indicating
	// stronger braking).
	MovingObject_VehicleClassification_LightState_BRAKE_LIGHT_STATE_STRONG MovingObject_VehicleClassification_LightState_BrakeLightState = 4
)

func (MovingObject_VehicleClassification_LightState_BrakeLightState) Descriptor

func (MovingObject_VehicleClassification_LightState_BrakeLightState) Enum

func (MovingObject_VehicleClassification_LightState_BrakeLightState) EnumDescriptor deprecated

Deprecated: Use MovingObject_VehicleClassification_LightState_BrakeLightState.Descriptor instead.

func (MovingObject_VehicleClassification_LightState_BrakeLightState) Number

func (MovingObject_VehicleClassification_LightState_BrakeLightState) String

func (MovingObject_VehicleClassification_LightState_BrakeLightState) Type

func (*MovingObject_VehicleClassification_LightState_BrakeLightState) UnmarshalJSON deprecated

Deprecated: Do not use.

type MovingObject_VehicleClassification_LightState_GenericLightState

type MovingObject_VehicleClassification_LightState_GenericLightState int32

Definition of generic light states for light that may be on or off.

const (
	// Light state is unknown (must not be used in ground truth).
	MovingObject_VehicleClassification_LightState_GENERIC_LIGHT_STATE_UNKNOWN MovingObject_VehicleClassification_LightState_GenericLightState = 0
	// Other (unspecified but known) state of light.
	MovingObject_VehicleClassification_LightState_GENERIC_LIGHT_STATE_OTHER MovingObject_VehicleClassification_LightState_GenericLightState = 1
	// Light is off.
	MovingObject_VehicleClassification_LightState_GENERIC_LIGHT_STATE_OFF MovingObject_VehicleClassification_LightState_GenericLightState = 2
	// Light is on.
	MovingObject_VehicleClassification_LightState_GENERIC_LIGHT_STATE_ON MovingObject_VehicleClassification_LightState_GenericLightState = 3
	// Light is flashing blue.
	// To be used for emergency vehicles.
	MovingObject_VehicleClassification_LightState_GENERIC_LIGHT_STATE_FLASHING_BLUE MovingObject_VehicleClassification_LightState_GenericLightState = 4
	// Light is flashing blue and red.
	// To be used for emergency vehicles.
	MovingObject_VehicleClassification_LightState_GENERIC_LIGHT_STATE_FLASHING_BLUE_AND_RED MovingObject_VehicleClassification_LightState_GenericLightState = 5
	// Light is flashing amber.
	// To be used for service vehicles.
	MovingObject_VehicleClassification_LightState_GENERIC_LIGHT_STATE_FLASHING_AMBER MovingObject_VehicleClassification_LightState_GenericLightState = 6
)

func (MovingObject_VehicleClassification_LightState_GenericLightState) Descriptor

func (MovingObject_VehicleClassification_LightState_GenericLightState) Enum

func (MovingObject_VehicleClassification_LightState_GenericLightState) EnumDescriptor deprecated

Deprecated: Use MovingObject_VehicleClassification_LightState_GenericLightState.Descriptor instead.

func (MovingObject_VehicleClassification_LightState_GenericLightState) Number

func (MovingObject_VehicleClassification_LightState_GenericLightState) String

func (MovingObject_VehicleClassification_LightState_GenericLightState) Type

func (*MovingObject_VehicleClassification_LightState_GenericLightState) UnmarshalJSON deprecated

Deprecated: Do not use.

type MovingObject_VehicleClassification_LightState_IndicatorState

type MovingObject_VehicleClassification_LightState_IndicatorState int32

Definition of indicator states.

const (
	// Indicator state is unknown (must not be used in ground
	// truth).
	MovingObject_VehicleClassification_LightState_INDICATOR_STATE_UNKNOWN MovingObject_VehicleClassification_LightState_IndicatorState = 0
	// Other (unspecified but known) state of indicator.
	MovingObject_VehicleClassification_LightState_INDICATOR_STATE_OTHER MovingObject_VehicleClassification_LightState_IndicatorState = 1
	// Indicators are off.
	MovingObject_VehicleClassification_LightState_INDICATOR_STATE_OFF MovingObject_VehicleClassification_LightState_IndicatorState = 2
	// Left indicator is on.
	MovingObject_VehicleClassification_LightState_INDICATOR_STATE_LEFT MovingObject_VehicleClassification_LightState_IndicatorState = 3
	// Right indicator is on.
	MovingObject_VehicleClassification_LightState_INDICATOR_STATE_RIGHT MovingObject_VehicleClassification_LightState_IndicatorState = 4
	// Hazard/warning light, i.e. both indicators, are on.
	MovingObject_VehicleClassification_LightState_INDICATOR_STATE_WARNING MovingObject_VehicleClassification_LightState_IndicatorState = 5
)

func (MovingObject_VehicleClassification_LightState_IndicatorState) Descriptor

func (MovingObject_VehicleClassification_LightState_IndicatorState) Enum

func (MovingObject_VehicleClassification_LightState_IndicatorState) EnumDescriptor deprecated

Deprecated: Use MovingObject_VehicleClassification_LightState_IndicatorState.Descriptor instead.

func (MovingObject_VehicleClassification_LightState_IndicatorState) Number

func (MovingObject_VehicleClassification_LightState_IndicatorState) String

func (MovingObject_VehicleClassification_LightState_IndicatorState) Type

func (*MovingObject_VehicleClassification_LightState_IndicatorState) UnmarshalJSON deprecated

Deprecated: Do not use.

type MovingObject_VehicleClassification_Role

type MovingObject_VehicleClassification_Role int32

Definition of vehicle roles.

The role specifies the perceived role of a vehicle. Therefore, a civil police car is set to ROLE_CIVIL as long as it cannot be perceived as a ROLE_POLICE. The normal use case will consist of 99% ROLE_CIVIL, as this role is used for normal vehicles. These roles may influence the behavior in traffic of the surrounding vehicles. To check whether a role is "active" (e.g. blue flashing light of an ambulance or an amber flashing light of a sweeper) can be looked up in message LightState.

const (
	// Role of vehicle is unknown (must not be used in ground truth).
	MovingObject_VehicleClassification_ROLE_UNKNOWN MovingObject_VehicleClassification_Role = 0
	// Other (unspecified but known) role of vehicle.
	MovingObject_VehicleClassification_ROLE_OTHER MovingObject_VehicleClassification_Role = 1
	// The vehicle role is civil, e.g. a "normal" car.
	MovingObject_VehicleClassification_ROLE_CIVIL MovingObject_VehicleClassification_Role = 2
	// The vehicle role is ambulance.
	MovingObject_VehicleClassification_ROLE_AMBULANCE MovingObject_VehicleClassification_Role = 3
	// The vehicle role is fire fighting, e.g. fire engine.
	MovingObject_VehicleClassification_ROLE_FIRE MovingObject_VehicleClassification_Role = 4
	// The vehicle role is police.
	MovingObject_VehicleClassification_ROLE_POLICE MovingObject_VehicleClassification_Role = 5
	// The vehicle role is public transport, e.g. a school bus.
	MovingObject_VehicleClassification_ROLE_PUBLIC_TRANSPORT MovingObject_VehicleClassification_Role = 6
	// The vehicle role is roadside assistance, e.g. tow truck.
	MovingObject_VehicleClassification_ROLE_ROAD_ASSISTANCE MovingObject_VehicleClassification_Role = 7
	// The vehicle role is garbage collection, e.g. a garbage truck or sweeper.
	MovingObject_VehicleClassification_ROLE_GARBAGE_COLLECTION MovingObject_VehicleClassification_Role = 8
	// The vehicle role is road construction, e.g. a excavator or tipper truck.
	MovingObject_VehicleClassification_ROLE_ROAD_CONSTRUCTION MovingObject_VehicleClassification_Role = 9
	// The vehicle role is military, e.g. camouflaged truck.
	MovingObject_VehicleClassification_ROLE_MILITARY MovingObject_VehicleClassification_Role = 10
)

func (MovingObject_VehicleClassification_Role) Descriptor

func (MovingObject_VehicleClassification_Role) Enum

func (MovingObject_VehicleClassification_Role) EnumDescriptor deprecated

func (MovingObject_VehicleClassification_Role) EnumDescriptor() ([]byte, []int)

Deprecated: Use MovingObject_VehicleClassification_Role.Descriptor instead.

func (MovingObject_VehicleClassification_Role) Number

func (MovingObject_VehicleClassification_Role) String

func (MovingObject_VehicleClassification_Role) Type

func (*MovingObject_VehicleClassification_Role) UnmarshalJSON deprecated

func (x *MovingObject_VehicleClassification_Role) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type MovingObject_VehicleClassification_Type

type MovingObject_VehicleClassification_Type int32

Definition of vehicle types.

\note OSI provides a richer set of vehicle types than is supported by some other OpenX standards (in particular, OpenScenario 1.x and 2.x, and OpenLabel). This is primarily for historical reasons. Where a single type from a different standard can map to multiple OSI types it is left up to the discretion of the OSI implementer how that mapping is achieved. In previous versions, for example, a simulator might have used the dimensions of a provided 3d model of a vehicle with type "car" in OpenScenario, to determine whether it should be a TYPE_SMALL_CAR or TYPE_MEDIUM_CAR in OSI. As part of the harmonization effort, it should now map to TYPE_CAR, which is an alias of the old TYPE_MEDIUM_CAR, and all other car type enums have been deprecated in favor of TYPE_CAR.

\note Vehicle type classification is a complex area and there are no universally recognized standards. As such, the boundaries between some of the OSI vehicle types are not well-defined. It is left to the implementer to decide how to distinguish between them and agree that with any applications which make use of that specific interface instance. For example, how to distinguish between a HEAVY_TRUCK and a DELIVERY_VAN, or a TRAILER and a SEMITRAILER.

const (
	// Type of vehicle is unknown (must not be used in ground truth).
	MovingObject_VehicleClassification_TYPE_UNKNOWN MovingObject_VehicleClassification_Type = 0
	// Other (unspecified but known) type of vehicle.
	MovingObject_VehicleClassification_TYPE_OTHER MovingObject_VehicleClassification_Type = 1
	// Vehicle is a small car.
	//
	// Definition: Hatchback car with maximum length 4 m.
	//
	// \note Deprecated differentiation, use TYPE_CAR instead
	MovingObject_VehicleClassification_TYPE_SMALL_CAR MovingObject_VehicleClassification_Type = 2
	// Vehicle is a compact car.
	//
	// Definition: Hatchback car with length between 4 and 4.5 m.
	//
	// \note Deprecated differentiation, use TYPE_CAR instead
	MovingObject_VehicleClassification_TYPE_COMPACT_CAR MovingObject_VehicleClassification_Type = 3
	// Vehicle is a car.
	//
	// This is to be used for all car-like vehicles, without any
	// further differentiated type available.
	MovingObject_VehicleClassification_TYPE_CAR MovingObject_VehicleClassification_Type = 4
	// Vehicle is a medium car.
	//
	// Definition: Hatchback or sedan with length between 4.5 and 5 m.
	//
	// \note Deprecated differentiation, use the alias TYPE_CAR instead
	MovingObject_VehicleClassification_TYPE_MEDIUM_CAR MovingObject_VehicleClassification_Type = 4
	// Vehicle is a luxury  car.
	//
	// Definition: Sedan or coupe that is longer then 5 m.
	//
	// \note Deprecated differentiation, use TYPE_CAR instead
	MovingObject_VehicleClassification_TYPE_LUXURY_CAR MovingObject_VehicleClassification_Type = 5
	// Vehicle is a delivery van.
	//
	// \image html OSI_TYPE_DELIVERY_VAN.svg
	MovingObject_VehicleClassification_TYPE_DELIVERY_VAN MovingObject_VehicleClassification_Type = 6
	// Vehicle is a (heavy) truck.
	//
	// \image html OSI_TYPE_HEAVY_TRUCK.svg
	MovingObject_VehicleClassification_TYPE_HEAVY_TRUCK MovingObject_VehicleClassification_Type = 7
	// Vehicle is a tractor capable of pulling a semi-trailer.
	//
	// \image html OSI_TYPE_SEMITRACTOR.svg
	MovingObject_VehicleClassification_TYPE_SEMITRACTOR MovingObject_VehicleClassification_Type = 16
	// This vehicle is a semi-trailer that can be pulled by a
	// semi-tractor.
	//
	// \note The vehicle can be, but doesn't need to be,
	// attached to another vehicle.
	//
	// \image html OSI_TYPE_SEMITRAILER.svg
	MovingObject_VehicleClassification_TYPE_SEMITRAILER MovingObject_VehicleClassification_Type = 8
	// Vehicle is a trailer.
	//
	// \note The vehicle can be, but doesn't need to be,
	// attached to another vehicle.
	//
	// \image html OSI_TYPE_TRAILER.svg
	MovingObject_VehicleClassification_TYPE_TRAILER MovingObject_VehicleClassification_Type = 9
	// Vehicle is a motorbike or moped.
	MovingObject_VehicleClassification_TYPE_MOTORBIKE MovingObject_VehicleClassification_Type = 10
	// Vehicle is a bicycle (without motor and specific lights).
	MovingObject_VehicleClassification_TYPE_BICYCLE MovingObject_VehicleClassification_Type = 11
	// Vehicle is a bus.
	MovingObject_VehicleClassification_TYPE_BUS MovingObject_VehicleClassification_Type = 12
	// Vehicle is a tram.
	MovingObject_VehicleClassification_TYPE_TRAM MovingObject_VehicleClassification_Type = 13
	// Vehicle is a train.
	MovingObject_VehicleClassification_TYPE_TRAIN MovingObject_VehicleClassification_Type = 14
	// Vehicle is a wheelchair.
	MovingObject_VehicleClassification_TYPE_WHEELCHAIR MovingObject_VehicleClassification_Type = 15
	// Vehicle is a stand-up scooter, including
	// motorized versions.
	MovingObject_VehicleClassification_TYPE_STANDUP_SCOOTER MovingObject_VehicleClassification_Type = 17
)

func (MovingObject_VehicleClassification_Type) Descriptor

func (MovingObject_VehicleClassification_Type) Enum

func (MovingObject_VehicleClassification_Type) EnumDescriptor deprecated

func (MovingObject_VehicleClassification_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use MovingObject_VehicleClassification_Type.Descriptor instead.

func (MovingObject_VehicleClassification_Type) Number

func (MovingObject_VehicleClassification_Type) String

func (MovingObject_VehicleClassification_Type) Type

func (*MovingObject_VehicleClassification_Type) UnmarshalJSON deprecated

func (x *MovingObject_VehicleClassification_Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type Occupant

type Occupant struct {

	// The ID of the driver.
	//
	// \rules
	// is_globally_unique
	// \endrules
	Id *Identifier `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// Specific information about the classification of the occupant.
	Classification *Occupant_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// External reference to the occupant source.
	//
	// \note For OpenDRIVE and OpenSCENARIO there is no direct counterpart.
	//
	// \note For non-ASAM Standards, it is implementation-specific how
	//
	//	source_reference is resolved.
	//
	// \note The value has to be repeated because one object may be derived
	//
	//	from more than one origin source, for example, from a scenario file
	//	and from sensors.
	SourceReference []*ExternalReference `protobuf:"bytes,3,rep,name=source_reference,json=sourceReference" json:"source_reference,omitempty"`
	// contains filtered or unexported fields
}

\brief An occupant of a host vehicle, especially the driver of the vehicle.

func (*Occupant) Descriptor deprecated

func (*Occupant) Descriptor() ([]byte, []int)

Deprecated: Use Occupant.ProtoReflect.Descriptor instead.

func (*Occupant) GetClassification

func (x *Occupant) GetClassification() *Occupant_Classification

func (*Occupant) GetId

func (x *Occupant) GetId() *Identifier

func (*Occupant) GetSourceReference

func (x *Occupant) GetSourceReference() []*ExternalReference

func (*Occupant) ProtoMessage

func (*Occupant) ProtoMessage()

func (*Occupant) ProtoReflect

func (x *Occupant) ProtoReflect() protoreflect.Message

func (*Occupant) Reset

func (x *Occupant) Reset()

func (*Occupant) String

func (x *Occupant) String() string

type Occupant_Classification

type Occupant_Classification struct {

	// Flag determining whether the person is the driver of the vehicle or a
	// passenger.
	IsDriver *bool `protobuf:"varint,2,opt,name=is_driver,json=isDriver" json:"is_driver,omitempty"`
	// Seat position of the vehicle occupant.
	Seat *Occupant_Classification_Seat `protobuf:"varint,3,opt,name=seat,enum=osi3.Occupant_Classification_Seat" json:"seat,omitempty"`
	// Describes the state of the passenger's hands related to the steering
	// wheel (mostly driver).
	SteeringControl *Occupant_Classification_SteeringControl `` /* 150-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief Information regarding the classification of the occupant.

func (*Occupant_Classification) Descriptor deprecated

func (*Occupant_Classification) Descriptor() ([]byte, []int)

Deprecated: Use Occupant_Classification.ProtoReflect.Descriptor instead.

func (*Occupant_Classification) GetIsDriver

func (x *Occupant_Classification) GetIsDriver() bool

func (*Occupant_Classification) GetSeat

func (*Occupant_Classification) GetSteeringControl

func (*Occupant_Classification) ProtoMessage

func (*Occupant_Classification) ProtoMessage()

func (*Occupant_Classification) ProtoReflect

func (x *Occupant_Classification) ProtoReflect() protoreflect.Message

func (*Occupant_Classification) Reset

func (x *Occupant_Classification) Reset()

func (*Occupant_Classification) String

func (x *Occupant_Classification) String() string

type Occupant_Classification_Seat

type Occupant_Classification_Seat int32

Definition of seat positions.

const (
	// Seat position is unknown (must not be used in ground truth).
	Occupant_Classification_SEAT_UNKNOWN Occupant_Classification_Seat = 0
	// Other (unspecified but known) seat.
	Occupant_Classification_SEAT_OTHER Occupant_Classification_Seat = 1
	// Seat position is in the front row, left seat.
	// This is usually the driver's seat in right-hand traffic.
	Occupant_Classification_SEAT_FRONT_LEFT Occupant_Classification_Seat = 2
	// Seat position is in the front row, right seat.
	// This is usually the driver's seat in left-hand traffic.
	Occupant_Classification_SEAT_FRONT_RIGHT Occupant_Classification_Seat = 3
	// Seat position is in the front row, middle seat.
	Occupant_Classification_SEAT_FRONT_MIDDLE Occupant_Classification_Seat = 4
	// Seat position is in the back row, left seat.
	Occupant_Classification_SEAT_BACK_LEFT Occupant_Classification_Seat = 5
	// Seat position is in the back row, right seat.
	Occupant_Classification_SEAT_BACK_RIGHT Occupant_Classification_Seat = 6
	// Seat position is in the back row, middle seat.
	Occupant_Classification_SEAT_BACK_MIDDLE Occupant_Classification_Seat = 7
	// Seat position is in the third row, left seat.
	Occupant_Classification_SEAT_THIRD_ROW_LEFT Occupant_Classification_Seat = 8
	// Seat position is in the third row, right seat.
	Occupant_Classification_SEAT_THIRD_ROW_RIGHT Occupant_Classification_Seat = 9
	// Seat position is in the third row, middle seat.
	Occupant_Classification_SEAT_THIRD_ROW_MIDDLE Occupant_Classification_Seat = 10
)

func (Occupant_Classification_Seat) Descriptor

func (Occupant_Classification_Seat) Enum

func (Occupant_Classification_Seat) EnumDescriptor deprecated

func (Occupant_Classification_Seat) EnumDescriptor() ([]byte, []int)

Deprecated: Use Occupant_Classification_Seat.Descriptor instead.

func (Occupant_Classification_Seat) Number

func (Occupant_Classification_Seat) String

func (Occupant_Classification_Seat) Type

func (*Occupant_Classification_Seat) UnmarshalJSON deprecated

func (x *Occupant_Classification_Seat) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type Occupant_Classification_SteeringControl

type Occupant_Classification_SteeringControl int32

Definition of hands related to the steering wheel (mostly driver).

const (
	// Hands state is unknown (must not be used in ground truth).
	Occupant_Classification_STEERING_CONTROL_UNKNOWN Occupant_Classification_SteeringControl = 0
	// Other (unspecified but known) hand positioning related to the
	// steering wheel.
	Occupant_Classification_STEERING_CONTROL_OTHER Occupant_Classification_SteeringControl = 1
	// Hands are not on the steering wheel.
	Occupant_Classification_STEERING_CONTROL_NO_HAND Occupant_Classification_SteeringControl = 2
	// One hand is on the steering wheel. Whether it is the left or
	// right hand is unspecified or unknown.
	//
	// \note If there is no differentiation between one or both hands on
	// the steering wheel, this value should be used.
	Occupant_Classification_STEERING_CONTROL_ONE_HAND Occupant_Classification_SteeringControl = 3
	// Both hands are on the steering wheel.
	Occupant_Classification_STEERING_CONTROL_BOTH_HANDS Occupant_Classification_SteeringControl = 4
	// Only left hand is on the steering wheel.
	Occupant_Classification_STEERING_CONTROL_LEFT_HAND Occupant_Classification_SteeringControl = 5
	// Only right hand is on the steering wheel.
	Occupant_Classification_STEERING_CONTROL_RIGHT_HAND Occupant_Classification_SteeringControl = 6
)

func (Occupant_Classification_SteeringControl) Descriptor

func (Occupant_Classification_SteeringControl) Enum

func (Occupant_Classification_SteeringControl) EnumDescriptor deprecated

func (Occupant_Classification_SteeringControl) EnumDescriptor() ([]byte, []int)

Deprecated: Use Occupant_Classification_SteeringControl.Descriptor instead.

func (Occupant_Classification_SteeringControl) Number

func (Occupant_Classification_SteeringControl) String

func (Occupant_Classification_SteeringControl) Type

func (*Occupant_Classification_SteeringControl) UnmarshalJSON deprecated

func (x *Occupant_Classification_SteeringControl) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type Orientation3D

type Orientation3D struct {

	// The roll angle/rate/acceleration.
	//
	// Unit: rad, rad/s, or rad/s^2
	Roll *float64 `protobuf:"fixed64,1,opt,name=roll" json:"roll,omitempty"`
	// The pitch angle/rate/acceleration.
	//
	// Unit: rad, rad/s, or rad/s^2
	Pitch *float64 `protobuf:"fixed64,2,opt,name=pitch" json:"pitch,omitempty"`
	// The yaw angle/rate/acceleration.
	//
	// Unit: rad, rad/s, or rad/s^2
	Yaw *float64 `protobuf:"fixed64,3,opt,name=yaw" json:"yaw,omitempty"`
	// contains filtered or unexported fields
}

\brief A 3D orientation, orientation rate or orientation acceleration (i.e. derivatives) or its uncertainties denoted in euler angles.

Units are rad for orientation, rad/s for rates, and rad/s^2 for accelerations

The coordinate system is defined as right-handed. For the sense of each rotation, the right-hand rule applies.

The rotations are to be performed \b yaw \b first (around the z-axis), \b pitch \b second (around the new y-axis) and \b roll \b third (around the new x-axis) to follow the definition according to [1] (Tait-Bryan / Euler convention z-y'-x”). The preferred angular range is [-pi, pi] for roll and yaw and [-pi/2, pi/2] for pitch.

Roll/Pitch are 0 if the objects xy-plane is parallel to its parent's xy-plane. Yaw is 0 if the object's local x-axis is parallel to its parent's x-axis.

\f$ Rotation_{yaw,pitch,roll} = Rotation_{yaw}*Rotation_{pitch}*Rotation_{roll} \f$

\f$ vector_{global coord system} := Rotation_{yaw, pitch, roll} * vector_{local coord system} +local_{origin::position} \f$

\attention This definition changed in OSI version 3.0.0. Previous OSI versions (V2.xx) had an other definition.

\par Reference: [1] DIN Deutsches Institut fuer Normung e. V. (2013). <em>DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe</em>. (DIN ISO 8855:2013-11). Berlin, Germany.

func (*Orientation3D) Descriptor deprecated

func (*Orientation3D) Descriptor() ([]byte, []int)

Deprecated: Use Orientation3D.ProtoReflect.Descriptor instead.

func (*Orientation3D) GetPitch

func (x *Orientation3D) GetPitch() float64

func (*Orientation3D) GetRoll

func (x *Orientation3D) GetRoll() float64

func (*Orientation3D) GetYaw

func (x *Orientation3D) GetYaw() float64

func (*Orientation3D) ProtoMessage

func (*Orientation3D) ProtoMessage()

func (*Orientation3D) ProtoReflect

func (x *Orientation3D) ProtoReflect() protoreflect.Message

func (*Orientation3D) Reset

func (x *Orientation3D) Reset()

func (*Orientation3D) String

func (x *Orientation3D) String() string

type Pedalry

type Pedalry struct {

	// Position of the acceleration pedal.
	// Range: 0-1 (Unpressed - fully pressed)
	PedalPositionAcceleration *float64 `` /* 133-byte string literal not displayed */
	// Position of the brake pedal.
	// Range: 0-1 (Unpressed - fully pressed)
	PedalPositionBrake *float64 `protobuf:"fixed64,2,opt,name=pedal_position_brake,json=pedalPositionBrake" json:"pedal_position_brake,omitempty"`
	// Position of the clutch pedal.
	// Range: 0-1 (Unpressed - fully pressed)
	PedalPositionClutch *float64 `protobuf:"fixed64,3,opt,name=pedal_position_clutch,json=pedalPositionClutch" json:"pedal_position_clutch,omitempty"`
	// contains filtered or unexported fields
}

\brief A description for the positions of the pedals.

func (*Pedalry) Descriptor deprecated

func (*Pedalry) Descriptor() ([]byte, []int)

Deprecated: Use Pedalry.ProtoReflect.Descriptor instead.

func (*Pedalry) GetPedalPositionAcceleration

func (x *Pedalry) GetPedalPositionAcceleration() float64

func (*Pedalry) GetPedalPositionBrake

func (x *Pedalry) GetPedalPositionBrake() float64

func (*Pedalry) GetPedalPositionClutch

func (x *Pedalry) GetPedalPositionClutch() float64

func (*Pedalry) ProtoMessage

func (*Pedalry) ProtoMessage()

func (*Pedalry) ProtoReflect

func (x *Pedalry) ProtoReflect() protoreflect.Message

func (*Pedalry) Reset

func (x *Pedalry) Reset()

func (*Pedalry) String

func (x *Pedalry) String() string

type Polygon3D

type Polygon3D struct {

	// A list of vertices
	Vertex []*Vector3D `protobuf:"bytes,1,rep,name=vertex" json:"vertex,omitempty"`
	// contains filtered or unexported fields
}

\brief Polygon in 3 dimensions

A polygon in 3 dimensions which contains a list of vertices.

func (*Polygon3D) Descriptor deprecated

func (*Polygon3D) Descriptor() ([]byte, []int)

Deprecated: Use Polygon3D.ProtoReflect.Descriptor instead.

func (*Polygon3D) GetVertex

func (x *Polygon3D) GetVertex() []*Vector3D

func (*Polygon3D) ProtoMessage

func (*Polygon3D) ProtoMessage()

func (*Polygon3D) ProtoReflect

func (x *Polygon3D) ProtoReflect() protoreflect.Message

func (*Polygon3D) Reset

func (x *Polygon3D) Reset()

func (*Polygon3D) String

func (x *Polygon3D) String() string

type RadarDetection

type RadarDetection struct {

	// Existence probability of the detection not based on history. Value does
	// not depend on any past experience with similar detections.
	//
	// \note Use as confidence measure where a low value means less confidence
	// and a high value indicates strong confidence.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	ExistenceProbability *float64 `protobuf:"fixed64,1,opt,name=existence_probability,json=existenceProbability" json:"existence_probability,omitempty"`
	// ID of the detected object this detection is associated to.
	//
	// \note ID = MAX(uint64) indicates no reference to an object.
	//
	// \rules
	// refers_to: DetectedObject
	// \endrules
	ObjectId *Identifier `protobuf:"bytes,2,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	// Measured position of the detection given in spherical coordinates in the
	// sensor coordinate system.
	Position *Spherical3D `protobuf:"bytes,3,opt,name=position" json:"position,omitempty"`
	// Root mean squared error of the measured position of the detection.
	PositionRmse *Spherical3D `protobuf:"bytes,4,opt,name=position_rmse,json=positionRmse" json:"position_rmse,omitempty"`
	// Radial velocity of the detection positive in direction to the sensor.
	//
	// Unit: m/s
	RadialVelocity *float64 `protobuf:"fixed64,5,opt,name=radial_velocity,json=radialVelocity" json:"radial_velocity,omitempty"`
	// Root mean squared error of the object measured radial velocity.
	//
	// Unit: m/s
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	RadialVelocityRmse *float64 `protobuf:"fixed64,6,opt,name=radial_velocity_rmse,json=radialVelocityRmse" json:"radial_velocity_rmse,omitempty"`
	// The radar cross section (RCS) of the radar detection.
	//
	// Unit: dB m^2
	Rcs *float64 `protobuf:"fixed64,7,opt,name=rcs" json:"rcs,omitempty"`
	// The signal to noise ratio (SNR) of the radar detection.
	//
	// Unit: dB
	Snr *float64 `protobuf:"fixed64,8,opt,name=snr" json:"snr,omitempty"`
	// Describes the possibility whether more than one object may have led to
	// this detection.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	PointTargetProbability *float64 `protobuf:"fixed64,9,opt,name=point_target_probability,json=pointTargetProbability" json:"point_target_probability,omitempty"`
	// Ambiguity Information:
	// Each ambiguous measurement generates one Ambiguity ID. Ambiguity is
	// indicated by an identical ambiguity ID.
	//
	// \note Unambiguous measurements have the ambiguity ID 0.
	//
	// \note Multiple separate detections, from e.g. a large object, do not
	// necessarily on their own create any ambiguity. Therefore they do not
	// usually share an ambiguity ID. They can however be ambiguous
	// with other detections.
	AmbiguityId *Identifier `protobuf:"bytes,10,opt,name=ambiguity_id,json=ambiguityId" json:"ambiguity_id,omitempty"`
	// Basic classification of the detection.
	Classification *DetectionClassification `protobuf:"varint,11,opt,name=classification,enum=osi3.DetectionClassification" json:"classification,omitempty"`
	// contains filtered or unexported fields
}

\brief A radar detection.

func (*RadarDetection) Descriptor deprecated

func (*RadarDetection) Descriptor() ([]byte, []int)

Deprecated: Use RadarDetection.ProtoReflect.Descriptor instead.

func (*RadarDetection) GetAmbiguityId

func (x *RadarDetection) GetAmbiguityId() *Identifier

func (*RadarDetection) GetClassification

func (x *RadarDetection) GetClassification() DetectionClassification

func (*RadarDetection) GetExistenceProbability

func (x *RadarDetection) GetExistenceProbability() float64

func (*RadarDetection) GetObjectId

func (x *RadarDetection) GetObjectId() *Identifier

func (*RadarDetection) GetPointTargetProbability

func (x *RadarDetection) GetPointTargetProbability() float64

func (*RadarDetection) GetPosition

func (x *RadarDetection) GetPosition() *Spherical3D

func (*RadarDetection) GetPositionRmse

func (x *RadarDetection) GetPositionRmse() *Spherical3D

func (*RadarDetection) GetRadialVelocity

func (x *RadarDetection) GetRadialVelocity() float64

func (*RadarDetection) GetRadialVelocityRmse

func (x *RadarDetection) GetRadialVelocityRmse() float64

func (*RadarDetection) GetRcs

func (x *RadarDetection) GetRcs() float64

func (*RadarDetection) GetSnr

func (x *RadarDetection) GetSnr() float64

func (*RadarDetection) ProtoMessage

func (*RadarDetection) ProtoMessage()

func (*RadarDetection) ProtoReflect

func (x *RadarDetection) ProtoReflect() protoreflect.Message

func (*RadarDetection) Reset

func (x *RadarDetection) Reset()

func (*RadarDetection) String

func (x *RadarDetection) String() string

type RadarDetectionData

type RadarDetectionData struct {

	// Header attributes of radar detection from one radar sensor.
	Header *SensorDetectionHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// List of radar detections constituting the radar detection list.
	Detection []*RadarDetection `protobuf:"bytes,2,rep,name=detection" json:"detection,omitempty"`
	// contains filtered or unexported fields
}

\brief Data from one radar sensor including a list of detections.

func (*RadarDetectionData) Descriptor deprecated

func (*RadarDetectionData) Descriptor() ([]byte, []int)

Deprecated: Use RadarDetectionData.ProtoReflect.Descriptor instead.

func (*RadarDetectionData) GetDetection

func (x *RadarDetectionData) GetDetection() []*RadarDetection

func (*RadarDetectionData) GetHeader

func (x *RadarDetectionData) GetHeader() *SensorDetectionHeader

func (*RadarDetectionData) ProtoMessage

func (*RadarDetectionData) ProtoMessage()

func (*RadarDetectionData) ProtoReflect

func (x *RadarDetectionData) ProtoReflect() protoreflect.Message

func (*RadarDetectionData) Reset

func (x *RadarDetectionData) Reset()

func (*RadarDetectionData) String

func (x *RadarDetectionData) String() string

type RadarSensorView

type RadarSensorView struct {

	// Radar view configuration valid at the time the data was created.
	ViewConfiguration *RadarSensorViewConfiguration `protobuf:"bytes,1,opt,name=view_configuration,json=viewConfiguration" json:"view_configuration,omitempty"`
	// Ray tracing data.
	//
	// This field includes one entry for each ray, in left-to-right,
	// top-to-bottom order (think of scan lines in a TV).
	Reflection []*RadarSensorView_Reflection `protobuf:"bytes,2,rep,name=reflection" json:"reflection,omitempty"`
	// contains filtered or unexported fields
}

\brief Definition of the radar sensor view.

Radar specific sensor view data.

func (*RadarSensorView) Descriptor deprecated

func (*RadarSensorView) Descriptor() ([]byte, []int)

Deprecated: Use RadarSensorView.ProtoReflect.Descriptor instead.

func (*RadarSensorView) GetReflection

func (x *RadarSensorView) GetReflection() []*RadarSensorView_Reflection

func (*RadarSensorView) GetViewConfiguration

func (x *RadarSensorView) GetViewConfiguration() *RadarSensorViewConfiguration

func (*RadarSensorView) ProtoMessage

func (*RadarSensorView) ProtoMessage()

func (*RadarSensorView) ProtoReflect

func (x *RadarSensorView) ProtoReflect() protoreflect.Message

func (*RadarSensorView) Reset

func (x *RadarSensorView) Reset()

func (*RadarSensorView) String

func (x *RadarSensorView) String() string

type RadarSensorViewConfiguration

type RadarSensorViewConfiguration struct {

	// The ID of the sensor at host vehicle's mounting_position.
	//
	// This is the ID of the physical sensor, to be used in its detected
	// features output; it is distinct from the ID of its virtual sensor.
	//
	// The ID is to be provided by the environment simulation, the sensor
	// model is not in a position to provide a useful default value.
	SensorId *Identifier `protobuf:"bytes,1,opt,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// The physical mounting position of the sensor (origin and orientation
	// of the sensor coordinate system) given in vehicle coordinates [1].
	// The physical position pertains to this detector individually, and
	// governs the sensor-relative coordinates in features detected by this
	// detector.
	//
	// \arg \b x-direction of sensor coordinate system: sensor viewing direction
	// \arg \b z-direction of sensor coordinate system: sensor (up)
	// \arg \b y-direction of sensor coordinate system: perpendicular to x and z
	// right hand system
	//
	// \par Reference:
	// [1] DIN Deutsches Institut fuer Normung e. V. (2013). <em>DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe</em>. (DIN ISO 8855:2013-11). Berlin, Germany.
	//
	// \note The origin of vehicle's coordinate system in world frame is
	// ( \c MovingObject::base . \c BaseMoving::position +
	// Inverse_Rotation_yaw_pitch_roll( \c MovingObject::base . \c
	// BaseMoving::orientation) * \c
	// MovingObject::VehicleAttributes::bbcenter_to_rear) . The orientation of
	// the vehicle's coordinate system is equal to the orientation of the
	// vehicle's bounding box \c MovingObject::base . \c
	// BaseMoving::orientation. \note A default position can be provided by the
	// sensor model (e.g. to indicate the position the model was validated for),
	// but this is optional; the environment simulation must provide a valid
	// mounting position (based on the vehicle configuration) when setting the
	// view configuration.
	MountingPosition *MountingPosition `protobuf:"bytes,2,opt,name=mounting_position,json=mountingPosition" json:"mounting_position,omitempty"`
	// The root mean squared error of the mounting position.
	MountingPositionRmse *MountingPosition `protobuf:"bytes,3,opt,name=mounting_position_rmse,json=mountingPositionRmse" json:"mounting_position_rmse,omitempty"`
	// Field of View in horizontal orientation of the physical sensor.
	//
	// Viewing range: [- \c #field_of_view_horizontal/2,  \c
	// #field_of_view_horizontal/2] azimuth in the sensor frame as defined in \c
	// Spherical3d.
	//
	// Unit: rad
	FieldOfViewHorizontal *float64 `protobuf:"fixed64,4,opt,name=field_of_view_horizontal,json=fieldOfViewHorizontal" json:"field_of_view_horizontal,omitempty"`
	// Field of View in vertical orientation of the physical sensor.
	//
	// Viewing range: [- \c #field_of_view_vertical/2,  \c
	// #field_of_view_vertical/2] elevation in the sensor frame at zero azimuth
	// as defined in \c Spherical3d.
	//
	// Unit: rad
	FieldOfViewVertical *float64 `protobuf:"fixed64,5,opt,name=field_of_view_vertical,json=fieldOfViewVertical" json:"field_of_view_vertical,omitempty"`
	// Number of rays to cast across horizontal field of view (azimuth).
	//
	// \note This is a characteristic of the ray tracing engine of the
	// environment simulation, not a direct characteristic of the sensor.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	NumberOfRaysHorizontal *uint32 `protobuf:"varint,6,opt,name=number_of_rays_horizontal,json=numberOfRaysHorizontal" json:"number_of_rays_horizontal,omitempty"`
	// Number of rays to cast across vertical field of view (elevation).
	//
	// \note This is a characteristic of the ray tracing engine of the
	// environment simulation, not a direct characteristic of the sensor.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	NumberOfRaysVertical *uint32 `protobuf:"varint,7,opt,name=number_of_rays_vertical,json=numberOfRaysVertical" json:"number_of_rays_vertical,omitempty"`
	// Maximum number of interactions to take into account.
	//
	// \note This is a characteristic of the ray tracing engine of the
	// environment simulation, not a direct characteristic of the sensor.
	//
	// \rules
	// is_greater_than_or_equal_to: 1
	// \endrules
	MaxNumberOfInteractions *uint32 `` /* 128-byte string literal not displayed */
	// Emitter Frequency.
	//
	// This information can be used by a ray tracing engine to calculate
	// doppler shift information and take into account differences in
	// refraction and reflection. For doppler shift calculations the
	// sensor model can of course always provide a nominal frequency and
	// adjust the resulting doppler shift information to actual frequency
	// through frequency adjustments. For material and geometry interaction
	// purposes the frequency is also relevant.
	//
	// Unit: Hz
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	EmitterFrequency *float64 `protobuf:"fixed64,9,opt,name=emitter_frequency,json=emitterFrequency" json:"emitter_frequency,omitempty"`
	// This represents the TX antenna diagram
	TxAntennaDiagram []*RadarSensorViewConfiguration_AntennaDiagramEntry `protobuf:"bytes,10,rep,name=tx_antenna_diagram,json=txAntennaDiagram" json:"tx_antenna_diagram,omitempty"`
	// This represents the RX antenna diagram
	RxAntennaDiagram []*RadarSensorViewConfiguration_AntennaDiagramEntry `protobuf:"bytes,11,rep,name=rx_antenna_diagram,json=rxAntennaDiagram" json:"rx_antenna_diagram,omitempty"`
	// contains filtered or unexported fields
}

\brief The configuration settings for the Radar Sensor View to be provided by the environment simulation.

func (*RadarSensorViewConfiguration) Descriptor deprecated

func (*RadarSensorViewConfiguration) Descriptor() ([]byte, []int)

Deprecated: Use RadarSensorViewConfiguration.ProtoReflect.Descriptor instead.

func (*RadarSensorViewConfiguration) GetEmitterFrequency

func (x *RadarSensorViewConfiguration) GetEmitterFrequency() float64

func (*RadarSensorViewConfiguration) GetFieldOfViewHorizontal

func (x *RadarSensorViewConfiguration) GetFieldOfViewHorizontal() float64

func (*RadarSensorViewConfiguration) GetFieldOfViewVertical

func (x *RadarSensorViewConfiguration) GetFieldOfViewVertical() float64

func (*RadarSensorViewConfiguration) GetMaxNumberOfInteractions

func (x *RadarSensorViewConfiguration) GetMaxNumberOfInteractions() uint32

func (*RadarSensorViewConfiguration) GetMountingPosition

func (x *RadarSensorViewConfiguration) GetMountingPosition() *MountingPosition

func (*RadarSensorViewConfiguration) GetMountingPositionRmse

func (x *RadarSensorViewConfiguration) GetMountingPositionRmse() *MountingPosition

func (*RadarSensorViewConfiguration) GetNumberOfRaysHorizontal

func (x *RadarSensorViewConfiguration) GetNumberOfRaysHorizontal() uint32

func (*RadarSensorViewConfiguration) GetNumberOfRaysVertical

func (x *RadarSensorViewConfiguration) GetNumberOfRaysVertical() uint32

func (*RadarSensorViewConfiguration) GetRxAntennaDiagram

func (*RadarSensorViewConfiguration) GetSensorId

func (x *RadarSensorViewConfiguration) GetSensorId() *Identifier

func (*RadarSensorViewConfiguration) GetTxAntennaDiagram

func (*RadarSensorViewConfiguration) ProtoMessage

func (*RadarSensorViewConfiguration) ProtoMessage()

func (*RadarSensorViewConfiguration) ProtoReflect

func (*RadarSensorViewConfiguration) Reset

func (x *RadarSensorViewConfiguration) Reset()

func (*RadarSensorViewConfiguration) String

type RadarSensorViewConfiguration_AntennaDiagramEntry

type RadarSensorViewConfiguration_AntennaDiagramEntry struct {

	// Horizontal deflection (azimuth) of entry in sensor/antenna
	// coordinates.
	//
	// Unit: rad
	HorizontalAngle *float64 `protobuf:"fixed64,1,opt,name=horizontal_angle,json=horizontalAngle" json:"horizontal_angle,omitempty"`
	// Vertical deflection (elevation) of entry in sensor/antenna
	// coordinates.
	//
	// Unit: rad
	VerticalAngle *float64 `protobuf:"fixed64,2,opt,name=vertical_angle,json=verticalAngle" json:"vertical_angle,omitempty"`
	// Response of antenna at this point (positive dB is gain,
	// negative dB is attenuation).
	//
	// Unit: dB
	Response *float64 `protobuf:"fixed64,3,opt,name=response" json:"response,omitempty"`
	// contains filtered or unexported fields
}

\brief The radar antenna diagram.

\note Rotation is defined analog Spherical3d

func (*RadarSensorViewConfiguration_AntennaDiagramEntry) Descriptor deprecated

Deprecated: Use RadarSensorViewConfiguration_AntennaDiagramEntry.ProtoReflect.Descriptor instead.

func (*RadarSensorViewConfiguration_AntennaDiagramEntry) GetHorizontalAngle

func (*RadarSensorViewConfiguration_AntennaDiagramEntry) GetResponse

func (*RadarSensorViewConfiguration_AntennaDiagramEntry) GetVerticalAngle

func (*RadarSensorViewConfiguration_AntennaDiagramEntry) ProtoMessage

func (*RadarSensorViewConfiguration_AntennaDiagramEntry) ProtoReflect

func (*RadarSensorViewConfiguration_AntennaDiagramEntry) Reset

func (*RadarSensorViewConfiguration_AntennaDiagramEntry) String

type RadarSensorView_Reflection

type RadarSensorView_Reflection struct {

	// Relative signal level of the reflection.
	//
	// This takes the combined antenna diagram (losses in TX and RX)
	// as well as the signal losses due to scattering and absorption
	// into account, and will, when multiplied by TX power yield the
	// actual RX power.
	//
	// Unit: dB
	SignalStrength *float64 `protobuf:"fixed64,1,opt,name=signal_strength,json=signalStrength" json:"signal_strength,omitempty"`
	// Time of flight.
	//
	// This is the time of flight of the reflection, which is directly
	// proportional to the distance traveled.
	//
	// Unit: s
	TimeOfFlight *float64 `protobuf:"fixed64,2,opt,name=time_of_flight,json=timeOfFlight" json:"time_of_flight,omitempty"`
	// Doppler shift.
	//
	// Shift in frequency based on the specified TX frequency.
	//
	// Unit: Hz
	DopplerShift *float64 `protobuf:"fixed64,3,opt,name=doppler_shift,json=dopplerShift" json:"doppler_shift,omitempty"`
	// TX horizontal angle (azimuth).
	//
	// Horizontal angle of incidence of the source of the reflection
	// at the TX antenna.
	//
	// Unit: rad
	SourceHorizontalAngle *float64 `protobuf:"fixed64,4,opt,name=source_horizontal_angle,json=sourceHorizontalAngle" json:"source_horizontal_angle,omitempty"`
	// TX vertical angle (elevation).
	//
	// Vertical angle of incidence of the source of the reflection
	// at the TX antenna.
	//
	// Unit: rad
	SourceVerticalAngle *float64 `protobuf:"fixed64,5,opt,name=source_vertical_angle,json=sourceVerticalAngle" json:"source_vertical_angle,omitempty"`
	// contains filtered or unexported fields
}

\brief Definition of the radar reflection.

func (*RadarSensorView_Reflection) Descriptor deprecated

func (*RadarSensorView_Reflection) Descriptor() ([]byte, []int)

Deprecated: Use RadarSensorView_Reflection.ProtoReflect.Descriptor instead.

func (*RadarSensorView_Reflection) GetDopplerShift

func (x *RadarSensorView_Reflection) GetDopplerShift() float64

func (*RadarSensorView_Reflection) GetSignalStrength

func (x *RadarSensorView_Reflection) GetSignalStrength() float64

func (*RadarSensorView_Reflection) GetSourceHorizontalAngle

func (x *RadarSensorView_Reflection) GetSourceHorizontalAngle() float64

func (*RadarSensorView_Reflection) GetSourceVerticalAngle

func (x *RadarSensorView_Reflection) GetSourceVerticalAngle() float64

func (*RadarSensorView_Reflection) GetTimeOfFlight

func (x *RadarSensorView_Reflection) GetTimeOfFlight() float64

func (*RadarSensorView_Reflection) ProtoMessage

func (*RadarSensorView_Reflection) ProtoMessage()

func (*RadarSensorView_Reflection) ProtoReflect

func (*RadarSensorView_Reflection) Reset

func (x *RadarSensorView_Reflection) Reset()

func (*RadarSensorView_Reflection) String

func (x *RadarSensorView_Reflection) String() string

type RadarSpecificObjectData

type RadarSpecificObjectData struct {

	// The radar cross section (RCS) of the detected object.
	//
	// Unit: dB m^2
	Rcs *float64 `protobuf:"fixed64,1,opt,name=rcs" json:"rcs,omitempty"`
	// contains filtered or unexported fields
}

\brief Message encapsulates all data for detected objects that is specific to radar sensors.

func (*RadarSpecificObjectData) Descriptor deprecated

func (*RadarSpecificObjectData) Descriptor() ([]byte, []int)

Deprecated: Use RadarSpecificObjectData.ProtoReflect.Descriptor instead.

func (*RadarSpecificObjectData) GetRcs

func (x *RadarSpecificObjectData) GetRcs() float64

func (*RadarSpecificObjectData) ProtoMessage

func (*RadarSpecificObjectData) ProtoMessage()

func (*RadarSpecificObjectData) ProtoReflect

func (x *RadarSpecificObjectData) ProtoReflect() protoreflect.Message

func (*RadarSpecificObjectData) Reset

func (x *RadarSpecificObjectData) Reset()

func (*RadarSpecificObjectData) String

func (x *RadarSpecificObjectData) String() string

type ReferenceLine

type ReferenceLine struct {

	// The ID of the reference line.
	//
	// \note Note ID is global unique.
	//
	// \rules
	// is_globally_unique
	// is_set
	// \endrules
	Id *Identifier `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// The type of the reference line.
	Type *ReferenceLine_Type `protobuf:"varint,3,opt,name=type,enum=osi3.ReferenceLine_Type" json:"type,omitempty"`
	// Points comprising the polyline.
	//
	// At least two points must be given.
	// The polyline is defined as the lines between consecutive points.
	// Each point has an S coordinate. Other attributes might be set, depending
	// on the type of the polyline (see Type).
	//
	// ## Rules on the S position
	//
	// There are a few requirements on the S position:
	//   - Later points in the list must have strictly larger S coordinates than
	//     earlier points.
	//   - For consecutive points, the S difference between them  must be at
	//     least as large as the 2D Euclidean distance between the points (2D
	//     distance == Euclidean distance between the points taking only X and Y
	//     into account).
	//   - The S distance between two points may be larger than the 2D Euclidean
	//     distance, but should be not much larger. It is allowed to be larger if
	//     the underlying reference line (e.g. in an OpenDRIVE map) is a curve,
	//     and thus the sampled reference line has a smaller length than the original
	//     curve.
	//
	// Together, these rules allow directly putting OpenDRIVE S coordinates
	// into an OSI ReferenceLine.
	//
	// If the reference line approximates a curve (e.g. a clothoid in
	// OpenDRIVE), the points must be chosen in a way that the lateral distance
	// to the ideal line does not exceed 5cm. As shown in the following image:
	//
	// \image html line_approximation_error.svg "Approximation error"
	// Approximation error green line.
	//
	// Between two ReferenceLinePoints, both the world coordinate and the S
	// coordinate is interpolated linearly. So each S value uniquely describes
	// a point on the polyline.
	//
	// ## Extending the coordinate system infinitely
	//
	// For the purpose of this discussion, let's call the S position of the
	// first point \c sStart, and the S position of the last point \c sEnd.
	//
	// For some purposes, S positions outside the normally defined range (i.e.
	// outside [\c sStart,\c sEnd]) need to be defined. For this purpose, the
	// first line of the polyline is infinitely extended in negative S
	// direction.  Similarly, the last line of the polyline is infinitely
	// extended beyond the last point. The S value of points outside [\c
	// sStart,\c sEnd] is defined by the Euclidean 2D distance from the start
	// or end point, respectively.  So if <code>sStart = 15</code>, and a point
	// is on the line extended from the start position, with a 2D Euclidean
	// distance of 10 from the first point, then it has an S position of 5.
	//
	// A point is "before" the reference line, if its s coordinate is < \c sStart.
	// A point is "after" the reference line, if its s coordinate is > \c sEnd.
	//
	// ## Adding T coordinates
	//
	// To describe points that are not directly on the polyline, a T coordinate
	// is added. T is the signed 2D distance between the point to describe (P)
	// and a projected point (P_proj) on the polyline. There are two ways of
	// defining this point, depending on the ReferenceLine::Type (see below).
	//
	// The T coordinate of the point in question is then defined as
	// <code>hypot(P.X-P_proj.X,P.Y-P_proj.Y)</code>. The projected point P_proj
	// might either be on a line segment or at an edge between two line segments.
	// The distance is positive if the point is left of the polyline (in
	// definition direction), negative if it is right of it. The S position of
	// such a point outside the reference line is the same as the S value of the
	// projected point on the polyline.
	//
	// ## Nearest point (TYPE_POLYLINE)
	//
	// The projection point is the nearest point on the polyline (this point might
	// either be on a line segment or at an edge between two line segments).
	//
	// Notes:
	//   - The "nearest point on the polyline" is determined in 3D (even if the
	//     resulting T value is only the 2D distance), in order to choose the
	//     correct point for 3D curves (think reference lines for roads in parking
	//     decks).
	//   - If there are several "nearest points", the one with the smallest S
	//     coordinate on the polyline is chosen.
	//
	// Example:
	// \image html OSI_ReferenceLine1.svg "S, T calculation using nearest point"
	//
	// This shows a reference line (consisting of three points), and five points
	// not on the reference line.
	//
	//   - For \c P1, the situation is clear, since there is exactly one nearest
	//     point on the polyline. The resulting ST coordinate uniquely maps back
	//     to \c P1.
	//   - \c P2 has multiple points "nearest points" on the polyline.
	//     As can be seen here, two  ST coordinates map to \c P2 (red and gray
	//     dotted line).  Following the rules above, the one with the smallest S
	//     value is chosen (the red dotted line).
	//   - \c P3 has a unique "nearest point" on the polyline. However, multiple
	//     points map to the same ST coordinate as that of \c P3, e.g. \c P4
	//     (drawn in gray).
	//   - Finally, \c P5 shows how the reference line is extended infinitely for
	//     points that are "outside" the reference line.
	//
	// ## T axis definition (TYPE_POLYLINE_WITH_T_AXIS)
	//
	// The T axes of the two ReferenceLinePoints of each ReferenceLine segment
	// define a sector (or strip if parallel) of the plane. A point is associated
	// with the segment if it lies within this sector. For points being
	// associated with multiple segments, the actual segment to consider is
	// determined by the shortest 3D Euclidean distance between the point and the
	// segments in question.
	//
	// The T axis (projecting axis) is the line going through P and the
	// intersection point (I). I is defined as the intersection of both
	// T axes of two consecutive ReferenceLinePoints (see example and
	// image below for illustration).
	//
	// Special cases:
	//  1. If both T axes of the consecutive ReferenceLinePoint are parallel (so
	//     no intersection point exists), the resulting T axis orientation is equal
	//     to the T axis of these ReferenceLinePoints.
	//  2. For the extended lines outside the defined range the projection axis is
	//     parallel to the T axis of the respective end point.
	//
	// ## Rules on the T axis
	//
	// For the T axis at a specific ReferenceLinePoint the following rules apply:
	//   - The T axis shall be close to the angle bisector (to the left in S
	//     direction) of the neighboring ReferenceLine segments.
	//   - Small deviations from the angle bisector are allowed (e.g. to represent
	//     the T axis of OpenDRIVE, which is perpendicular to the OpenDRIVE
	//     reference line).
	//   - The T axis must be located inside the sectors spanned by rotating the
	//     normal of one neighboring ReferenceLine segment into the normal of the
	//     other ReferenceLine segment on the shortest way.
	//   - The T axis in the first and the last point of a ReferenceLine has to be
	//     perpendicular to the first and last segment of the ReferenceLine,
	//     respectively.
	//
	// Example:
	// \image html OSI_ReferenceLine2.svg "S, T calculation using T axis"
	//
	// This shows a reference line (consisting of three points \c R0, \c R1 and
	// \c R2) and two points (\c P1 and \c P2) not part of the reference line.
	//
	// Calculation of ST for \c P1:
	//   - Calculate the intersection point \c I of the T axes of \c R0 and \c R1.
	//   - As \c P1 lies in the sector defined by these T axes it is considered part
	//     of the reference line section between \c R0 and \c R1.
	//   - The point \c P1 is projected onto the line segment [\c R0, \c R1] via the
	//     straight line through \c I (by calculating the intersection of the line
	//     segment and the projection axis), resulting in point \c P1_proj.
	//     If the T axes are parallel, projection is applied in the direction of
	//     these axes.
	//   - The S coordinate of \c P1 is the S coordinate of \c P1_proj
	//   - The T coordinate of \c P1 is the signed Euclidean distance to \c P1_proj.
	//
	// Calculation of \c P2 follows the same pattern.
	//
	// ## Defining angles
	//
	// Sometimes an angle to a reference line is needed. This shall be defined
	// as follows:
	// First the projected point on the polyline is determined, as described
	// below. If this point is on a line segment, then the angle is calculated
	// relative to the line segment on which the reference point lays.
	// If the projected point is at the edge between line segments, then the
	// angle of the following line shall be chosen.
	//
	// ## Converting between world coordinates and ST coordinates
	//
	// The above rules define an ST coordinate system across the whole XY plane.
	// Every XY position has an ST coordinate, but not necessarily a unique ST
	// coordinate.
	//
	// The sampling of the polyline must be chosen such that the error
	// when converting coordinates is "small enough". The exact needed
	// precision is defined for each user, where the reference line is
	// referenced.
	//
	// ## Creating reference lines
	//
	// When OSI is generated from OpenDRIVE, typically the reference lines will
	// be taken directly from the road reference lines in OpenDRIVE, and
	// sampled according to the accuracy requirements outlined above.
	//
	// Other map formats may not have reference lines, so they will have to be
	// synthesized by the tool generating OSI data. A few guidelines on this
	// process:
	//
	//   - The reference line should follow the road
	//   - It is preferable to have the reference line in the center of the road
	//     (e.g. on a highway, it should be in the middle between the two driving
	//     directions). Rationale: this makes S differences better approximate
	//     Euclidean distances, compared to having the reference line at one side
	//     of a curvy road.
	//
	// ## Various notes
	//
	// Notes on OpenDRIVE compatibility:
	// Ideally, one would want the polyline to be fully compatible with
	// OpenDRIVE, so that calculations done for OpenDRIVE directly match those
	// in OSI. There are a few difficulties with this:
	//   - The T coordinate is nearly the same as for OpenDRIVE, but
	//     unfortunately not perfectly. In OpenDRIVE, if the road is tilted using
	//     superelevation, then the t coordinate system is tilted along, so the T
	//     coordinate is no longer calculated in the XY plane (as proposed for
	//     OSI). It doesn't seem feasible to implement the same tilting for OSI,
	//     so simulation tools will have to consider superelevation and convert
	//     the T coordinate accordingly: <code>t_OSI = t_OpenDRIVE *
	//     cos(alpha)</code>, where alpha is the superelevation angle.
	//   - The angle will not be perfectly the same, due to the use of line
	//     segments in OSI, and curves in OpenDRIVE. In the authors opinion, the
	//     difference will be negligible if the #poly_line is suitably sampled.
	//
	// Notes on design decisions:
	//   - The S coordinate is included directly, both for OpenDRIVE
	//     compatibility, and to speed up calculations.
	//   - The rules on S coordinates (e.g. the calculation in 2D space) are
	//     there to ensure OpenDRIVE compatibility.
	//   - The rules on T coordinates are there to ensure OpenDRIVE compatibility
	//     for lanes without superelevation, and to make it easier to convert
	//     between OSI and OpenDRIVE in case superelevation is present.
	PolyLine []*ReferenceLine_ReferenceLinePoint `protobuf:"bytes,2,rep,name=poly_line,json=polyLine" json:"poly_line,omitempty"`
	// contains filtered or unexported fields
}

\brief A reference line for defining a non-Euclidean ST coordinate system

A reference line is a 3D polyline, used for generating a non-Euclidean ST coordinate system.

\note This ST coordinate system is specific to OSI and not to be confused with

similar definitions in other standards like OpenDRIVE or OpenSCENARIO 1.x.
Nevertheless the goal of this definition is to approximate the source
coordinates (e.g. OpenDRIVE).

Notes on design decisions:

  • This is a polyline, and not some more complex curve. The advantage of a polyline is that it is very simple to generate from various map formats, and it is also easy to handle. The downside is that a polyline has no direct curvature, and even the angle is not continuous (only C0 smooth). In the author's experience, the benefits of a polyline outweigh the costs.

func (*ReferenceLine) Descriptor deprecated

func (*ReferenceLine) Descriptor() ([]byte, []int)

Deprecated: Use ReferenceLine.ProtoReflect.Descriptor instead.

func (*ReferenceLine) GetId

func (x *ReferenceLine) GetId() *Identifier

func (*ReferenceLine) GetPolyLine

func (x *ReferenceLine) GetPolyLine() []*ReferenceLine_ReferenceLinePoint

func (*ReferenceLine) GetType

func (x *ReferenceLine) GetType() ReferenceLine_Type

func (*ReferenceLine) ProtoMessage

func (*ReferenceLine) ProtoMessage()

func (*ReferenceLine) ProtoReflect

func (x *ReferenceLine) ProtoReflect() protoreflect.Message

func (*ReferenceLine) Reset

func (x *ReferenceLine) Reset()

func (*ReferenceLine) String

func (x *ReferenceLine) String() string

type ReferenceLine_ReferenceLinePoint

type ReferenceLine_ReferenceLinePoint struct {

	// A world position
	WorldPosition *Vector3D `protobuf:"bytes,1,opt,name=world_position,json=worldPosition" json:"world_position,omitempty"`
	// S position on the reference line
	SPosition *float64 `protobuf:"fixed64,2,opt,name=s_position,json=sPosition" json:"s_position,omitempty"`
	// Yaw angle of the T axis in the world coordinate system
	//
	// When converting from formats like OpenDRIVE, the yaw angle is equal to
	// the angle of the normal to the reference line in the sampled point.
	//
	// Also see image "S, T coordinates" at #poly_line for reference.
	//
	// \note This field is only set if the type of the reference line is
	//
	//	TYPE_POLYLINE_WITH_T_AXIS.
	TAxisYaw *float64 `protobuf:"fixed64,3,opt,name=t_axis_yaw,json=tAxisYaw" json:"t_axis_yaw,omitempty"`
	// contains filtered or unexported fields
}

\brief A point on the reference line

func (*ReferenceLine_ReferenceLinePoint) Descriptor deprecated

func (*ReferenceLine_ReferenceLinePoint) Descriptor() ([]byte, []int)

Deprecated: Use ReferenceLine_ReferenceLinePoint.ProtoReflect.Descriptor instead.

func (*ReferenceLine_ReferenceLinePoint) GetSPosition

func (x *ReferenceLine_ReferenceLinePoint) GetSPosition() float64

func (*ReferenceLine_ReferenceLinePoint) GetTAxisYaw

func (x *ReferenceLine_ReferenceLinePoint) GetTAxisYaw() float64

func (*ReferenceLine_ReferenceLinePoint) GetWorldPosition

func (x *ReferenceLine_ReferenceLinePoint) GetWorldPosition() *Vector3D

func (*ReferenceLine_ReferenceLinePoint) ProtoMessage

func (*ReferenceLine_ReferenceLinePoint) ProtoMessage()

func (*ReferenceLine_ReferenceLinePoint) ProtoReflect

func (*ReferenceLine_ReferenceLinePoint) Reset

func (*ReferenceLine_ReferenceLinePoint) String

type ReferenceLine_Type

type ReferenceLine_Type int32

ReferenceLine types

ReferenceLinePoints might be interpreted differently depending on the type of the ReferenceLine.

See also: "Adding T coordinates"

const (
	// ReferenceLine is a polyline, where the coordinates of points are
	// calculated by projection onto the nearest point on the line.
	//
	// \attention DEPRECATED: Due to the shortcomings documented below, this
	//
	//	type will be removed in 4.0.0.
	ReferenceLine_TYPE_POLYLINE ReferenceLine_Type = 0
	// ReferenceLine is a polyline, where the coordinates of points are
	// calculated using the T axis definition.
	//
	// \note If this type is used, ReferenceLinePoint::t_axis_yaw must be set.
	ReferenceLine_TYPE_POLYLINE_WITH_T_AXIS ReferenceLine_Type = 1
)

func (ReferenceLine_Type) Descriptor

func (ReferenceLine_Type) Enum

func (ReferenceLine_Type) EnumDescriptor deprecated

func (ReferenceLine_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use ReferenceLine_Type.Descriptor instead.

func (ReferenceLine_Type) Number

func (ReferenceLine_Type) String

func (x ReferenceLine_Type) String() string

func (ReferenceLine_Type) Type

func (*ReferenceLine_Type) UnmarshalJSON deprecated

func (x *ReferenceLine_Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type RoadMarking

type RoadMarking struct {

	// The ID of the road marking.
	//
	// \rules
	// is_set
	// \endrules
	Id *Identifier `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// The base parameters of the road marking.
	//
	// The orientation of the bounding box \c #base
	// \c BaseStationary::orientation is defined as follows:
	// The z-axis of the \c BaseStationary::orientation is the vector from the
	// 'bottom' to the 'top' of the road marking's (i.e. painted traffic sign)
	// 2D image area.
	// (Normally it is in the ground truth xy-plain.)
	// The x-axis of the \c BaseStationary::orientation is the view normal of
	// the road marking's 2D image area.
	// Normally this x-axis points to the sky.
	//
	// \note If a valid unidirectional road marking is assigned to the host
	// vehicle's current lane and the driving direction of the latter roughly
	// matches the z-axis of the \c #base \c BaseStationary::orientation then
	// the road marking is of relevance to (i.e. in effect for) the host
	// vehicle.
	Base *BaseStationary `protobuf:"bytes,2,opt,name=base" json:"base,omitempty"`
	// The classification data for the road marking.
	Classification *RoadMarking_Classification `protobuf:"bytes,3,opt,name=classification" json:"classification,omitempty"`
	// Optional external reference to the road-marking source.
	//
	// The external reference points to the source of the surface marking, if it
	// is derived from one or more objects or external references. An example
	// here is the reference to the signal defined in a OpenDRIVE map.
	//
	// For example, to reference a signal defined in an OpenDRIVE map
	// the items should be set as follows:
	//   - reference = URI to map, can remain empty if identical with definition
	//     in \c GroundTruth::map_reference
	//   - type = "net.asam.opendrive"
	//   - identifier[0] = id of t_road_signals_signal
	//
	// \note With OpenDRIVE, surface markings can also be defined as objects.
	//
	//	In this case, the associated object is usually referenced within
	//	OpenDRIVE using the reference t_road_signals_signal_reference.
	//	An additional reference to the object is therefore not necessary.
	//
	// \note For non-ASAM Standards, it is implementation-specific how
	//
	//	source_reference is resolved.
	//
	// \note The value has to be repeated, because one lane segment may be
	//
	//	derived from more than one origin segment. Multiple sources
	//	may be added as reference as well, for example, a map and sensors.
	SourceReference []*ExternalReference `protobuf:"bytes,4,rep,name=source_reference,json=sourceReference" json:"source_reference,omitempty"`
	// The visual color of the material of the road marking.
	//
	// \note This does not represent the semantic classification but the visual
	// appearance. For semantic classification of the road marking use the color
	// field in \c Classification.
	ColorDescription *ColorDescription `protobuf:"bytes,5,opt,name=color_description,json=colorDescription" json:"color_description,omitempty"`
	// contains filtered or unexported fields
}

func (*RoadMarking) Descriptor deprecated

func (*RoadMarking) Descriptor() ([]byte, []int)

Deprecated: Use RoadMarking.ProtoReflect.Descriptor instead.

func (*RoadMarking) GetBase

func (x *RoadMarking) GetBase() *BaseStationary

func (*RoadMarking) GetClassification

func (x *RoadMarking) GetClassification() *RoadMarking_Classification

func (*RoadMarking) GetColorDescription

func (x *RoadMarking) GetColorDescription() *ColorDescription

func (*RoadMarking) GetId

func (x *RoadMarking) GetId() *Identifier

func (*RoadMarking) GetSourceReference

func (x *RoadMarking) GetSourceReference() []*ExternalReference

func (*RoadMarking) ProtoMessage

func (*RoadMarking) ProtoMessage()

func (*RoadMarking) ProtoReflect

func (x *RoadMarking) ProtoReflect() protoreflect.Message

func (*RoadMarking) Reset

func (x *RoadMarking) Reset()

func (*RoadMarking) String

func (x *RoadMarking) String() string

type RoadMarking_Classification

type RoadMarking_Classification struct {

	// The type of the road marking.
	Type *RoadMarking_Classification_Type `protobuf:"varint,1,opt,name=type,enum=osi3.RoadMarking_Classification_Type" json:"type,omitempty"`
	// Traffic sign as road marking (color image, monochrome image or
	// character string).
	//
	// \note Field is set if ( \c #type == \c #TYPE_PAINTED_TRAFFIC_SIGN or
	// \c #TYPE_SYMBOLIC_TRAFFIC_SIGN or \c #TYPE_TEXTUAL_TRAFFIC_SIGN ).
	//
	// \note Field need not be set (or set to \c #TYPE_OTHER)
	// if road marking type (\c #type) does not require it.
	//
	// \attention Deprecated: A revision is planned for version 4.0.0 to
	// replace the type enum with a more semantically defined enumeration,
	// with the exact sign specification being relegated to the newly
	// introduced 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// \rules
	// check_if this.type is_greater_than_or_equal_to 2 else do_check is_set
	// check_if this.type is_less_than_or_equal_to 4 else do_check is_set
	// \endrules
	TrafficMainSignType *TrafficSign_MainSign_Classification_Type `` /* 167-byte string literal not displayed */
	// \note Field need not be set (or set to \c #COLOR_OTHER)
	// if road marking type does not require it (e.g. for \c #type ==
	// \c #TYPE_PAINTED_TRAFFIC_SIGN).
	//
	// \rules
	// check_if this.type is_equal_to 2 else do_check is_set
	// check_if this.monochrome_color is_equal_to 1 else do_check is_set
	// \endrules
	MonochromeColor *RoadMarking_Classification_Color `` /* 143-byte string literal not displayed */
	// Additional value associated with the road marking, e.g. value of the
	// speed limit.
	//
	// \note Field need not be set if road marking type does not require it.
	//
	// \note OSI 3 uses \c #value_text and not \c TrafficSignValue for
	// simple chars.
	Value *TrafficSignValue `protobuf:"bytes,4,opt,name=value" json:"value,omitempty"`
	// Additional text value as road marking, e.g. BUS, TAXI etc.
	//
	// \note Field need not be set if road marking type does not require it.
	ValueText *string `protobuf:"bytes,5,opt,name=value_text,json=valueText" json:"value_text,omitempty"`
	// The ID(s) of the lane(s) that the road marking is assigned to.
	// May be multiple if the road marking goes across multiple lanes.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	//
	// \rules
	// refers_to: Lane
	// \endrules
	AssignedLaneId []*Identifier `protobuf:"bytes,6,rep,name=assigned_lane_id,json=assignedLaneId" json:"assigned_lane_id,omitempty"`
	// Boolean flag to indicate that the road marking is taken out of service.
	// This can be achieved by visibly crossing the road marking with stripes,
	// or completely covering a road marking making it not visible.
	//
	// \image html OSI_RoadMaking_is_out_of_service.jpg width=800px
	IsOutOfService *bool `protobuf:"varint,7,opt,name=is_out_of_service,json=isOutOfService" json:"is_out_of_service,omitempty"`
	// Country specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// Country is specified using the ISO 3166-1, alpha-2 code
	// https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2, or the
	// special OpenDRIVE country for generic signs.<br>
	//
	// \rules
	// check_if this.type is_greater_than_or_equal_to 2 else do_check is_set
	// check_if this.type is_less_than_or_equal_to 4 else do_check is_set
	// \endrules
	Country *string `protobuf:"bytes,8,opt,name=country" json:"country,omitempty"`
	// Revision specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// The year the traffic rules came into force. <br>
	// e.g. "2017"
	//
	// \note Field is set if ( \c #type == \c #TYPE_PAINTED_TRAFFIC_SIGN or
	// \c #TYPE_SYMBOLIC_TRAFFIC_SIGN or \c #TYPE_TEXTUAL_TRAFFIC_SIGN ).
	//
	// \note Field need not be set (or set to \c #TYPE_OTHER)
	// if road marking type (\c #type) does not require it.
	//
	// \rules
	// check_if this.type is_greater_than_or_equal_to 2 else do_check is_set
	// check_if this.type is_less_than_or_equal_to 4 else do_check is_set
	// \endrules
	CountryRevision *string `protobuf:"bytes,9,opt,name=country_revision,json=countryRevision" json:"country_revision,omitempty"`
	// Code specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// Code identifier according to country and country revision,
	// corresponds to the type field of OpenDRIVE. <br>
	// code is only unique in combination with #country and #country_revision.  <br>
	// e.g. http://www.vzkat.de/2017/VzKat.htm
	//
	// \note Field is set if ( \c #type == \c #TYPE_PAINTED_TRAFFIC_SIGN or
	// \c #TYPE_SYMBOLIC_TRAFFIC_SIGN or \c #TYPE_TEXTUAL_TRAFFIC_SIGN ).
	//
	// \note Field need not be set (or set to \c #TYPE_OTHER)
	// if road marking type (\c #type) does not require it.
	//
	// \rules
	// check_if this.type is_greater_than_or_equal_to 2 else do_check is_set
	// check_if this.type is_less_than_or_equal_to 4 else do_check is_set
	// \endrules
	Code *string `protobuf:"bytes,10,opt,name=code" json:"code,omitempty"`
	// Sub-code specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// Sub-code identifier according to country, country revision and code,
	// corresponds to the subtype field of OpenDRIVE. <br>
	// sub_code is only unique in combination with #country, #country_revision,
	// and #code.  <br>
	// e.g. http://www.vzkat.de/2017/VzKat.htm
	//
	// \note Field is set if ( \c #type == \c #TYPE_PAINTED_TRAFFIC_SIGN or
	// \c #TYPE_SYMBOLIC_TRAFFIC_SIGN or \c #TYPE_TEXTUAL_TRAFFIC_SIGN ).
	//
	// \note Field need not be set (or set to \c #TYPE_OTHER)
	// if road marking type (\c #type) does not require it.
	//
	// \rules
	// check_if this.type is_greater_than_or_equal_to 2 else do_check is_set
	// check_if this.type is_less_than_or_equal_to 4 else do_check is_set
	// \endrules
	SubCode *string `protobuf:"bytes,11,opt,name=sub_code,json=subCode" json:"sub_code,omitempty"`
	// Assignment of this object to logical lanes.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	LogicalLaneAssignment []*LogicalLaneAssignment `protobuf:"bytes,12,rep,name=logical_lane_assignment,json=logicalLaneAssignment" json:"logical_lane_assignment,omitempty"`
	// contains filtered or unexported fields
}

\brief \c Classification data for a road surface marking.

func (*RoadMarking_Classification) Descriptor deprecated

func (*RoadMarking_Classification) Descriptor() ([]byte, []int)

Deprecated: Use RoadMarking_Classification.ProtoReflect.Descriptor instead.

func (*RoadMarking_Classification) GetAssignedLaneId

func (x *RoadMarking_Classification) GetAssignedLaneId() []*Identifier

func (*RoadMarking_Classification) GetCode

func (x *RoadMarking_Classification) GetCode() string

func (*RoadMarking_Classification) GetCountry

func (x *RoadMarking_Classification) GetCountry() string

func (*RoadMarking_Classification) GetCountryRevision

func (x *RoadMarking_Classification) GetCountryRevision() string

func (*RoadMarking_Classification) GetIsOutOfService

func (x *RoadMarking_Classification) GetIsOutOfService() bool

func (*RoadMarking_Classification) GetLogicalLaneAssignment

func (x *RoadMarking_Classification) GetLogicalLaneAssignment() []*LogicalLaneAssignment

func (*RoadMarking_Classification) GetMonochromeColor

func (*RoadMarking_Classification) GetSubCode

func (x *RoadMarking_Classification) GetSubCode() string

func (*RoadMarking_Classification) GetTrafficMainSignType

func (*RoadMarking_Classification) GetType

func (*RoadMarking_Classification) GetValue

func (*RoadMarking_Classification) GetValueText

func (x *RoadMarking_Classification) GetValueText() string

func (*RoadMarking_Classification) ProtoMessage

func (*RoadMarking_Classification) ProtoMessage()

func (*RoadMarking_Classification) ProtoReflect

func (*RoadMarking_Classification) Reset

func (x *RoadMarking_Classification) Reset()

func (*RoadMarking_Classification) String

func (x *RoadMarking_Classification) String() string

type RoadMarking_Classification_Color

type RoadMarking_Classification_Color int32

Definition of semantic road marking colors

\note The color types represent the semantic classification of road markings only. They do not represent an actual visual appearance.

const (
	// Color of road marking is unknown (must not be used in ground
	// truth).
	RoadMarking_Classification_COLOR_UNKNOWN RoadMarking_Classification_Color = 0
	// Marking with another (unspecified but known) color.
	RoadMarking_Classification_COLOR_OTHER RoadMarking_Classification_Color = 1
	// Marking with white color.
	RoadMarking_Classification_COLOR_WHITE RoadMarking_Classification_Color = 2
	// Marking with yellow / orange-yellow color.
	RoadMarking_Classification_COLOR_YELLOW RoadMarking_Classification_Color = 3
	// Marking with blue color.
	RoadMarking_Classification_COLOR_BLUE RoadMarking_Classification_Color = 5
	// Marking with red color.
	RoadMarking_Classification_COLOR_RED RoadMarking_Classification_Color = 6
	// Marking with green color.
	RoadMarking_Classification_COLOR_GREEN RoadMarking_Classification_Color = 7
	// Marking with violet color.
	RoadMarking_Classification_COLOR_VIOLET RoadMarking_Classification_Color = 8
	// Marking with orange color.
	RoadMarking_Classification_COLOR_ORANGE RoadMarking_Classification_Color = 9
)

func (RoadMarking_Classification_Color) Descriptor

func (RoadMarking_Classification_Color) Enum

func (RoadMarking_Classification_Color) EnumDescriptor deprecated

func (RoadMarking_Classification_Color) EnumDescriptor() ([]byte, []int)

Deprecated: Use RoadMarking_Classification_Color.Descriptor instead.

func (RoadMarking_Classification_Color) Number

func (RoadMarking_Classification_Color) String

func (RoadMarking_Classification_Color) Type

func (*RoadMarking_Classification_Color) UnmarshalJSON deprecated

func (x *RoadMarking_Classification_Color) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type RoadMarking_Classification_Type

type RoadMarking_Classification_Type int32

Definition of road marking types.

const (
	// Type of road marking is unknown (must not be used in ground
	// truth).
	RoadMarking_Classification_TYPE_UNKNOWN RoadMarking_Classification_Type = 0
	// Other (unspecified but known) type of road marking.
	RoadMarking_Classification_TYPE_OTHER RoadMarking_Classification_Type = 1
	// Paint on the road surface indicating a color image of a traffic
	// sign.
	RoadMarking_Classification_TYPE_PAINTED_TRAFFIC_SIGN RoadMarking_Classification_Type = 2
	// Paint on the road surface indicating a monochrome logical symbol
	// of a traffic sign (e.g. digits 50 as start of speed limit 50 or
	// stop line for stop sign).
	RoadMarking_Classification_TYPE_SYMBOLIC_TRAFFIC_SIGN RoadMarking_Classification_Type = 3
	// Paint on the road surface as a character string (e.g. BUS as bus
	// only lane).
	RoadMarking_Classification_TYPE_TEXTUAL_TRAFFIC_SIGN RoadMarking_Classification_Type = 4
	// Paint on the road surface indicating a generic symbol.
	RoadMarking_Classification_TYPE_GENERIC_SYMBOL RoadMarking_Classification_Type = 5
	// Paint on the road surface indicating a generic line.
	RoadMarking_Classification_TYPE_GENERIC_LINE RoadMarking_Classification_Type = 6
	// Paint on the road surface indicating a generic character string.
	RoadMarking_Classification_TYPE_GENERIC_TEXT RoadMarking_Classification_Type = 7
)

func (RoadMarking_Classification_Type) Descriptor

func (RoadMarking_Classification_Type) Enum

func (RoadMarking_Classification_Type) EnumDescriptor deprecated

func (RoadMarking_Classification_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use RoadMarking_Classification_Type.Descriptor instead.

func (RoadMarking_Classification_Type) Number

func (RoadMarking_Classification_Type) String

func (RoadMarking_Classification_Type) Type

func (*RoadMarking_Classification_Type) UnmarshalJSON deprecated

func (x *RoadMarking_Classification_Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type Route

type Route struct {

	// The unique id of the route.
	//
	// \note This field is mandatory.
	//
	// \note This id must be unique within all route messages exchanged with
	// one traffic participant.
	//
	// \rules
	// is_set
	// \endrules
	RouteId *Identifier `protobuf:"bytes,1,opt,name=route_id,json=routeId" json:"route_id,omitempty"`
	// Route segments that form the route of an agent.
	//
	// Consecutive segments should be connected without gaps, meaning that the
	// two of them should form a continuous area.
	RouteSegment []*Route_RouteSegment `protobuf:"bytes,2,rep,name=route_segment,json=routeSegment" json:"route_segment,omitempty"`
	// contains filtered or unexported fields
}

\brief A route in the road network

A route is an e.g. planned or suggested path for an agent to travel from one location to another within the road network. It is composed of a list of route segments, which form a continuous path through the road network and should be traversed in the order they are listed. The route allows the simulation environment to provide agents with high level path information, similar to that of a map or a navigation system, without the need for the agent model to perform complex path planning on its own. This allows for an efficient control of the agent's general direction, while simultaneously giving it enough freedom on how to traverse the path.

## Example

The example below shows the \link Route route\endlink of a vehicle.

\image html OSI_Planned_Route.png "Route" width=850px

The route is composed of three \link RouteSegment route segments\endlink RS1-3, each indicated by a yellow outline. Two of the route segments (RS2 and RS3) only contain a single \link LogicalLaneSegment logical lane segment\endlink (highlighted in blue), while RS1 is composed of three logical lane segments (green, blue and red).

func (*Route) Descriptor deprecated

func (*Route) Descriptor() ([]byte, []int)

Deprecated: Use Route.ProtoReflect.Descriptor instead.

func (*Route) GetRouteId

func (x *Route) GetRouteId() *Identifier

func (*Route) GetRouteSegment

func (x *Route) GetRouteSegment() []*Route_RouteSegment

func (*Route) ProtoMessage

func (*Route) ProtoMessage()

func (*Route) ProtoReflect

func (x *Route) ProtoReflect() protoreflect.Message

func (*Route) Reset

func (x *Route) Reset()

func (*Route) String

func (x *Route) String() string

type Route_LogicalLaneSegment

type Route_LogicalLaneSegment struct {

	// The ID of the logical lane this segment belongs to.
	//
	// \rules
	// refers_to: LogicalLane
	// \endrules
	LogicalLaneId *Identifier `protobuf:"bytes,1,opt,name=logical_lane_id,json=logicalLaneId" json:"logical_lane_id,omitempty"`
	// S position on the logical lane where the segment starts.
	StartS *float64 `protobuf:"fixed64,2,opt,name=start_s,json=startS" json:"start_s,omitempty"`
	// S position on the logical lane where the segment ends.
	EndS *float64 `protobuf:"fixed64,3,opt,name=end_s,json=endS" json:"end_s,omitempty"`
	// contains filtered or unexported fields
}

\brief A segment of a logical lane.

\note The LogicalLaneSegment allows that start_s > end_s. If start_s < end_s, then the traffic agent should traverse the segment in the logical lane's reference line definition direction. If end_s > start_s, then the traffic agent should traverse the segment in the opposite of the logical lane's reference line definition direction.

func (*Route_LogicalLaneSegment) Descriptor deprecated

func (*Route_LogicalLaneSegment) Descriptor() ([]byte, []int)

Deprecated: Use Route_LogicalLaneSegment.ProtoReflect.Descriptor instead.

func (*Route_LogicalLaneSegment) GetEndS

func (x *Route_LogicalLaneSegment) GetEndS() float64

func (*Route_LogicalLaneSegment) GetLogicalLaneId

func (x *Route_LogicalLaneSegment) GetLogicalLaneId() *Identifier

func (*Route_LogicalLaneSegment) GetStartS

func (x *Route_LogicalLaneSegment) GetStartS() float64

func (*Route_LogicalLaneSegment) ProtoMessage

func (*Route_LogicalLaneSegment) ProtoMessage()

func (*Route_LogicalLaneSegment) ProtoReflect

func (x *Route_LogicalLaneSegment) ProtoReflect() protoreflect.Message

func (*Route_LogicalLaneSegment) Reset

func (x *Route_LogicalLaneSegment) Reset()

func (*Route_LogicalLaneSegment) String

func (x *Route_LogicalLaneSegment) String() string

type Route_RouteSegment

type Route_RouteSegment struct {

	// Logical lane segments that form a route segment.
	//
	// The logical lane segments of a route segment should be connected without
	// gaps, meaning that, together, the lane segments should form a continuous
	// area.
	LaneSegment []*Route_LogicalLaneSegment `protobuf:"bytes,1,rep,name=lane_segment,json=laneSegment" json:"lane_segment,omitempty"`
	// contains filtered or unexported fields
}

\brief A segment of a route.

A route segment describes a segment of a traffic agent's route through the logical lanes of the road network.

Each time there is a successor-predecessor relation between the logical lanes along the route (i.e. a logical lane ends, and is continued by another logical lane, e.g. at a junction border), a new RouteSegment starts. The RouteSegment then lists the logical lane segments that can be used to travel through this space of the road.

Together, the listed logical lane segments should form a continuous area, where the traffic agent can move freely. These will mostly be parallel lanes, though lanes may overlap (e.g. if one lane splits into two on a junction). In general, the logical lane segments in a RouteSegment will have the same length, though there are exceptions (e.g. if a lane widening occurs, the newly appearing lane will have a shorter length).

Typically a route segment will be either - a set of parallel lanes between two junctions, or - parallel lanes on an intersection with the same driving direction

## Example

Consider the \link RouteSegment route segment\endlink between two intersections, shown in the image below.

\image html OSI_Route_Segment.png "RouteSegment" width=850px

In the example, a single route segment RS with three \link LogicalLaneSegment logical lane segments\endlink LL1, LL2 and LL3 is shown. The segments are indicated by the green, blue and red highlighted areas, one for each underlying logical lane The starting s-position of each segment is indicated by the yellow dotted line and the s- prefix (note that the start of LL2 lies further to the left, outside of the image), while the ending s-position of all segments is shown by the yellow dotted line e-RS.

As it can be seen in the example, all logical lane segments are parallel, but two of them are opening at a later position, so their starting s-positions will be different.

func (*Route_RouteSegment) Descriptor deprecated

func (*Route_RouteSegment) Descriptor() ([]byte, []int)

Deprecated: Use Route_RouteSegment.ProtoReflect.Descriptor instead.

func (*Route_RouteSegment) GetLaneSegment

func (x *Route_RouteSegment) GetLaneSegment() []*Route_LogicalLaneSegment

func (*Route_RouteSegment) ProtoMessage

func (*Route_RouteSegment) ProtoMessage()

func (*Route_RouteSegment) ProtoReflect

func (x *Route_RouteSegment) ProtoReflect() protoreflect.Message

func (*Route_RouteSegment) Reset

func (x *Route_RouteSegment) Reset()

func (*Route_RouteSegment) String

func (x *Route_RouteSegment) String() string

type SensorData

type SensorData struct {

	// The interface version used by the sender.
	//
	// \rules
	// is_set
	// \endrules
	Version *InterfaceVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The timestamp of the sensor data. Zero time is arbitrary but must be
	// identical for all messages. Zero time does not need to coincide with
	// the unix epoch. Recommended is the starting time point of the
	// simulation.
	//
	// \note This is the point in time that the sensor data message becomes
	// available to the rest of the system (i.e. the driving functions), so
	// it corresponds with the sending time and thus takes the latency of
	// internal processing of the sensor into account. Latencies of bus
	// communications, etc., that occur after the sensor output have to be
	// applied on top of this, if needed.
	//
	// The time that the actual measurement was performed (which will usually
	// correspond with the timestamp of the \c GroundTruth the sensor model
	// processed to arrive at these results) can be found in the additional
	// field \c SensorData::last_measurement_time.
	//
	// For an ideal zero latency sensor the two timestamps would be the same
	// and would correspond with the timestamp from the current \c GroundTruth
	// message.
	//
	// For a sensor model that does not know its own internal latencies (e.g.
	// a dumb sensor with no internal time concept), the two timestamps might
	// also be identical, but delayed from the \c GroundTruth timestamp.
	//
	// \rules
	// is_set
	// \endrules
	Timestamp *Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
	// The sensors estimated location of the host vehicle
	//
	// \note This value is only set by sensors that are able to
	// provide an own estimation of the host vehicle location.
	// \note Note that dimension and base_polygon need not be set.
	// \note The parent frame of \c host_vehicle_location is the sensor frame.
	HostVehicleLocation *BaseMoving `protobuf:"bytes,3,opt,name=host_vehicle_location,json=hostVehicleLocation" json:"host_vehicle_location,omitempty"`
	// The sensors estimated location error of the host vehicle
	//
	// \note This value is only set by sensors that are able to
	// provide an own estimation of the host vehicle location.
	// \note Note that dimension and base_polygon need not be set.
	// \note The parent frame of \c host_vehicle_location_rmse is the sensor
	// frame.
	HostVehicleLocationRmse *BaseMoving `` /* 127-byte string literal not displayed */
	// The ID of the sensor at host vehicle's mounting_position.
	//
	// This is the ID of the virtual sensor, to be used in its detected
	// object output; it is distinct from the IDs of its physical detectors,
	// which are used in the detected features.
	//
	// \rules
	// is_set
	// \endrules
	SensorId *Identifier `protobuf:"bytes,5,opt,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// The virtual mounting position of the sensor (origin and orientation
	// of the sensor coordinate system) given in vehicle coordinates [1].
	// The virtual position pertains to the sensor as a whole, regardless
	// of the actual position of individual physical detectors, and governs
	// the sensor-relative coordinates in detected objects of the sensor
	// as a whole.  Individual features detected by individual physical
	// detectors are governed by the actual physical mounting positions
	// of the detectors, as indicated in the technology-specific sub-views
	// and sub-view configurations.
	//
	// \arg \b x-direction of sensor coordinate system: sensor viewing direction
	// \arg \b z-direction of sensor coordinate system: sensor (up)
	// \arg \b y-direction of sensor coordinate system: perpendicular to x and z
	// right hand system
	//
	// \par Reference:
	// [1] DIN Deutsches Institut fuer Normung e. V. (2013). <em>DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe</em>. (DIN ISO 8855:2013-11). Berlin, Germany.
	//
	// \note This field is usually static during the simulation.
	// \note The origin of vehicle's coordinate system in world frame is
	// ( \c MovingObject::base . \c BaseMoving::position +
	// Inverse_Rotation_yaw_pitch_roll( \c MovingObject::base . \c
	// BaseMoving::orientation) * \c
	// MovingObject::VehicleAttributes::bbcenter_to_rear) . The orientation of
	// the vehicle's coordinate system is equal to the orientation of the
	// vehicle's bounding box \c MovingObject::base . \c
	// BaseMoving::orientation.
	//
	// \rules
	// is_set
	// \endrules
	MountingPosition *MountingPosition `protobuf:"bytes,6,opt,name=mounting_position,json=mountingPosition" json:"mounting_position,omitempty"`
	// The root mean squared error of the mounting position.
	MountingPositionRmse *MountingPosition `protobuf:"bytes,7,opt,name=mounting_position_rmse,json=mountingPositionRmse" json:"mounting_position_rmse,omitempty"`
	// Sensor view w.r.t. the sensor coordinate system
	//
	// This provides a copy of the \c SensorView data received by the sensor
	// for reference purposes.  For complex sensors or logic models this
	// can be multiple copies.
	SensorView []*SensorView `protobuf:"bytes,8,rep,name=sensor_view,json=sensorView" json:"sensor_view,omitempty"`
	// The timestamp of the last real-world measurement (e.g. GT input) that
	// this set of sensor data takes into account. This in effect is the last
	// time instance of reality the measurements correspond to. See field
	// \c SensorData::timestamp for a detailed discussion. This value is also
	// the upper bound to the \c DetectedEntityHeader::measurement_time and the
	// feature data \c SensorDetectionHeader::measurement_time fields.
	LastMeasurementTime *Timestamp `protobuf:"bytes,9,opt,name=last_measurement_time,json=lastMeasurementTime" json:"last_measurement_time,omitempty"`
	// General information about the \c DetectedStationaryObject .
	StationaryObjectHeader *DetectedEntityHeader `protobuf:"bytes,10,opt,name=stationary_object_header,json=stationaryObjectHeader" json:"stationary_object_header,omitempty"`
	// The list of stationary objects (e.g. landmarks) detected by the sensor.
	StationaryObject []*DetectedStationaryObject `protobuf:"bytes,11,rep,name=stationary_object,json=stationaryObject" json:"stationary_object,omitempty"`
	// General information about the \c DetectedMovingObject .
	MovingObjectHeader *DetectedEntityHeader `protobuf:"bytes,12,opt,name=moving_object_header,json=movingObjectHeader" json:"moving_object_header,omitempty"`
	// The list of moving objects detected by the sensor as perceived by
	// the sensor.
	MovingObject []*DetectedMovingObject `protobuf:"bytes,13,rep,name=moving_object,json=movingObject" json:"moving_object,omitempty"`
	// General information about the \c DetectedTrafficSign .
	TrafficSignHeader *DetectedEntityHeader `protobuf:"bytes,14,opt,name=traffic_sign_header,json=trafficSignHeader" json:"traffic_sign_header,omitempty"`
	// The list of traffic signs detected by the sensor.
	TrafficSign []*DetectedTrafficSign `protobuf:"bytes,15,rep,name=traffic_sign,json=trafficSign" json:"traffic_sign,omitempty"`
	// General information about the \c DetectedTrafficLight .
	TrafficLightHeader *DetectedEntityHeader `protobuf:"bytes,16,opt,name=traffic_light_header,json=trafficLightHeader" json:"traffic_light_header,omitempty"`
	// The list of traffic lights detected by the sensor.
	TrafficLight []*DetectedTrafficLight `protobuf:"bytes,17,rep,name=traffic_light,json=trafficLight" json:"traffic_light,omitempty"`
	// General information about the \c DetectedRoadMarking .
	RoadMarkingHeader *DetectedEntityHeader `protobuf:"bytes,18,opt,name=road_marking_header,json=roadMarkingHeader" json:"road_marking_header,omitempty"`
	// The list of road markings detected by the sensor.
	// This excludes lane boundary markings.
	RoadMarking []*DetectedRoadMarking `protobuf:"bytes,19,rep,name=road_marking,json=roadMarking" json:"road_marking,omitempty"`
	// General information about the \c DetectedLaneBoundary .
	LaneBoundaryHeader *DetectedEntityHeader `protobuf:"bytes,20,opt,name=lane_boundary_header,json=laneBoundaryHeader" json:"lane_boundary_header,omitempty"`
	// The list of lane boundary markings detected by the sensor.
	LaneBoundary []*DetectedLaneBoundary `protobuf:"bytes,21,rep,name=lane_boundary,json=laneBoundary" json:"lane_boundary,omitempty"`
	// General information about the \c DetectedLane .
	LaneHeader *DetectedEntityHeader `protobuf:"bytes,22,opt,name=lane_header,json=laneHeader" json:"lane_header,omitempty"`
	// The list of lanes detected by the sensor
	Lane []*DetectedLane `protobuf:"bytes,23,rep,name=lane" json:"lane,omitempty"`
	// General information about the \c DetectedOccupant .
	OccupantHeader *DetectedEntityHeader `protobuf:"bytes,24,opt,name=occupant_header,json=occupantHeader" json:"occupant_header,omitempty"`
	// The list of occupants of the host vehicle
	Occupant []*DetectedOccupant `protobuf:"bytes,25,rep,name=occupant" json:"occupant,omitempty"`
	// Low level feature data interface.
	//
	// Low Level feature data is optionally provided by sensor models that
	// model sensors giving access to this low level data, i.e. data prior to
	// object hypothesis and tracking.
	FeatureData *FeatureData `protobuf:"bytes,26,opt,name=feature_data,json=featureData" json:"feature_data,omitempty"`
	// Logical detection data interface.
	//
	// Logical detection data are provided by a transformation
	// (and optional sensor fusion)
	// performed by a sensor model or a logical model
	// that fuses multiple sensors and/or sensor types
	// into a single reference frame
	// of the so called logical/virtual sensor.
	// Therefore, all information is given with respect to
	// the reference frame of the logical/virtual sensor
	// \c SensorView::mounting_position (e.g. center of rear axle of the ego car)
	// in cartesian coordinates.
	LogicalDetectionData *LogicalDetectionData `protobuf:"bytes,27,opt,name=logical_detection_data,json=logicalDetectionData" json:"logical_detection_data,omitempty"`
	// Virtual detection area of the sensor
	VirtualDetectionArea *SensorData_VirtualDetectionArea `protobuf:"bytes,28,opt,name=virtual_detection_area,json=virtualDetectionArea" json:"virtual_detection_area,omitempty"`
	// The system time of the modeled source of the sensor data, given
	// in UTC (Unix Epoch timestamp).
	//
	// The system time can be used to transmit the internal time of the
	// simulated component that supplies the sensor data, which might
	// not coincide with the simulation time as transmitted in the
	// timestamp field. Example use cases include recorded data traces
	// or the simulation of time synchronization mechanisms and errors.
	SystemTime *Timestamp `protobuf:"bytes,29,opt,name=system_time,json=systemTime" json:"system_time,omitempty"`
	// contains filtered or unexported fields
}

\brief The sensor information derived from \c GroundTruth and processed by sensor-models.

The sensor information is supposed to imitate the output of real sensors. All information regarding the environment is given with respect to the virtual sensor coordinate system specified in \c SensorData::mounting_position, except for feature data, which is given with respect to the physical sensor coordinate system specified in the corresponding physical sensor's coordinate system.

When simulating multiple distinct sensors, each sensor can produce an individual copy of the \c SensorData interface. This allows an independent treatment of the sensors.

Sensor fusion models can consolidate multiple \c SensorData interfaces into one consolidated \c SensorData interface. This can happen either in separate logical models, consuming and producing \c SensorData interfaces, or it can happen as part of a combined sensor/logical model, that consumes \c SensorView interfaces and directly produces one consolidated \c SensorData output.

func (*SensorData) Descriptor deprecated

func (*SensorData) Descriptor() ([]byte, []int)

Deprecated: Use SensorData.ProtoReflect.Descriptor instead.

func (*SensorData) GetFeatureData

func (x *SensorData) GetFeatureData() *FeatureData

func (*SensorData) GetHostVehicleLocation

func (x *SensorData) GetHostVehicleLocation() *BaseMoving

func (*SensorData) GetHostVehicleLocationRmse

func (x *SensorData) GetHostVehicleLocationRmse() *BaseMoving

func (*SensorData) GetLane

func (x *SensorData) GetLane() []*DetectedLane

func (*SensorData) GetLaneBoundary

func (x *SensorData) GetLaneBoundary() []*DetectedLaneBoundary

func (*SensorData) GetLaneBoundaryHeader

func (x *SensorData) GetLaneBoundaryHeader() *DetectedEntityHeader

func (*SensorData) GetLaneHeader

func (x *SensorData) GetLaneHeader() *DetectedEntityHeader

func (*SensorData) GetLastMeasurementTime

func (x *SensorData) GetLastMeasurementTime() *Timestamp

func (*SensorData) GetLogicalDetectionData

func (x *SensorData) GetLogicalDetectionData() *LogicalDetectionData

func (*SensorData) GetMountingPosition

func (x *SensorData) GetMountingPosition() *MountingPosition

func (*SensorData) GetMountingPositionRmse

func (x *SensorData) GetMountingPositionRmse() *MountingPosition

func (*SensorData) GetMovingObject

func (x *SensorData) GetMovingObject() []*DetectedMovingObject

func (*SensorData) GetMovingObjectHeader

func (x *SensorData) GetMovingObjectHeader() *DetectedEntityHeader

func (*SensorData) GetOccupant

func (x *SensorData) GetOccupant() []*DetectedOccupant

func (*SensorData) GetOccupantHeader

func (x *SensorData) GetOccupantHeader() *DetectedEntityHeader

func (*SensorData) GetRoadMarking

func (x *SensorData) GetRoadMarking() []*DetectedRoadMarking

func (*SensorData) GetRoadMarkingHeader

func (x *SensorData) GetRoadMarkingHeader() *DetectedEntityHeader

func (*SensorData) GetSensorId

func (x *SensorData) GetSensorId() *Identifier

func (*SensorData) GetSensorView

func (x *SensorData) GetSensorView() []*SensorView

func (*SensorData) GetStationaryObject

func (x *SensorData) GetStationaryObject() []*DetectedStationaryObject

func (*SensorData) GetStationaryObjectHeader

func (x *SensorData) GetStationaryObjectHeader() *DetectedEntityHeader

func (*SensorData) GetSystemTime

func (x *SensorData) GetSystemTime() *Timestamp

func (*SensorData) GetTimestamp

func (x *SensorData) GetTimestamp() *Timestamp

func (*SensorData) GetTrafficLight

func (x *SensorData) GetTrafficLight() []*DetectedTrafficLight

func (*SensorData) GetTrafficLightHeader

func (x *SensorData) GetTrafficLightHeader() *DetectedEntityHeader

func (*SensorData) GetTrafficSign

func (x *SensorData) GetTrafficSign() []*DetectedTrafficSign

func (*SensorData) GetTrafficSignHeader

func (x *SensorData) GetTrafficSignHeader() *DetectedEntityHeader

func (*SensorData) GetVersion

func (x *SensorData) GetVersion() *InterfaceVersion

func (*SensorData) GetVirtualDetectionArea

func (x *SensorData) GetVirtualDetectionArea() *SensorData_VirtualDetectionArea

func (*SensorData) ProtoMessage

func (*SensorData) ProtoMessage()

func (*SensorData) ProtoReflect

func (x *SensorData) ProtoReflect() protoreflect.Message

func (*SensorData) Reset

func (x *SensorData) Reset()

func (*SensorData) String

func (x *SensorData) String() string

type SensorDataSeries

type SensorDataSeries struct {

	// List of sensor data messages for subsequent time steps.
	SensorData []*SensorData `protobuf:"bytes,1,rep,name=sensor_data,json=sensorData" json:"sensor_data,omitempty"`
	// contains filtered or unexported fields
}

\brief (Time) Series of \c SensorData messages that may be used for data recording or internal buffering by some sensor models.

func (*SensorDataSeries) Descriptor deprecated

func (*SensorDataSeries) Descriptor() ([]byte, []int)

Deprecated: Use SensorDataSeries.ProtoReflect.Descriptor instead.

func (*SensorDataSeries) GetSensorData

func (x *SensorDataSeries) GetSensorData() []*SensorData

func (*SensorDataSeries) ProtoMessage

func (*SensorDataSeries) ProtoMessage()

func (*SensorDataSeries) ProtoReflect

func (x *SensorDataSeries) ProtoReflect() protoreflect.Message

func (*SensorDataSeries) Reset

func (x *SensorDataSeries) Reset()

func (*SensorDataSeries) String

func (x *SensorDataSeries) String() string

type SensorDataSeriesList

type SensorDataSeriesList struct {

	// List of sensor data for multiple sensors at subsequent time steps.
	Sensor []*SensorDataSeries `protobuf:"bytes,1,rep,name=sensor" json:"sensor,omitempty"`
	// contains filtered or unexported fields
}

\brief List of sensors where each element contains a time series of \c SensorData messages.

func (*SensorDataSeriesList) Descriptor deprecated

func (*SensorDataSeriesList) Descriptor() ([]byte, []int)

Deprecated: Use SensorDataSeriesList.ProtoReflect.Descriptor instead.

func (*SensorDataSeriesList) GetSensor

func (x *SensorDataSeriesList) GetSensor() []*SensorDataSeries

func (*SensorDataSeriesList) ProtoMessage

func (*SensorDataSeriesList) ProtoMessage()

func (*SensorDataSeriesList) ProtoReflect

func (x *SensorDataSeriesList) ProtoReflect() protoreflect.Message

func (*SensorDataSeriesList) Reset

func (x *SensorDataSeriesList) Reset()

func (*SensorDataSeriesList) String

func (x *SensorDataSeriesList) String() string

type SensorData_VirtualDetectionArea

type SensorData_VirtualDetectionArea struct {

	// List of polygons. Each polygon represents a surface of the virtual detection area
	// and is given with respect to the virtual sensor coordinate system.
	Polygon []*Polygon3D `protobuf:"bytes,1,rep,name=polygon" json:"polygon,omitempty"`
	// contains filtered or unexported fields
}

\brief Virtual detection area of a sensor

The virtual detection area describes the nominal area the sensor is capable of covering in its current operating mode, without taking occlusion or other statistical effects into account. This information can be used for visualization or other development purposes as a rough guide to nominal sensor performance.

It is described by a set of polygons in cartesian coordinates as a pragmatic approximation for the rough shapes expected.

func (*SensorData_VirtualDetectionArea) Descriptor deprecated

func (*SensorData_VirtualDetectionArea) Descriptor() ([]byte, []int)

Deprecated: Use SensorData_VirtualDetectionArea.ProtoReflect.Descriptor instead.

func (*SensorData_VirtualDetectionArea) GetPolygon

func (x *SensorData_VirtualDetectionArea) GetPolygon() []*Polygon3D

func (*SensorData_VirtualDetectionArea) ProtoMessage

func (*SensorData_VirtualDetectionArea) ProtoMessage()

func (*SensorData_VirtualDetectionArea) ProtoReflect

func (*SensorData_VirtualDetectionArea) Reset

func (*SensorData_VirtualDetectionArea) String

type SensorDetectionHeader

type SensorDetectionHeader struct {

	// Time stamp at which the measurement was taken (not the time at which it
	// was processed or at which it is transmitted) in the global synchronized
	// time.
	//
	// \note See \c SensorData::timestamp and
	// \c SensorData::last_measurement_time for detailed discussions on the
	// semantics of time-related fields.
	MeasurementTime *Timestamp `protobuf:"bytes,1,opt,name=measurement_time,json=measurementTime" json:"measurement_time,omitempty"`
	// Monotonous counter to identify the exact cycle.
	// In general the detection function is called periodically and
	// \c #cycle_counter corresponds to the number of periods.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	CycleCounter *uint64 `protobuf:"varint,2,opt,name=cycle_counter,json=cycleCounter" json:"cycle_counter,omitempty"`
	// The physical mounting position of the sensor (origin and orientation of
	// the sensor frame). Both origin and orientation are given in and with
	// respect to the host vehicle coordinate system [1].
	//
	// The sensor frame's x-axis is pointing in the central viewing direction of
	// the sensor. It is the angle bisector of the sensor's horizontal and
	// vertical field of view. The terms horizontal and vertical must be
	// understood as names for the two principal planes of the sensor's field of
	// view (relative to the sensor frame's orientation), which do not have to
	// be horizontal or vertical in the strict sense of being parallel or
	// perpendicular to the local gravitational vector. The horizontal field
	// of view defines the sensor frame's xy-plane and the vertical field
	// of view defines the xz-plane. The sensor frame is right-handed and the
	// z-axis is pointing in an upward direction.
	//
	// The sensor frame uses cartesian coordinates. The sensor frame's origin is
	// identical to sensor detection frame's origin. Detections are defined in
	// the sensor detection frame which uses e.g. spherical coordinates.
	//
	// \par Reference:
	// [1] DIN Deutsches Institut fuer Normung e. V. (2013). <em>DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe</em>. (DIN ISO 8855:2013-11). Berlin, Germany.
	//
	// \rules
	// is_set
	// \endrules
	MountingPosition *MountingPosition `protobuf:"bytes,3,opt,name=mounting_position,json=mountingPosition" json:"mounting_position,omitempty"`
	// The origin/orientation of the sensor frame represents the current
	// mounting pose to the best knowledge of the sensor. The estimation of the
	// 6D pose given by the calibration. The uncertainty of this estimation is
	// given with the corresponding 6D root mean squared error. The estimation
	// of the current origin does not include effects due to short-time
	// dynamics, such as pitch angles from braking, but includes long-time
	// calibration values, such as pitch angles from luggage in the trunk.
	MountingPositionRmse *MountingPosition `protobuf:"bytes,4,opt,name=mounting_position_rmse,json=mountingPositionRmse" json:"mounting_position_rmse,omitempty"`
	// Data Qualifier expresses to what extent the content of this event can be
	// relied on.
	DataQualifier *SensorDetectionHeader_DataQualifier `` /* 140-byte string literal not displayed */
	// The current number of valid detections in the detections list.
	//
	// \note This value has to be set if the list contains invalid detections.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	NumberOfValidDetections *uint32 `` /* 128-byte string literal not displayed */
	// The ID of the sensor at host vehicle's \c #mounting_position.
	//
	// This ID can equal \c SensorData::sensor_id, if \c SensorData holds only
	// data from one sensor/sensor model.
	//
	// \rules
	// is_set
	// \endrules
	SensorId *Identifier `protobuf:"bytes,7,opt,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// The extended qualifier describes the reason (not the effect) why the
	// event data qualifier, \c #data_qualifier, is reduced or not available.
	ExtendedQualifier *SensorDetectionHeader_ExtendedQualifier `` /* 156-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief The header attributes of each sensor's detection list.

func (*SensorDetectionHeader) Descriptor deprecated

func (*SensorDetectionHeader) Descriptor() ([]byte, []int)

Deprecated: Use SensorDetectionHeader.ProtoReflect.Descriptor instead.

func (*SensorDetectionHeader) GetCycleCounter

func (x *SensorDetectionHeader) GetCycleCounter() uint64

func (*SensorDetectionHeader) GetDataQualifier

func (*SensorDetectionHeader) GetExtendedQualifier

func (*SensorDetectionHeader) GetMeasurementTime

func (x *SensorDetectionHeader) GetMeasurementTime() *Timestamp

func (*SensorDetectionHeader) GetMountingPosition

func (x *SensorDetectionHeader) GetMountingPosition() *MountingPosition

func (*SensorDetectionHeader) GetMountingPositionRmse

func (x *SensorDetectionHeader) GetMountingPositionRmse() *MountingPosition

func (*SensorDetectionHeader) GetNumberOfValidDetections

func (x *SensorDetectionHeader) GetNumberOfValidDetections() uint32

func (*SensorDetectionHeader) GetSensorId

func (x *SensorDetectionHeader) GetSensorId() *Identifier

func (*SensorDetectionHeader) ProtoMessage

func (*SensorDetectionHeader) ProtoMessage()

func (*SensorDetectionHeader) ProtoReflect

func (x *SensorDetectionHeader) ProtoReflect() protoreflect.Message

func (*SensorDetectionHeader) Reset

func (x *SensorDetectionHeader) Reset()

func (*SensorDetectionHeader) String

func (x *SensorDetectionHeader) String() string

type SensorDetectionHeader_DataQualifier

type SensorDetectionHeader_DataQualifier int32

Data qualifier communicates the overall availability of the interface.

const (
	// Unknown (must not be used in ground truth).
	SensorDetectionHeader_DATA_QUALIFIER_UNKNOWN SensorDetectionHeader_DataQualifier = 0
	// Other (unspecified but known).
	SensorDetectionHeader_DATA_QUALIFIER_OTHER SensorDetectionHeader_DataQualifier = 1
	// Data is available.
	SensorDetectionHeader_DATA_QUALIFIER_AVAILABLE SensorDetectionHeader_DataQualifier = 2
	// Reduced data is available.
	SensorDetectionHeader_DATA_QUALIFIER_AVAILABLE_REDUCED SensorDetectionHeader_DataQualifier = 3
	// Data is not available.
	SensorDetectionHeader_DATA_QUALIFIER_NOT_AVAILABLE SensorDetectionHeader_DataQualifier = 4
	// Sensor is blind.
	SensorDetectionHeader_DATA_QUALIFIER_BLINDNESS SensorDetectionHeader_DataQualifier = 5
	// Sensor temporary available.
	SensorDetectionHeader_DATA_QUALIFIER_TEMPORARY_AVAILABLE SensorDetectionHeader_DataQualifier = 6
	// Sensor invalid.
	SensorDetectionHeader_DATA_QUALIFIER_INVALID SensorDetectionHeader_DataQualifier = 7
)

func (SensorDetectionHeader_DataQualifier) Descriptor

func (SensorDetectionHeader_DataQualifier) Enum

func (SensorDetectionHeader_DataQualifier) EnumDescriptor deprecated

func (SensorDetectionHeader_DataQualifier) EnumDescriptor() ([]byte, []int)

Deprecated: Use SensorDetectionHeader_DataQualifier.Descriptor instead.

func (SensorDetectionHeader_DataQualifier) Number

func (SensorDetectionHeader_DataQualifier) String

func (SensorDetectionHeader_DataQualifier) Type

func (*SensorDetectionHeader_DataQualifier) UnmarshalJSON deprecated

func (x *SensorDetectionHeader_DataQualifier) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type SensorDetectionHeader_ExtendedQualifier

type SensorDetectionHeader_ExtendedQualifier int32

The extended qualifier describes the reason (not the effect) why the event data qualifier, \c #data_qualifier, is reduced or not available.

const (
	// Unknown (must not be used in ground truth).
	SensorDetectionHeader_EXTENDED_QUALIFIER_UNKNOWN SensorDetectionHeader_ExtendedQualifier = 0
	// Other (unspecified but known).
	SensorDetectionHeader_EXTENDED_QUALIFIER_OTHER SensorDetectionHeader_ExtendedQualifier = 1
	// Normal operation mode.
	SensorDetectionHeader_EXTENDED_QUALIFIER_NORMAL_OPERATION_MODE SensorDetectionHeader_ExtendedQualifier = 2
	// Power up or down.
	SensorDetectionHeader_EXTENDED_QUALIFIER_POWER_UP_OR_DOWN SensorDetectionHeader_ExtendedQualifier = 3
	// Sensor not calibrated.
	SensorDetectionHeader_EXTENDED_QUALIFIER_SENSOR_NOT_CALIBRATED SensorDetectionHeader_ExtendedQualifier = 4
	// Sensor blocked.
	SensorDetectionHeader_EXTENDED_QUALIFIER_SENSOR_BLOCKED SensorDetectionHeader_ExtendedQualifier = 5
	// Sensor misaligned.
	SensorDetectionHeader_EXTENDED_QUALIFIER_SENSOR_MISALIGNED SensorDetectionHeader_ExtendedQualifier = 6
	// Bad sensor environmental condition (e.g. Darkness for vision).
	SensorDetectionHeader_EXTENDED_QUALIFIER_BAD_SENSOR_ENVIRONMENTAL_CONDITION SensorDetectionHeader_ExtendedQualifier = 7
	// Reduced field of view.
	SensorDetectionHeader_EXTENDED_QUALIFIER_REDUCED_FIELD_OF_VIEW SensorDetectionHeader_ExtendedQualifier = 8
	// Input not available.
	SensorDetectionHeader_EXTENDED_QUALIFIER_INPUT_NOT_AVAILABLE SensorDetectionHeader_ExtendedQualifier = 9
	// Internal reason (e.g. an internal hardware or software error has occurred).
	SensorDetectionHeader_EXTENDED_QUALIFIER_INTERNAL_REASON SensorDetectionHeader_ExtendedQualifier = 10
	// External disturbance, sensor specific for front radar (e.g.
	// Interference of different radar sensors).
	SensorDetectionHeader_EXTENDED_QUALIFIER_EXTERNAL_DISTURBANCE SensorDetectionHeader_ExtendedQualifier = 11
	// Beginning blockage, sensor specific for front radar.
	SensorDetectionHeader_EXTENDED_QUALIFIER_BEGINNING_BLOCKAGE SensorDetectionHeader_ExtendedQualifier = 12
)

func (SensorDetectionHeader_ExtendedQualifier) Descriptor

func (SensorDetectionHeader_ExtendedQualifier) Enum

func (SensorDetectionHeader_ExtendedQualifier) EnumDescriptor deprecated

func (SensorDetectionHeader_ExtendedQualifier) EnumDescriptor() ([]byte, []int)

Deprecated: Use SensorDetectionHeader_ExtendedQualifier.Descriptor instead.

func (SensorDetectionHeader_ExtendedQualifier) Number

func (SensorDetectionHeader_ExtendedQualifier) String

func (SensorDetectionHeader_ExtendedQualifier) Type

func (*SensorDetectionHeader_ExtendedQualifier) UnmarshalJSON deprecated

func (x *SensorDetectionHeader_ExtendedQualifier) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type SensorView

type SensorView struct {

	// The interface version used by the sender (simulation environment).
	//
	// \rules
	// is_set
	// \endrules
	Version *InterfaceVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The data timestamp of the simulation environment. Zero time is arbitrary
	// but must be identical for all messages. Zero time does not need to
	// coincide with the UNIX epoch. Recommended is the starting time point of
	// the simulation.
	//
	// \note For sensor view data this timestamp coincides both with the
	// notional simulation time the data applies to and the time it was sent
	// (there is no inherent latency for sensor view data, as opposed to
	// sensor data).
	//
	// \rules
	// is_set
	// \endrules
	Timestamp *Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
	// The ID of the sensor at host vehicle's \c #mounting_position.
	//
	// This is the ID of the virtual sensor, to be used in its detected
	// object output; it is distinct from the IDs of its physical detectors,
	// which are used in the detected features.
	//
	// \rules
	// is_set
	// \endrules
	SensorId *Identifier `protobuf:"bytes,3,opt,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// The virtual mounting position of the sensor (origin and orientation of
	// the sensor frame). Both origin and orientation are given in and with
	// respect to the host vehicle coordinate system [1].
	//
	// The virtual position pertains to the sensor as a whole, regardless of the
	// actual position of individual physical detectors, and governs the
	// sensor-relative coordinates in detected objects of the sensor as a whole.
	// Individual features detected by individual physical detectors are
	// governed by the actual physical mounting positions of the detectors, as
	// indicated in the technology-specific sub-views and sub-view
	// configurations.
	//
	// \arg \b x-direction of sensor coordinate system: sensor viewing direction
	// \arg \b z-direction of sensor coordinate system: sensor (up)
	// \arg \b y-direction of sensor coordinate system: perpendicular to x and z
	// right hand system
	//
	// \par Reference:
	// [1] DIN Deutsches Institut fuer Normung e. V. (2013). <em>DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe</em>. (DIN ISO 8855:2013-11). Berlin, Germany.
	//
	// \note This field is usually static during the simulation.
	// \note The origin of vehicle's coordinate system in world frame is
	// ( \c MovingObject::base . \c BaseMoving::position +
	// Inverse_Rotation_yaw_pitch_roll( \c MovingObject::base . \c
	// BaseMoving::orientation) * \c
	// MovingObject::VehicleAttributes::bbcenter_to_rear) . The orientation of
	// the vehicle's coordinate system is equal to the orientation of the
	// vehicle's bounding box \c MovingObject::base . \c
	// BaseMoving::orientation.
	//
	// \rules
	// is_set
	// \endrules
	MountingPosition *MountingPosition `protobuf:"bytes,4,opt,name=mounting_position,json=mountingPosition" json:"mounting_position,omitempty"`
	// The root mean squared error of the mounting position.
	MountingPositionRmse *MountingPosition `protobuf:"bytes,5,opt,name=mounting_position_rmse,json=mountingPositionRmse" json:"mounting_position_rmse,omitempty"`
	// Host vehicle data.
	//
	// Host vehicle data is data that the host vehicle knows about itself,
	// e.g. from location sensors, internal sensors and ECU bus data, etc.,
	// that is made available to sensors as input.
	HostVehicleData *HostVehicleData `protobuf:"bytes,6,opt,name=host_vehicle_data,json=hostVehicleData" json:"host_vehicle_data,omitempty"`
	// Ground truth w.r.t. global coordinate system.
	//
	// This is the ground truth that is provided to the sensor model by the
	// simulation environment. It may be filtered as per the requirements of
	// the sensor model as expressed by the \c SensorViewConfiguration
	// message(s) that where exchanged during the simulation initialization
	// phase.
	//
	// \note The host vehicle is always contained in the ground truth provided,
	// regardless of any filtering. The ground truth MUST contain at least as
	// much of the ground truth data, as is requested by the sensor model, but
	// MAY always contain more data, since the filtering is intended only as
	// an optimization mechanism, not as a replacement of a proper sensor
	// field of view modeling.
	GlobalGroundTruth *GroundTruth `protobuf:"bytes,7,opt,name=global_ground_truth,json=globalGroundTruth" json:"global_ground_truth,omitempty"`
	// The ID of the host vehicle in the \c #global_ground_truth data.
	//
	// \rules
	// refers_to: 'MovingObject'
	// is_set
	// \endrules
	HostVehicleId *Identifier `protobuf:"bytes,8,opt,name=host_vehicle_id,json=hostVehicleId" json:"host_vehicle_id,omitempty"`
	// Generic SensorView(s).
	GenericSensorView []*GenericSensorView `protobuf:"bytes,1000,rep,name=generic_sensor_view,json=genericSensorView" json:"generic_sensor_view,omitempty"`
	// Radar-specific SensorView(s).
	RadarSensorView []*RadarSensorView `protobuf:"bytes,1001,rep,name=radar_sensor_view,json=radarSensorView" json:"radar_sensor_view,omitempty"`
	// Lidar-specific SensorView(s).
	LidarSensorView []*LidarSensorView `protobuf:"bytes,1002,rep,name=lidar_sensor_view,json=lidarSensorView" json:"lidar_sensor_view,omitempty"`
	// Camera-specific SensorView(s).
	CameraSensorView []*CameraSensorView `protobuf:"bytes,1003,rep,name=camera_sensor_view,json=cameraSensorView" json:"camera_sensor_view,omitempty"`
	// Ultrasonic-specific SensorView(s).
	UltrasonicSensorView []*UltrasonicSensorView `protobuf:"bytes,1004,rep,name=ultrasonic_sensor_view,json=ultrasonicSensorView" json:"ultrasonic_sensor_view,omitempty"`
	// contains filtered or unexported fields
}

\brief The sensor view is derived from \c GroundTruth and used as input to sensor models.

The sensor view information is supposed to provide input to sensor models for simulation of actual real sensors. All information regarding the environment is given with respect to the virtual sensor coordinate system specified in \c SensorView::mounting_position, except for the individual physical technology-specific data, which is given with respect to the physical sensor coordinate system specified in the corresponding physical sensor's \c #mounting_position, and the \c #global_ground_truth, which is given in global coordinates.

When simulating multiple distinct sensors, each sensor can consume an individual copy of the \c SensorView interface. This allows an independent treatment of the sensors.

Alternatively combined sensor models can also consume one combined \c SensorView, with either combined or separate \c SensorData outputs, depending on model architecture.

func (*SensorView) Descriptor deprecated

func (*SensorView) Descriptor() ([]byte, []int)

Deprecated: Use SensorView.ProtoReflect.Descriptor instead.

func (*SensorView) GetCameraSensorView

func (x *SensorView) GetCameraSensorView() []*CameraSensorView

func (*SensorView) GetGenericSensorView

func (x *SensorView) GetGenericSensorView() []*GenericSensorView

func (*SensorView) GetGlobalGroundTruth

func (x *SensorView) GetGlobalGroundTruth() *GroundTruth

func (*SensorView) GetHostVehicleData

func (x *SensorView) GetHostVehicleData() *HostVehicleData

func (*SensorView) GetHostVehicleId

func (x *SensorView) GetHostVehicleId() *Identifier

func (*SensorView) GetLidarSensorView

func (x *SensorView) GetLidarSensorView() []*LidarSensorView

func (*SensorView) GetMountingPosition

func (x *SensorView) GetMountingPosition() *MountingPosition

func (*SensorView) GetMountingPositionRmse

func (x *SensorView) GetMountingPositionRmse() *MountingPosition

func (*SensorView) GetRadarSensorView

func (x *SensorView) GetRadarSensorView() []*RadarSensorView

func (*SensorView) GetSensorId

func (x *SensorView) GetSensorId() *Identifier

func (*SensorView) GetTimestamp

func (x *SensorView) GetTimestamp() *Timestamp

func (*SensorView) GetUltrasonicSensorView

func (x *SensorView) GetUltrasonicSensorView() []*UltrasonicSensorView

func (*SensorView) GetVersion

func (x *SensorView) GetVersion() *InterfaceVersion

func (*SensorView) ProtoMessage

func (*SensorView) ProtoMessage()

func (*SensorView) ProtoReflect

func (x *SensorView) ProtoReflect() protoreflect.Message

func (*SensorView) Reset

func (x *SensorView) Reset()

func (*SensorView) String

func (x *SensorView) String() string

type SensorViewConfiguration

type SensorViewConfiguration struct {

	// The interface version used by the sender (simulation environment).
	//
	// \rules
	// is_set
	// \endrules
	Version *InterfaceVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The ID of the sensor at host vehicle's mounting_position.
	//
	// This is the ID of the virtual sensor, to be used in its detected
	// object output; it is distinct from the IDs of its physical detectors,
	// which are used in the detected features.
	//
	// The ID is to be provided by the environment simulation, the sensor
	// model is not in a position to provide a useful default value.
	//
	// \rules
	// is_set
	// \endrules
	SensorId *Identifier `protobuf:"bytes,2,opt,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// The virtual mounting position of the sensor (origin and orientation
	// of the sensor coordinate system) given in vehicle coordinates [1].
	// The virtual position pertains to the sensor as a whole, regardless
	// of the actual position of individual physical detectors, and governs
	// the sensor-relative coordinates in detected objects of the sensor
	// as a whole. Individual features detected by individual physical
	// detectors are governed by the actual physical mounting positions
	// of the detectors, as indicated in the technology-specific sub-views
	// and sub-view configurations.
	//
	// \arg \b x-direction of sensor coordinate system: sensor viewing direction
	// \arg \b z-direction of sensor coordinate system: sensor (up)
	// \arg \b y-direction of sensor coordinate system: perpendicular to x and z
	// right hand system
	//
	// \par Reference:
	// [1] DIN Deutsches Institut fuer Normung e. V. (2013). <em>DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe</em>. (DIN ISO 8855:2013-11). Berlin, Germany.
	//
	// \note The origin of vehicle's coordinate system in world frame is
	// ( \c MovingObject::base . \c BaseMoving::position +
	// Inverse_Rotation_yaw_pitch_roll( \c MovingObject::base . \c
	// BaseMoving::orientation) * \c
	// MovingObject::VehicleAttributes::bbcenter_to_rear) . The orientation of
	// the vehicle's coordinate system is equal to the orientation of the
	// vehicle's bounding box \c MovingObject::base . \c
	// BaseMoving::orientation. \note A default position can be provided by the
	// sensor model (e.g. to indicate the position the model was validated for),
	// but this is optional; the environment simulation must provide a valid
	// mounting position (based on the vehicle configuration) when setting the
	// view configuration.
	MountingPosition *MountingPosition `protobuf:"bytes,3,opt,name=mounting_position,json=mountingPosition" json:"mounting_position,omitempty"`
	// The root mean squared error of the mounting position.
	MountingPositionRmse *MountingPosition `protobuf:"bytes,4,opt,name=mounting_position_rmse,json=mountingPositionRmse" json:"mounting_position_rmse,omitempty"`
	// Field of View in horizontal orientation of the sensor.
	//
	// This determines the limit of the cone of interest of ground truth
	// that the simulation environment has to provide.
	// Viewing range: [- \c #field_of_view_horizontal/2,  \c
	// #field_of_view_horizontal/2] azimuth in the sensor frame as defined in \c
	// Spherical3d.
	//
	// Unit: rad
	FieldOfViewHorizontal *float64 `protobuf:"fixed64,5,opt,name=field_of_view_horizontal,json=fieldOfViewHorizontal" json:"field_of_view_horizontal,omitempty"`
	// Field of View in vertical orientation of the sensor.
	//
	// This determines the limit of the cone of interest of ground truth
	// that the simulation environment has to provide.
	// Viewing range: [- \c #field_of_view_vertical/2,  \c
	// #field_of_view_vertical/2] elevation in the sensor frame at zero azimuth
	// as defined in \c Spherical3d.
	//
	// Unit: rad
	FieldOfViewVertical *float64 `protobuf:"fixed64,6,opt,name=field_of_view_vertical,json=fieldOfViewVertical" json:"field_of_view_vertical,omitempty"`
	// Maximum range of the sensor
	//
	// This determines the limit of the cone of interest of ground truth
	// that the simulation environment has to provide.
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Range *float64 `protobuf:"fixed64,7,opt,name=range" json:"range,omitempty"`
	// The update cycle time of the sensor model.
	//
	// This specifies the rate at which the sensor model is provided with
	// new input data.
	//
	// Unit: s
	// \note In the case of FMU packaging this will correspond to the
	// communication step size.
	UpdateCycleTime *Timestamp `protobuf:"bytes,8,opt,name=update_cycle_time,json=updateCycleTime" json:"update_cycle_time,omitempty"`
	// Initial update cycle offset of the sensor model.
	//
	// This specifies the initial offset (i.e. initial delay) of the
	// sensor model update cycle that the simulation should take into
	// account. It is defined against a simulation start time of 0:
	// i.e. an initial offset of 0.008s would mean, that the initial
	// update of sensor input data to the model should occur at 0+0.008s,
	// and then update_cycle_time after that, etc. If the simulation
	// start time of the simulation is non-zero, then the offset still
	// has to be interpreted against a 0 start time, and not simply
	// added on top of the start time: e.g. if the simulation starts at
	// 0.030s, and the update cycle time is 0.020s, then the first
	// update to the sensor input should happen at 0.048s, or 0.018s
	// after simulation start. This convention is needed to ensure
	// stable phase position of the offset in the case of changing
	// simulation start times, e.g. for partial re-simulation.
	//
	// Unit: s
	UpdateCycleOffset *Timestamp `protobuf:"bytes,9,opt,name=update_cycle_offset,json=updateCycleOffset" json:"update_cycle_offset,omitempty"`
	// Simulation Start time
	//
	// This specifies the simulation start time that the Simulation
	// has chosen. This field has no defined meaning if provided by
	// the sensor model.
	//
	// Unit: s
	SimulationStartTime *Timestamp `protobuf:"bytes,10,opt,name=simulation_start_time,json=simulationStartTime" json:"simulation_start_time,omitempty"`
	// Omit Static Information
	//
	// This flag specifies whether \c GroundTruth information that
	// was already provided using a GroundTruthInit parameter (e.g. <a href="https://opensimulationinterface.github.io/osi-antora-generator/asamosi/latest/sensor-model/spec/ground_truth_init_parameters.html">OSMP GroundTruthInit</a>)
	// at initialization time shall be omitted from the \c SensorView
	// ground truth information.
	//
	// Setting the \c #omit_static_information field allows a clear split
	// between the dynamic simulation data, which is contained in ground truth
	// messages with the \c #omit_static_information flag, and the static
	// simulation data, which is contained in the (OSMP) GroundTruthInit.
	OmitStaticInformation *bool `protobuf:"varint,11,opt,name=omit_static_information,json=omitStaticInformation" json:"omit_static_information,omitempty"`
	// Generic Sensor View Configuration(s).
	GenericSensorViewConfiguration []*GenericSensorViewConfiguration `` /* 151-byte string literal not displayed */
	// Radar-specific Sensor View Configuration(s).
	RadarSensorViewConfiguration []*RadarSensorViewConfiguration `` /* 145-byte string literal not displayed */
	// Lidar-specific Sensor View Configuration(s).
	LidarSensorViewConfiguration []*LidarSensorViewConfiguration `` /* 145-byte string literal not displayed */
	// Camera-specific Sensor View Configuration(s).
	CameraSensorViewConfiguration []*CameraSensorViewConfiguration `` /* 148-byte string literal not displayed */
	// Ultrasonic-specific Sensor View Configuration(s).
	UltrasonicSensorViewConfiguration []*UltrasonicSensorViewConfiguration `` /* 160-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief The configuration settings for the \c SensorView to be provided by the environment simulation.

This message can be provided by the sensor model to the environment simulation, in which case it describes the input configuration that is desired by the sensor model. In response the environment simulation will configure the input and provide a new message of this type, which describes the actual configuration that it is going to employ. The two can and will differ, when either the environment simulation does not support a given requested configuration, and/or when the requested configuration allowed for multiple alternatives, in which case the set configuration will only contain the alternative chosen.

It should be noted that this message is not intended to provide for parametrization of a generic sensor model, but rather for the automatic configuration of an environment simulation in order to supply the necessary input to it, depending on its actual configuration. Mechanisms to parametrize sensor models are currently packaging-specific, i.e. they depend on the packaging mechanism chosen: For FMU-packaging the parametrization can be implemented using normal FMU parameters, and the requested \c SensorViewConfiguration can depend on those parameter values by being defined as a calculatedParameter.

The sensor-technology specific configurations are intended to allow sensor models to use useful sensor modeling base capabilities of the environment simulation (e.g. ray tracing engines, camera/lens image generation), which need configuration by the sensor model to supply suitable data. The specified details are not directly related to sensor details, but rather provide the necessary base machinery setup so that the data provided is suitable to model the sensor to a sufficient degree of fidelity internally. For example the number of rays parameters for the Lidar configuration does not match one to one with the number of laser rays a lidar sensor might cast, but rather specifies the number of rays being cast by a ray casting/tracing engine, which might be many more than the physical rays being cast at any point in time.

This also implies that for sensors that have dynamically varying characteristics (e.g. switching between wide and narrow focus, switching update rates, etc.), the basic approach is to specify the maximum amount of data needed at all times here, and internally select the data that is needed at any point in time.

In order to optimize the workload and bandwidth needed for sensor simulation, OSI packaging mechanisms can specify the ability to exchange \c SensorViewConfiguration messages not only prior to simulation startup, but also dynamically during simulation runs, thereby allowing dynamic input configuration switching to only request data that is needed in the current sensor mode. However this is more or less only a resource optimization strategy, and since providing fine-grained information like this can reveal internal characteristics of the sensor and/or sensor model, will not always be the preferred approach for reasons of IP protection.

func (*SensorViewConfiguration) Descriptor deprecated

func (*SensorViewConfiguration) Descriptor() ([]byte, []int)

Deprecated: Use SensorViewConfiguration.ProtoReflect.Descriptor instead.

func (*SensorViewConfiguration) GetCameraSensorViewConfiguration

func (x *SensorViewConfiguration) GetCameraSensorViewConfiguration() []*CameraSensorViewConfiguration

func (*SensorViewConfiguration) GetFieldOfViewHorizontal

func (x *SensorViewConfiguration) GetFieldOfViewHorizontal() float64

func (*SensorViewConfiguration) GetFieldOfViewVertical

func (x *SensorViewConfiguration) GetFieldOfViewVertical() float64

func (*SensorViewConfiguration) GetGenericSensorViewConfiguration

func (x *SensorViewConfiguration) GetGenericSensorViewConfiguration() []*GenericSensorViewConfiguration

func (*SensorViewConfiguration) GetLidarSensorViewConfiguration

func (x *SensorViewConfiguration) GetLidarSensorViewConfiguration() []*LidarSensorViewConfiguration

func (*SensorViewConfiguration) GetMountingPosition

func (x *SensorViewConfiguration) GetMountingPosition() *MountingPosition

func (*SensorViewConfiguration) GetMountingPositionRmse

func (x *SensorViewConfiguration) GetMountingPositionRmse() *MountingPosition

func (*SensorViewConfiguration) GetOmitStaticInformation

func (x *SensorViewConfiguration) GetOmitStaticInformation() bool

func (*SensorViewConfiguration) GetRadarSensorViewConfiguration

func (x *SensorViewConfiguration) GetRadarSensorViewConfiguration() []*RadarSensorViewConfiguration

func (*SensorViewConfiguration) GetRange

func (x *SensorViewConfiguration) GetRange() float64

func (*SensorViewConfiguration) GetSensorId

func (x *SensorViewConfiguration) GetSensorId() *Identifier

func (*SensorViewConfiguration) GetSimulationStartTime

func (x *SensorViewConfiguration) GetSimulationStartTime() *Timestamp

func (*SensorViewConfiguration) GetUltrasonicSensorViewConfiguration

func (x *SensorViewConfiguration) GetUltrasonicSensorViewConfiguration() []*UltrasonicSensorViewConfiguration

func (*SensorViewConfiguration) GetUpdateCycleOffset

func (x *SensorViewConfiguration) GetUpdateCycleOffset() *Timestamp

func (*SensorViewConfiguration) GetUpdateCycleTime

func (x *SensorViewConfiguration) GetUpdateCycleTime() *Timestamp

func (*SensorViewConfiguration) GetVersion

func (x *SensorViewConfiguration) GetVersion() *InterfaceVersion

func (*SensorViewConfiguration) ProtoMessage

func (*SensorViewConfiguration) ProtoMessage()

func (*SensorViewConfiguration) ProtoReflect

func (x *SensorViewConfiguration) ProtoReflect() protoreflect.Message

func (*SensorViewConfiguration) Reset

func (x *SensorViewConfiguration) Reset()

func (*SensorViewConfiguration) String

func (x *SensorViewConfiguration) String() string

type SpatialSignalStrength

type SpatialSignalStrength struct {

	// Horizontal angle (azimuth) of emission / transmission / reception
	// in the entity's coordinate system.
	//
	// Unit: rad
	HorizontalAngle *float64 `protobuf:"fixed64,1,opt,name=horizontal_angle,json=horizontalAngle" json:"horizontal_angle,omitempty"`
	// Vertical angle (elevation) of emission / transmission / reception
	// in the entity's coordinate system.
	//
	// Unit: rad
	VerticalAngle *float64 `protobuf:"fixed64,2,opt,name=vertical_angle,json=verticalAngle" json:"vertical_angle,omitempty"`
	// Emitted / transmitted /received signal strength
	// of the emitting / transmitting / receiving entity
	// at the previously defined horizontal and
	// vertical angle for one specific wavelength.
	// The value for the signal strength
	// is given in dBm (decibels per milliwatt).
	//
	// Unit: dBm
	SignalStrength *float64 `protobuf:"fixed64,3,opt,name=signal_strength,json=signalStrength" json:"signal_strength,omitempty"`
	// contains filtered or unexported fields
}

\brief Definition of a spatial signal strength distribution for an emitting / transmitting / receiving entity with a horizontal and a vertical angle and the corresponding signal strength in dBm (decibels per milliwatt).

func (*SpatialSignalStrength) Descriptor deprecated

func (*SpatialSignalStrength) Descriptor() ([]byte, []int)

Deprecated: Use SpatialSignalStrength.ProtoReflect.Descriptor instead.

func (*SpatialSignalStrength) GetHorizontalAngle

func (x *SpatialSignalStrength) GetHorizontalAngle() float64

func (*SpatialSignalStrength) GetSignalStrength

func (x *SpatialSignalStrength) GetSignalStrength() float64

func (*SpatialSignalStrength) GetVerticalAngle

func (x *SpatialSignalStrength) GetVerticalAngle() float64

func (*SpatialSignalStrength) ProtoMessage

func (*SpatialSignalStrength) ProtoMessage()

func (*SpatialSignalStrength) ProtoReflect

func (x *SpatialSignalStrength) ProtoReflect() protoreflect.Message

func (*SpatialSignalStrength) Reset

func (x *SpatialSignalStrength) Reset()

func (*SpatialSignalStrength) String

func (x *SpatialSignalStrength) String() string

type Spherical3D

type Spherical3D struct {

	// The radial distance.
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Distance *float64 `protobuf:"fixed64,1,opt,name=distance" json:"distance,omitempty"`
	// The azimuth (horizontal) angle.
	//
	// Unit: rad
	Azimuth *float64 `protobuf:"fixed64,2,opt,name=azimuth" json:"azimuth,omitempty"`
	// The elevation (vertical) angle.
	//
	// Unit: rad
	Elevation *float64 `protobuf:"fixed64,3,opt,name=elevation" json:"elevation,omitempty"`
	// contains filtered or unexported fields
}

\brief A spherical representation for a point or vector in 3D space.

Used e.g., for low level representations of radar detections.

Azimuth and elevation are defined as the rotations that would have to be applied to the local frame (e.g sensor frame definition in \c SensorDetectionHeader) to make its x-axis point towards the referenced point or to align it with the referenced vector. The rotations are to be performed \b azimuth \b first (around the z-axis) and \b elevation \b second (around the new y-axis) to follow the definition of \c Orientation3d. For the sense of each rotation, the right-hand rule applies.

\f$ vector_{cartesian} := Rotation( \f$ \c #elevation \f$ )*Rotation( \f$ \c #azimuth \f$ )* (Unit_{vector_x}* \f$ \c #distance \f$ ) \f$

func (*Spherical3D) Descriptor deprecated

func (*Spherical3D) Descriptor() ([]byte, []int)

Deprecated: Use Spherical3D.ProtoReflect.Descriptor instead.

func (*Spherical3D) GetAzimuth

func (x *Spherical3D) GetAzimuth() float64

func (*Spherical3D) GetDistance

func (x *Spherical3D) GetDistance() float64

func (*Spherical3D) GetElevation

func (x *Spherical3D) GetElevation() float64

func (*Spherical3D) ProtoMessage

func (*Spherical3D) ProtoMessage()

func (*Spherical3D) ProtoReflect

func (x *Spherical3D) ProtoReflect() protoreflect.Message

func (*Spherical3D) Reset

func (x *Spherical3D) Reset()

func (*Spherical3D) String

func (x *Spherical3D) String() string

type StatePoint

type StatePoint struct {

	// The timestamp of a StatePoint.
	//
	// \note Zero time does not need to coincide with the UNIX epoch.
	Timestamp *Timestamp `protobuf:"bytes,1,opt,name=timestamp" json:"timestamp,omitempty"`
	// Position in the global coordinate system.
	//
	// \note Remark: The definition of the reference point follows the
	// specification of the \c BaseMoving message, if not specified otherwise
	// in the message the StatePoint is used in.
	Position *Vector3D `protobuf:"bytes,2,opt,name=position" json:"position,omitempty"`
	// Orientation in the global coordinate system.
	Orientation *Orientation3D `protobuf:"bytes,3,opt,name=orientation" json:"orientation,omitempty"`
	// contains filtered or unexported fields
}

\brief The StatePoint definition

A reference to a time and pose. Typically used in a repeated field to define a trajectory.

\note The StatePoint definition does not define mandatory fields. The context defines how and what fields are used. For example, in some cases only the pose variables are relevant and the timestamp is ignored.

func (*StatePoint) Descriptor deprecated

func (*StatePoint) Descriptor() ([]byte, []int)

Deprecated: Use StatePoint.ProtoReflect.Descriptor instead.

func (*StatePoint) GetOrientation

func (x *StatePoint) GetOrientation() *Orientation3D

func (*StatePoint) GetPosition

func (x *StatePoint) GetPosition() *Vector3D

func (*StatePoint) GetTimestamp

func (x *StatePoint) GetTimestamp() *Timestamp

func (*StatePoint) ProtoMessage

func (*StatePoint) ProtoMessage()

func (*StatePoint) ProtoReflect

func (x *StatePoint) ProtoReflect() protoreflect.Message

func (*StatePoint) Reset

func (x *StatePoint) Reset()

func (*StatePoint) String

func (x *StatePoint) String() string

type StationaryObject

type StationaryObject struct {

	// The ID of the object.
	//
	// \rules
	// is_globally_unique
	// is_set
	// \endrules
	Id *Identifier `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// The base parameters of the stationary object.
	Base *BaseStationary `protobuf:"bytes,2,opt,name=base" json:"base,omitempty"`
	// The classification of the stationary object.
	Classification *StationaryObject_Classification `protobuf:"bytes,3,opt,name=classification" json:"classification,omitempty"`
	// Opaque reference of an associated 3D model of the stationary object.
	//
	// \note It is implementation-specific how model_references are resolved to
	// 3d models.
	ModelReference *string `protobuf:"bytes,4,opt,name=model_reference,json=modelReference" json:"model_reference,omitempty"`
	// External reference to the stationary-object source.
	//
	// The external reference points to the source of a stationary object, if it
	// is derived from an external sources like OpenDRIVE or OpenSCENARIO.
	//
	// For example, to reference an object defined in an OpenDRIVE map
	// the items should be set as follows:
	//   - reference = URI to map, can remain empty if identical with definition
	//     in \c GroundTruth::map_reference
	//   - type = "net.asam.opendrive"
	//   - identifier[0] = "object" for t_road_objects_object and
	//     "bridge" for t_road_objects_bridge
	//   - identifier[1] = id of t_road_objects_object or t_road_objects_bridge
	//
	// For example, to reference OpenSCENARIO entities of the type MiscObject,
	// which describe partly stationary objects, the items should be set as
	// follows:
	// * reference = URI to the OpenSCENARIO File
	// * type = "net.asam.openscenario"
	// * identifier[0] = Entity-Type ("MiscObject")
	// * identifier[1] = name of MiscObject in Entity
	//
	// \note The following rule, described in OpenDRIVE, also applies:
	//   - Objects derived from OpenSCENARIO shall not be mixed with objects
	//     described in OpenDRIVE.
	//
	// \note For non-ASAM Standards, it is implementation-specific how
	//
	//	source_reference is resolved.
	//
	// \note The value has to be repeated because one object may be derived
	//
	//	from more than one origin source, for example, from a scenario file
	//	and from sensors.
	SourceReference []*ExternalReference `protobuf:"bytes,5,rep,name=source_reference,json=sourceReference" json:"source_reference,omitempty"`
	// The dominating color of the material of the structure.
	ColorDescription *ColorDescription `protobuf:"bytes,6,opt,name=color_description,json=colorDescription" json:"color_description,omitempty"`
	// contains filtered or unexported fields
}

\brief A simulated object that is neither a moving object (vehicle or \c MovingObject e.g. pedestrian, animal, or vehicle) nor a traffic related object (\c TrafficLight, \c TrafficSign).

\image html OSI_BaseStationary.svg

\c StationaryObject excludes traffic lights, traffic signs and road marking

func (*StationaryObject) Descriptor deprecated

func (*StationaryObject) Descriptor() ([]byte, []int)

Deprecated: Use StationaryObject.ProtoReflect.Descriptor instead.

func (*StationaryObject) GetBase

func (x *StationaryObject) GetBase() *BaseStationary

func (*StationaryObject) GetClassification

func (x *StationaryObject) GetClassification() *StationaryObject_Classification

func (*StationaryObject) GetColorDescription

func (x *StationaryObject) GetColorDescription() *ColorDescription

func (*StationaryObject) GetId

func (x *StationaryObject) GetId() *Identifier

func (*StationaryObject) GetModelReference

func (x *StationaryObject) GetModelReference() string

func (*StationaryObject) GetSourceReference

func (x *StationaryObject) GetSourceReference() []*ExternalReference

func (*StationaryObject) ProtoMessage

func (*StationaryObject) ProtoMessage()

func (*StationaryObject) ProtoReflect

func (x *StationaryObject) ProtoReflect() protoreflect.Message

func (*StationaryObject) Reset

func (x *StationaryObject) Reset()

func (*StationaryObject) String

func (x *StationaryObject) String() string

type StationaryObject_Classification

type StationaryObject_Classification struct {

	// The type of the object.
	Type *StationaryObject_Classification_Type `protobuf:"varint,1,opt,name=type,enum=osi3.StationaryObject_Classification_Type" json:"type,omitempty"`
	// The dominating material of the structure.
	Material *StationaryObject_Classification_Material `protobuf:"varint,2,opt,name=material,enum=osi3.StationaryObject_Classification_Material" json:"material,omitempty"`
	// The dominating density of the material of the structure.
	Density *StationaryObject_Classification_Density `protobuf:"varint,3,opt,name=density,enum=osi3.StationaryObject_Classification_Density" json:"density,omitempty"`
	// The dominating color of the material of the structure.
	//
	// \attention DEPRECATED: This color enum will be removed in version
	// 4.0.0. Use the field \c #color_description (\c ColorDescription) of
	// \c StationaryObject instead.
	Color *StationaryObject_Classification_Color `protobuf:"varint,4,opt,name=color,enum=osi3.StationaryObject_Classification_Color" json:"color,omitempty"`
	// The attributes of the emitting structure if stationary object is classified as such.
	EmittingStructureAttribute *StationaryObject_Classification_EmittingStructureAttribute `` /* 134-byte string literal not displayed */
	// The IDs of the lanes that the object is assigned to.
	//
	// \note Might be multiple IDs if the object stretches over multiple lanes.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	AssignedLaneId []*Identifier `protobuf:"bytes,6,rep,name=assigned_lane_id,json=assignedLaneId" json:"assigned_lane_id,omitempty"`
	// Percentage values of the object width in the corresponding lane.
	//
	// \note Might be multiple percentages if the object stretches over multiple lanes.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	AssignedLanePercentage []float64 `protobuf:"fixed64,7,rep,name=assigned_lane_percentage,json=assignedLanePercentage" json:"assigned_lane_percentage,omitempty"`
	// Assignment of this object to logical lanes.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	LogicalLaneAssignment []*LogicalLaneAssignment `protobuf:"bytes,8,rep,name=logical_lane_assignment,json=logicalLaneAssignment" json:"logical_lane_assignment,omitempty"`
	// contains filtered or unexported fields
}

\brief Classification data for a stationary object.

func (*StationaryObject_Classification) Descriptor deprecated

func (*StationaryObject_Classification) Descriptor() ([]byte, []int)

Deprecated: Use StationaryObject_Classification.ProtoReflect.Descriptor instead.

func (*StationaryObject_Classification) GetAssignedLaneId

func (x *StationaryObject_Classification) GetAssignedLaneId() []*Identifier

func (*StationaryObject_Classification) GetAssignedLanePercentage

func (x *StationaryObject_Classification) GetAssignedLanePercentage() []float64

func (*StationaryObject_Classification) GetColor

func (*StationaryObject_Classification) GetDensity

func (*StationaryObject_Classification) GetEmittingStructureAttribute

func (*StationaryObject_Classification) GetLogicalLaneAssignment

func (x *StationaryObject_Classification) GetLogicalLaneAssignment() []*LogicalLaneAssignment

func (*StationaryObject_Classification) GetMaterial

func (*StationaryObject_Classification) GetType

func (*StationaryObject_Classification) ProtoMessage

func (*StationaryObject_Classification) ProtoMessage()

func (*StationaryObject_Classification) ProtoReflect

func (*StationaryObject_Classification) Reset

func (*StationaryObject_Classification) String

type StationaryObject_Classification_Color

type StationaryObject_Classification_Color int32

Definition of colors for structures.

\attention DEPRECATED: This color enum will be removed in version 4.0.0. Use \c ColorDescription instead.

const (
	// Color is unknown (must not be used in ground truth).
	StationaryObject_Classification_COLOR_UNKNOWN StationaryObject_Classification_Color = 0
	// Other (unspecified but known) color.
	StationaryObject_Classification_COLOR_OTHER StationaryObject_Classification_Color = 1
	// Yellow.
	StationaryObject_Classification_COLOR_YELLOW StationaryObject_Classification_Color = 2
	// Green.
	StationaryObject_Classification_COLOR_GREEN StationaryObject_Classification_Color = 3
	// Blue.
	StationaryObject_Classification_COLOR_BLUE StationaryObject_Classification_Color = 4
	// Violet.
	StationaryObject_Classification_COLOR_VIOLET StationaryObject_Classification_Color = 5
	// Red.
	StationaryObject_Classification_COLOR_RED StationaryObject_Classification_Color = 6
	// Orange.
	StationaryObject_Classification_COLOR_ORANGE StationaryObject_Classification_Color = 7
	// Black.
	StationaryObject_Classification_COLOR_BLACK StationaryObject_Classification_Color = 8
	// GRAY.
	StationaryObject_Classification_COLOR_GRAY StationaryObject_Classification_Color = 9
	// GRAY.
	//
	// \note Deprecated variant spelling of COLOR_GRAY
	StationaryObject_Classification_COLOR_GREY StationaryObject_Classification_Color = 9
	// White.
	StationaryObject_Classification_COLOR_WHITE StationaryObject_Classification_Color = 10
)

func (StationaryObject_Classification_Color) Descriptor

func (StationaryObject_Classification_Color) Enum

func (StationaryObject_Classification_Color) EnumDescriptor deprecated

func (StationaryObject_Classification_Color) EnumDescriptor() ([]byte, []int)

Deprecated: Use StationaryObject_Classification_Color.Descriptor instead.

func (StationaryObject_Classification_Color) Number

func (StationaryObject_Classification_Color) String

func (StationaryObject_Classification_Color) Type

func (*StationaryObject_Classification_Color) UnmarshalJSON deprecated

func (x *StationaryObject_Classification_Color) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type StationaryObject_Classification_Density

type StationaryObject_Classification_Density int32

Definition of material density types.

const (
	// Type of the material density is unknown (must not be used in
	// ground truth).
	StationaryObject_Classification_DENSITY_UNKNOWN StationaryObject_Classification_Density = 0
	// Other (unspecified but known) type of material density.
	StationaryObject_Classification_DENSITY_OTHER StationaryObject_Classification_Density = 1
	// No perforation - solid;
	StationaryObject_Classification_DENSITY_SOLID StationaryObject_Classification_Density = 2
	// Perforation max. ]0; 100] mm
	StationaryObject_Classification_DENSITY_SMALL_MESH StationaryObject_Classification_Density = 3
	// Perforation max. ]100; 500] mm
	StationaryObject_Classification_DENSITY_MEDIAN_MESH StationaryObject_Classification_Density = 4
	// Perforation max. ]500; 5000] mm
	StationaryObject_Classification_DENSITY_LARGE_MESH StationaryObject_Classification_Density = 5
	// Perforation max. ]5000; infinity[ mm
	StationaryObject_Classification_DENSITY_OPEN StationaryObject_Classification_Density = 6
)

func (StationaryObject_Classification_Density) Descriptor

func (StationaryObject_Classification_Density) Enum

func (StationaryObject_Classification_Density) EnumDescriptor deprecated

func (StationaryObject_Classification_Density) EnumDescriptor() ([]byte, []int)

Deprecated: Use StationaryObject_Classification_Density.Descriptor instead.

func (StationaryObject_Classification_Density) Number

func (StationaryObject_Classification_Density) String

func (StationaryObject_Classification_Density) Type

func (*StationaryObject_Classification_Density) UnmarshalJSON deprecated

func (x *StationaryObject_Classification_Density) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type StationaryObject_Classification_EmittingStructureAttribute

type StationaryObject_Classification_EmittingStructureAttribute struct {

	// This message determines the range of the emitted wavelength and its
	// desired number of samples.
	WavelengthData []*WavelengthData `protobuf:"bytes,1,rep,name=wavelength_data,json=wavelengthData" json:"wavelength_data,omitempty"`
	// Spatial signal strength distribution of the emitted electromagnetic wave.
	// For every sample in wavelength_data an emitted_spatial_signal_strength has to be defined.
	//
	// \note emitted_spatial_signal_strength.size() = WavelengthData.samples_number.size()
	EmittedSpatialSignalStrength []*SpatialSignalStrength `` /* 142-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief Attributes of type emitting structure. The horizontal_angle and the vertical_angle in emitted_spatial_intensity are symmetrical across the normal, which is defined by the mounting position of the emitting structure.

func (*StationaryObject_Classification_EmittingStructureAttribute) Descriptor deprecated

Deprecated: Use StationaryObject_Classification_EmittingStructureAttribute.ProtoReflect.Descriptor instead.

func (*StationaryObject_Classification_EmittingStructureAttribute) GetEmittedSpatialSignalStrength

func (*StationaryObject_Classification_EmittingStructureAttribute) GetWavelengthData

func (*StationaryObject_Classification_EmittingStructureAttribute) ProtoMessage

func (*StationaryObject_Classification_EmittingStructureAttribute) ProtoReflect

func (*StationaryObject_Classification_EmittingStructureAttribute) Reset

func (*StationaryObject_Classification_EmittingStructureAttribute) String

type StationaryObject_Classification_Material

type StationaryObject_Classification_Material int32

Definition of material types.

const (
	// Type of the material is unknown (must not be used in ground
	// truth).
	StationaryObject_Classification_MATERIAL_UNKNOWN StationaryObject_Classification_Material = 0
	// Other (unspecified but known) type of material.
	StationaryObject_Classification_MATERIAL_OTHER StationaryObject_Classification_Material = 1
	// Wooden structure.
	StationaryObject_Classification_MATERIAL_WOOD StationaryObject_Classification_Material = 2
	// Plastic structure.
	StationaryObject_Classification_MATERIAL_PLASTIC StationaryObject_Classification_Material = 3
	// Concrete structure.
	StationaryObject_Classification_MATERIAL_CONCRETE StationaryObject_Classification_Material = 4
	// Metal structure.
	StationaryObject_Classification_MATERIAL_METAL StationaryObject_Classification_Material = 5
	// Natural stone structure.
	StationaryObject_Classification_MATERIAL_STONE StationaryObject_Classification_Material = 6
	// Glass structure.
	StationaryObject_Classification_MATERIAL_GLASS StationaryObject_Classification_Material = 7
	// Glass structure.
	//
	// \note Deprecated variant spelling of MATERIAL_GLASS
	StationaryObject_Classification_MATERIAL_GLAS StationaryObject_Classification_Material = 7
	// Mud structure.
	StationaryObject_Classification_MATERIAL_MUD StationaryObject_Classification_Material = 8
)

func (StationaryObject_Classification_Material) Descriptor

func (StationaryObject_Classification_Material) Enum

func (StationaryObject_Classification_Material) EnumDescriptor deprecated

func (StationaryObject_Classification_Material) EnumDescriptor() ([]byte, []int)

Deprecated: Use StationaryObject_Classification_Material.Descriptor instead.

func (StationaryObject_Classification_Material) Number

func (StationaryObject_Classification_Material) String

func (StationaryObject_Classification_Material) Type

func (*StationaryObject_Classification_Material) UnmarshalJSON deprecated

func (x *StationaryObject_Classification_Material) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type StationaryObject_Classification_Type

type StationaryObject_Classification_Type int32

Definition of object types.

const (
	// Type of the object is unknown (must not be used in ground truth).
	StationaryObject_Classification_TYPE_UNKNOWN StationaryObject_Classification_Type = 0
	// Other (unspecified but known) type of object.
	StationaryObject_Classification_TYPE_OTHER StationaryObject_Classification_Type = 1
	// Object is a bridge.
	StationaryObject_Classification_TYPE_BRIDGE StationaryObject_Classification_Type = 2
	// Object is a building.
	StationaryObject_Classification_TYPE_BUILDING StationaryObject_Classification_Type = 3
	// Object is a pole (e.g. from a traffic light).
	StationaryObject_Classification_TYPE_POLE StationaryObject_Classification_Type = 4
	// Object is a pylon.
	StationaryObject_Classification_TYPE_PYLON StationaryObject_Classification_Type = 5
	// Object is a delineator (e.g. at a construction site).
	StationaryObject_Classification_TYPE_DELINEATOR StationaryObject_Classification_Type = 6
	// Object is a tree.
	StationaryObject_Classification_TYPE_TREE StationaryObject_Classification_Type = 7
	// Object is a barrier.
	StationaryObject_Classification_TYPE_BARRIER StationaryObject_Classification_Type = 8
	// Object is vegetation.
	StationaryObject_Classification_TYPE_VEGETATION StationaryObject_Classification_Type = 9
	// Object is a curbstone.
	StationaryObject_Classification_TYPE_CURBSTONE StationaryObject_Classification_Type = 10
	// Object is a wall.
	StationaryObject_Classification_TYPE_WALL StationaryObject_Classification_Type = 11
	// Landmarks corresponding to vertical structures in the
	// environment.
	StationaryObject_Classification_TYPE_VERTICAL_STRUCTURE StationaryObject_Classification_Type = 12
	// Landmarks corresponding to rectangular structures in the
	// environment, like walls.
	StationaryObject_Classification_TYPE_RECTANGULAR_STRUCTURE StationaryObject_Classification_Type = 13
	// Landmarks corresponding to overhead structures in the
	// environment, like sign bridges.
	StationaryObject_Classification_TYPE_OVERHEAD_STRUCTURE StationaryObject_Classification_Type = 14
	// Landmarks corresponding to reflective structures
	// in the environment, like reflective poles on the
	// road boarder.
	StationaryObject_Classification_TYPE_REFLECTIVE_STRUCTURE StationaryObject_Classification_Type = 15
	// Landmarks corresponding to construction site elements in the
	// environment, like beacons.
	StationaryObject_Classification_TYPE_CONSTRUCTION_SITE_ELEMENT StationaryObject_Classification_Type = 16
	// Object is a speed bump.
	StationaryObject_Classification_TYPE_SPEED_BUMP StationaryObject_Classification_Type = 17
	// Landmarks corresponding to sources of electromagnetic waves
	// in the environment, like street lights.
	StationaryObject_Classification_TYPE_EMITTING_STRUCTURE StationaryObject_Classification_Type = 18
)

func (StationaryObject_Classification_Type) Descriptor

func (StationaryObject_Classification_Type) Enum

func (StationaryObject_Classification_Type) EnumDescriptor deprecated

func (StationaryObject_Classification_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use StationaryObject_Classification_Type.Descriptor instead.

func (StationaryObject_Classification_Type) Number

func (StationaryObject_Classification_Type) String

func (StationaryObject_Classification_Type) Type

func (*StationaryObject_Classification_Type) UnmarshalJSON deprecated

func (x *StationaryObject_Classification_Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type StreamingUpdate

type StreamingUpdate struct {

	// The interface version used by the sender.
	//
	// \rules
	// is_set
	// \endrules
	Version *InterfaceVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The data timestamp where the information of contained objects is calculated.
	//
	// Zero time is arbitrary but must be identical for all messages.
	// Zero time does not need to coincide with the UNIX epoch.
	// Recommended is the starting time point of the simulation.
	//
	// \rules
	// is_set
	// \endrules
	Timestamp *Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
	// The list of stationary objects (excluding traffic signs and traffic
	// lights).
	StationaryObjectUpdate []*StationaryObject `protobuf:"bytes,3,rep,name=stationary_object_update,json=stationaryObjectUpdate" json:"stationary_object_update,omitempty"`
	// The list of moving objects.
	MovingObjectUpdate []*MovingObject `protobuf:"bytes,4,rep,name=moving_object_update,json=movingObjectUpdate" json:"moving_object_update,omitempty"`
	// The list of traffic signs.
	TrafficSignUpdate []*TrafficSign `protobuf:"bytes,5,rep,name=traffic_sign_update,json=trafficSignUpdate" json:"traffic_sign_update,omitempty"`
	// The list of traffic lights.
	TrafficLightUpdate []*TrafficLight `protobuf:"bytes,6,rep,name=traffic_light_update,json=trafficLightUpdate" json:"traffic_light_update,omitempty"`
	// Conditions of the environment.
	EnvironmentalConditionsUpdate *EnvironmentalConditions `` /* 143-byte string literal not displayed */
	// Host vehicle data.
	//
	// Host vehicle data is data that the host vehicle knows about itself,
	// e.g. from location sensors, internal sensors and ECU bus data, etc.,
	// that is made available to sensors as input.
	//
	// The ID inside this message allows an association to moving object data.
	HostVehicleDataUpdate []*HostVehicleData `protobuf:"bytes,8,rep,name=host_vehicle_data_update,json=hostVehicleDataUpdate" json:"host_vehicle_data_update,omitempty"`
	// Entities that will no longer be updated, because they are considered
	// obsolete by the sender.
	//
	// \note IDs are globally unique.
	ObsoleteId []*Identifier `protobuf:"bytes,9,rep,name=obsolete_id,json=obsoleteId" json:"obsolete_id,omitempty"`
	// contains filtered or unexported fields
}

\brief The streaming update interface enables simulation entities to send partial updates to other modules that favor performance (especially latency) over data completeness/consistency (e.g. visualization applications).

Static and/or non-relevant objects can be omitted as required for the specific use case. Adding an object's unique id to the repeated field \c obsolete_id indicates that it will no longer be updated from then on.

\note The receiver of partial streaming update messages can only rely on the most up-to-date information at the corresponding timestamp. E.g. omitting objects does not indicate static behavior but it may be sufficient for the use case to update certain objects at a later point in time.

func (*StreamingUpdate) Descriptor deprecated

func (*StreamingUpdate) Descriptor() ([]byte, []int)

Deprecated: Use StreamingUpdate.ProtoReflect.Descriptor instead.

func (*StreamingUpdate) GetEnvironmentalConditionsUpdate

func (x *StreamingUpdate) GetEnvironmentalConditionsUpdate() *EnvironmentalConditions

func (*StreamingUpdate) GetHostVehicleDataUpdate

func (x *StreamingUpdate) GetHostVehicleDataUpdate() []*HostVehicleData

func (*StreamingUpdate) GetMovingObjectUpdate

func (x *StreamingUpdate) GetMovingObjectUpdate() []*MovingObject

func (*StreamingUpdate) GetObsoleteId

func (x *StreamingUpdate) GetObsoleteId() []*Identifier

func (*StreamingUpdate) GetStationaryObjectUpdate

func (x *StreamingUpdate) GetStationaryObjectUpdate() []*StationaryObject

func (*StreamingUpdate) GetTimestamp

func (x *StreamingUpdate) GetTimestamp() *Timestamp

func (*StreamingUpdate) GetTrafficLightUpdate

func (x *StreamingUpdate) GetTrafficLightUpdate() []*TrafficLight

func (*StreamingUpdate) GetTrafficSignUpdate

func (x *StreamingUpdate) GetTrafficSignUpdate() []*TrafficSign

func (*StreamingUpdate) GetVersion

func (x *StreamingUpdate) GetVersion() *InterfaceVersion

func (*StreamingUpdate) ProtoMessage

func (*StreamingUpdate) ProtoMessage()

func (*StreamingUpdate) ProtoReflect

func (x *StreamingUpdate) ProtoReflect() protoreflect.Message

func (*StreamingUpdate) Reset

func (x *StreamingUpdate) Reset()

func (*StreamingUpdate) String

func (x *StreamingUpdate) String() string

type Timestamp

type Timestamp struct {

	// The number of seconds since the start of e.g. the simulation / system /
	// vehicle.
	//
	// Unit: s
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Seconds *int64 `protobuf:"varint,1,opt,name=seconds" json:"seconds,omitempty"`
	// The number of nanoseconds since the start of the last second.
	//
	// Range: [0, 999.999.999]
	//
	// Unit: ns
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 999999999
	// \endrules
	Nanos *uint32 `protobuf:"varint,2,opt,name=nanos" json:"nanos,omitempty"`
	// contains filtered or unexported fields
}

\brief A timestamp.

Names and types of fields are chosen in accordance to google/protobuf/timestamp.proto to allow a possible switch in the future. There is no definition of the zero point in time neither it is the Unix epoch. A simulation may start at the zero point in time but it is not mandatory.

func (*Timestamp) Descriptor deprecated

func (*Timestamp) Descriptor() ([]byte, []int)

Deprecated: Use Timestamp.ProtoReflect.Descriptor instead.

func (*Timestamp) GetNanos

func (x *Timestamp) GetNanos() uint32

func (*Timestamp) GetSeconds

func (x *Timestamp) GetSeconds() int64

func (*Timestamp) ProtoMessage

func (*Timestamp) ProtoMessage()

func (*Timestamp) ProtoReflect

func (x *Timestamp) ProtoReflect() protoreflect.Message

func (*Timestamp) Reset

func (x *Timestamp) Reset()

func (*Timestamp) String

func (x *Timestamp) String() string

type TrafficAction

type TrafficAction struct {

	// A FollowTrajectoryAction.
	FollowTrajectoryAction *TrafficAction_FollowTrajectoryAction `protobuf:"bytes,1,opt,name=follow_trajectory_action,json=followTrajectoryAction" json:"follow_trajectory_action,omitempty"`
	// A FollowPathAction.
	FollowPathAction *TrafficAction_FollowPathAction `protobuf:"bytes,2,opt,name=follow_path_action,json=followPathAction" json:"follow_path_action,omitempty"`
	// An AcquireGlobalPositionAction.
	AcquireGlobalPositionAction *TrafficAction_AcquireGlobalPositionAction `` /* 139-byte string literal not displayed */
	// A LaneChangeAction.
	LaneChangeAction *TrafficAction_LaneChangeAction `protobuf:"bytes,4,opt,name=lane_change_action,json=laneChangeAction" json:"lane_change_action,omitempty"`
	// A SpeedAction.
	SpeedAction *TrafficAction_SpeedAction `protobuf:"bytes,5,opt,name=speed_action,json=speedAction" json:"speed_action,omitempty"`
	// An AbortActionsAction.
	AbortActionsAction *TrafficAction_AbortActionsAction `protobuf:"bytes,6,opt,name=abort_actions_action,json=abortActionsAction" json:"abort_actions_action,omitempty"`
	// An EndActionsAction.
	EndActionsAction *TrafficAction_EndActionsAction `protobuf:"bytes,7,opt,name=end_actions_action,json=endActionsAction" json:"end_actions_action,omitempty"`
	// A CustomAction.
	CustomAction *TrafficAction_CustomAction `protobuf:"bytes,8,opt,name=custom_action,json=customAction" json:"custom_action,omitempty"`
	// A LongitudinalDistanceAction.
	LongitudinalDistanceAction *TrafficAction_LongitudinalDistanceAction `` /* 134-byte string literal not displayed */
	// A LaneOffsetAction.
	LaneOffsetAction *TrafficAction_LaneOffsetAction `protobuf:"bytes,10,opt,name=lane_offset_action,json=laneOffsetAction" json:"lane_offset_action,omitempty"`
	// A LateralDistanceAction.
	LateralDistanceAction *TrafficAction_LateralDistanceAction `protobuf:"bytes,11,opt,name=lateral_distance_action,json=lateralDistanceAction" json:"lateral_distance_action,omitempty"`
	// A TeleportAction.
	TeleportAction *TrafficAction_TeleportAction `protobuf:"bytes,12,opt,name=teleport_action,json=teleportAction" json:"teleport_action,omitempty"`
	// contains filtered or unexported fields
}

\brief Atomic traffic actions to be performed.

The transmitted commands are the atomic traffic actions described by this message.

\note This message is notionally a multiple choice selection, that is, only certain combinations of atomic traffic actions shall be transmitted within certain time intervals, for example, for plausibility reasons. The restrictions regarding that are not part of this message, yet are seen as a task of the scenario description, for example, OpenSCENARIO.

\note All traffic actions are sent only once just before they are about to start. This is also true, if their execution is expected to take simulation time. To inform the traffic participant model that certain actions must or shall be terminated, there are explicit actions nested inside this message (AbortActionsAction, EndActionsAction), which hold a reference to the respective actions. Furthermore, there exists a \c TrafficCommandUpdate message for the traffic participant to report back on potentially dismissed actions.

func (*TrafficAction) Descriptor deprecated

func (*TrafficAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction.ProtoReflect.Descriptor instead.

func (*TrafficAction) GetAbortActionsAction

func (x *TrafficAction) GetAbortActionsAction() *TrafficAction_AbortActionsAction

func (*TrafficAction) GetAcquireGlobalPositionAction

func (x *TrafficAction) GetAcquireGlobalPositionAction() *TrafficAction_AcquireGlobalPositionAction

func (*TrafficAction) GetCustomAction

func (x *TrafficAction) GetCustomAction() *TrafficAction_CustomAction

func (*TrafficAction) GetEndActionsAction

func (x *TrafficAction) GetEndActionsAction() *TrafficAction_EndActionsAction

func (*TrafficAction) GetFollowPathAction

func (x *TrafficAction) GetFollowPathAction() *TrafficAction_FollowPathAction

func (*TrafficAction) GetFollowTrajectoryAction

func (x *TrafficAction) GetFollowTrajectoryAction() *TrafficAction_FollowTrajectoryAction

func (*TrafficAction) GetLaneChangeAction

func (x *TrafficAction) GetLaneChangeAction() *TrafficAction_LaneChangeAction

func (*TrafficAction) GetLaneOffsetAction

func (x *TrafficAction) GetLaneOffsetAction() *TrafficAction_LaneOffsetAction

func (*TrafficAction) GetLateralDistanceAction

func (x *TrafficAction) GetLateralDistanceAction() *TrafficAction_LateralDistanceAction

func (*TrafficAction) GetLongitudinalDistanceAction

func (x *TrafficAction) GetLongitudinalDistanceAction() *TrafficAction_LongitudinalDistanceAction

func (*TrafficAction) GetSpeedAction

func (x *TrafficAction) GetSpeedAction() *TrafficAction_SpeedAction

func (*TrafficAction) GetTeleportAction

func (x *TrafficAction) GetTeleportAction() *TrafficAction_TeleportAction

func (*TrafficAction) ProtoMessage

func (*TrafficAction) ProtoMessage()

func (*TrafficAction) ProtoReflect

func (x *TrafficAction) ProtoReflect() protoreflect.Message

func (*TrafficAction) Reset

func (x *TrafficAction) Reset()

func (*TrafficAction) String

func (x *TrafficAction) String() string

type TrafficAction_AbortActionsAction

type TrafficAction_AbortActionsAction struct {

	// The action header
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// Actions which must be aborted immediately.
	//
	// These fields hold the action ids of the actions that must be
	// aborted immediately.
	TargetActionId []*Identifier `protobuf:"bytes,2,rep,name=target_action_id,json=targetActionId" json:"target_action_id,omitempty"`
	// contains filtered or unexported fields
}

\brief AbortActionsAction.

This action tells a traffic participant that it should immediately abort the execution of other actions referenced within this action. In contrast to the EndActionsAction this action forces a hard termination of the referenced actions.

func (*TrafficAction_AbortActionsAction) Descriptor deprecated

func (*TrafficAction_AbortActionsAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_AbortActionsAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_AbortActionsAction) GetActionHeader

func (*TrafficAction_AbortActionsAction) GetTargetActionId

func (x *TrafficAction_AbortActionsAction) GetTargetActionId() []*Identifier

func (*TrafficAction_AbortActionsAction) ProtoMessage

func (*TrafficAction_AbortActionsAction) ProtoMessage()

func (*TrafficAction_AbortActionsAction) ProtoReflect

func (*TrafficAction_AbortActionsAction) Reset

func (*TrafficAction_AbortActionsAction) String

type TrafficAction_AcquireGlobalPositionAction

type TrafficAction_AcquireGlobalPositionAction struct {

	// The action header.
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// Position in the global coordinate system.
	//
	// The position refers to the center (x,y,z) of the bounding box.
	//
	// \note Remark: The definition of the reference point follows the
	// specification of the \c BaseMoving message.
	Position *Vector3D `protobuf:"bytes,2,opt,name=position" json:"position,omitempty"`
	// Orientation in the global coordinate system.
	//
	// This is optional. If no orientation is given, the end orientation
	// is under control of the traffic participant.
	Orientation *Orientation3D `protobuf:"bytes,3,opt,name=orientation" json:"orientation,omitempty"`
	// contains filtered or unexported fields
}

\brief Acquire global position action.

This action assigns a route to a traffic participant. The route assigned will be the shortest route (along roads or satisfying any other constraints a traffic participant is operating under) between the traffic participant's current position and the position specified.

As with all routing actions, the exact way this route is achieved is under the control of the traffic participant model.

\note This action is aligned with the AcquirePositionAction of OpenSCENARIO 1.0 using a WorldPosition position argument.

func (*TrafficAction_AcquireGlobalPositionAction) Descriptor deprecated

func (*TrafficAction_AcquireGlobalPositionAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_AcquireGlobalPositionAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_AcquireGlobalPositionAction) GetActionHeader

func (*TrafficAction_AcquireGlobalPositionAction) GetOrientation

func (*TrafficAction_AcquireGlobalPositionAction) GetPosition

func (*TrafficAction_AcquireGlobalPositionAction) ProtoMessage

func (*TrafficAction_AcquireGlobalPositionAction) ProtoReflect

func (*TrafficAction_AcquireGlobalPositionAction) Reset

func (*TrafficAction_AcquireGlobalPositionAction) String

type TrafficAction_ActionHeader

type TrafficAction_ActionHeader struct {

	// The unique id of the action.
	//
	// \note This field is mandatory.
	//
	// \note This id must be unique within all traffic command
	// messages exchanged with one traffic participant.
	//
	// \rules
	// is_set
	// \endrules
	ActionId *Identifier `protobuf:"bytes,1,opt,name=action_id,json=actionId" json:"action_id,omitempty"`
	// contains filtered or unexported fields
}

\brief The action header

func (*TrafficAction_ActionHeader) Descriptor deprecated

func (*TrafficAction_ActionHeader) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_ActionHeader.ProtoReflect.Descriptor instead.

func (*TrafficAction_ActionHeader) GetActionId

func (x *TrafficAction_ActionHeader) GetActionId() *Identifier

func (*TrafficAction_ActionHeader) ProtoMessage

func (*TrafficAction_ActionHeader) ProtoMessage()

func (*TrafficAction_ActionHeader) ProtoReflect

func (*TrafficAction_ActionHeader) Reset

func (x *TrafficAction_ActionHeader) Reset()

func (*TrafficAction_ActionHeader) String

func (x *TrafficAction_ActionHeader) String() string

type TrafficAction_CustomAction

type TrafficAction_CustomAction struct {

	// The Action Header.
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// The custom command given to the traffic participant. Used to convey a specific instruction
	// (for example, "exit_highway"), or event (for example, "left_indicator_activated").
	//
	// \note This corresponds to the content of the OpenSCENARIO 1.0 CustomCommandAction field.
	Command *string `protobuf:"bytes,2,opt,name=command" json:"command,omitempty"`
	// The type of the custom command given to the traffic participant. Can be used to simplify
	// how commands are grouped. For example, the command_type could be "sensor_failure" and the
	// command value could be "front_right_camera".  This avoids long commands, like
	// "sensor_failure: front_right_camera".
	//
	// \note This corresponds to the "type" attribute of the OpenSCENARIO 1.0 CustomCommandAction.
	CommandType *string `protobuf:"bytes,3,opt,name=command_type,json=commandType" json:"command_type,omitempty"`
	// contains filtered or unexported fields
}

\brief Custom Action.

This action assigns a custom command to a traffic participant. The syntax and semantics of this action is implementation defined. It is entirely up to each individual traffic participant which custom commands it supports, if any, and how they must be phrased.

\note This action is aligned with CustomCommandAction of OpenSCENARIO 1.0 providing a customizable user defined action.

func (*TrafficAction_CustomAction) Descriptor deprecated

func (*TrafficAction_CustomAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_CustomAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_CustomAction) GetActionHeader

func (*TrafficAction_CustomAction) GetCommand

func (x *TrafficAction_CustomAction) GetCommand() string

func (*TrafficAction_CustomAction) GetCommandType

func (x *TrafficAction_CustomAction) GetCommandType() string

func (*TrafficAction_CustomAction) ProtoMessage

func (*TrafficAction_CustomAction) ProtoMessage()

func (*TrafficAction_CustomAction) ProtoReflect

func (*TrafficAction_CustomAction) Reset

func (x *TrafficAction_CustomAction) Reset()

func (*TrafficAction_CustomAction) String

func (x *TrafficAction_CustomAction) String() string

type TrafficAction_DynamicConstraints

type TrafficAction_DynamicConstraints struct {

	// Maximum acceleration the distance controller is allowed to use for keeping distance.
	//
	// Unit: m/s^2
	MaxAcceleration *float64 `protobuf:"fixed64,1,opt,name=max_acceleration,json=maxAcceleration" json:"max_acceleration,omitempty"`
	// Maximum deceleration the distance controller is allowed to use for keeping distance.
	//
	// Unit: m/s^2
	MaxDeceleration *float64 `protobuf:"fixed64,2,opt,name=max_deceleration,json=maxDeceleration" json:"max_deceleration,omitempty"`
	// Maximum speed the distance controller is allowed to use for keeping distance.
	//
	// Unit: m/s
	MaxSpeed *float64 `protobuf:"fixed64,3,opt,name=max_speed,json=maxSpeed" json:"max_speed,omitempty"`
	// contains filtered or unexported fields
}

\brief DynamicConstraints

This message is used in Longitudinal and Lateral Distance Actions as constraints on the TrafficParticipant not allowing them to exceed/drop below certain speeds/acceleration levels.

func (*TrafficAction_DynamicConstraints) Descriptor deprecated

func (*TrafficAction_DynamicConstraints) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_DynamicConstraints.ProtoReflect.Descriptor instead.

func (*TrafficAction_DynamicConstraints) GetMaxAcceleration

func (x *TrafficAction_DynamicConstraints) GetMaxAcceleration() float64

func (*TrafficAction_DynamicConstraints) GetMaxDeceleration

func (x *TrafficAction_DynamicConstraints) GetMaxDeceleration() float64

func (*TrafficAction_DynamicConstraints) GetMaxSpeed

func (x *TrafficAction_DynamicConstraints) GetMaxSpeed() float64

func (*TrafficAction_DynamicConstraints) ProtoMessage

func (*TrafficAction_DynamicConstraints) ProtoMessage()

func (*TrafficAction_DynamicConstraints) ProtoReflect

func (*TrafficAction_DynamicConstraints) Reset

func (*TrafficAction_DynamicConstraints) String

type TrafficAction_DynamicsShape

type TrafficAction_DynamicsShape int32

Definition of dynamic shapes.

const (
	// Shape is unspecified.
	TrafficAction_DYNAMICS_SHAPE_UNSPECIFIED TrafficAction_DynamicsShape = 0
	// Shape is linear.
	TrafficAction_DYNAMICS_SHAPE_LINEAR TrafficAction_DynamicsShape = 1
	// Shape is cubic.
	TrafficAction_DYNAMICS_SHAPE_CUBIC TrafficAction_DynamicsShape = 2
	// Shape is sinusoidal.
	TrafficAction_DYNAMICS_SHAPE_SINUSOIDAL TrafficAction_DynamicsShape = 3
	// Shape is a step function.
	TrafficAction_DYNAMICS_SHAPE_STEP TrafficAction_DynamicsShape = 4
)

func (TrafficAction_DynamicsShape) Descriptor

func (TrafficAction_DynamicsShape) Enum

func (TrafficAction_DynamicsShape) EnumDescriptor deprecated

func (TrafficAction_DynamicsShape) EnumDescriptor() ([]byte, []int)

Deprecated: Use TrafficAction_DynamicsShape.Descriptor instead.

func (TrafficAction_DynamicsShape) Number

func (TrafficAction_DynamicsShape) String

func (TrafficAction_DynamicsShape) Type

func (*TrafficAction_DynamicsShape) UnmarshalJSON deprecated

func (x *TrafficAction_DynamicsShape) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type TrafficAction_EndActionsAction

type TrafficAction_EndActionsAction struct {

	// The action header
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// Actions which are regarded as successfully executed.
	//
	// These fields hold the action ids of the actions that are regarded
	// as successfully executed and shall be terminated gracefully.
	TargetActionId []*Identifier `protobuf:"bytes,2,rep,name=target_action_id,json=targetActionId" json:"target_action_id,omitempty"`
	// contains filtered or unexported fields
}

\brief End actions action.

This action tells a traffic participant that the execution of the referenced actions is regarded as successfully performed. The termination of the referenced actions is allowed to be performed gracefully.

func (*TrafficAction_EndActionsAction) Descriptor deprecated

func (*TrafficAction_EndActionsAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_EndActionsAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_EndActionsAction) GetActionHeader

func (*TrafficAction_EndActionsAction) GetTargetActionId

func (x *TrafficAction_EndActionsAction) GetTargetActionId() []*Identifier

func (*TrafficAction_EndActionsAction) ProtoMessage

func (*TrafficAction_EndActionsAction) ProtoMessage()

func (*TrafficAction_EndActionsAction) ProtoReflect

func (*TrafficAction_EndActionsAction) Reset

func (x *TrafficAction_EndActionsAction) Reset()

func (*TrafficAction_EndActionsAction) String

type TrafficAction_FollowPathAction

type TrafficAction_FollowPathAction struct {

	// The action header
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// A list of path StatePoints
	//
	// Set the position fields for all path points.
	// The timestamp field are not required and ignored.
	// The orientation fields can be set depending on the constrain_orientation
	// field being true.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	PathPoint []*StatePoint `protobuf:"bytes,2,rep,name=path_point,json=pathPoint" json:"path_point,omitempty"`
	// Constrain the orientation of the traffic participant as specified
	// by the path points.
	//
	// This boolean flag defines whether orientation values supplied in
	// the path points shall be used to constrain the orientation
	// of the traffic participant or not.
	ConstrainOrientation *bool `protobuf:"varint,3,opt,name=constrain_orientation,json=constrainOrientation" json:"constrain_orientation,omitempty"`
	// Specify the following mode that should be employed in executing
	// the path.
	FollowingMode *TrafficAction_FollowingMode `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief Follow path action.

Controls a traffic participant to follow a path using vertices. It specifies the motion in space independent of time.

\note The StatePoint messages in path_point only requires a specified position field. The orientation can be set optionally. Any timestamp StatePoint values are ignored.

\note This action is aligned with the FollowTrajectoryAction of OpenSCENARIO 1.0 using a 3/6D trajectory with shape Polyline.

func (*TrafficAction_FollowPathAction) Descriptor deprecated

func (*TrafficAction_FollowPathAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_FollowPathAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_FollowPathAction) GetActionHeader

func (*TrafficAction_FollowPathAction) GetConstrainOrientation

func (x *TrafficAction_FollowPathAction) GetConstrainOrientation() bool

func (*TrafficAction_FollowPathAction) GetFollowingMode

func (*TrafficAction_FollowPathAction) GetPathPoint

func (x *TrafficAction_FollowPathAction) GetPathPoint() []*StatePoint

func (*TrafficAction_FollowPathAction) ProtoMessage

func (*TrafficAction_FollowPathAction) ProtoMessage()

func (*TrafficAction_FollowPathAction) ProtoReflect

func (*TrafficAction_FollowPathAction) Reset

func (x *TrafficAction_FollowPathAction) Reset()

func (*TrafficAction_FollowPathAction) String

type TrafficAction_FollowTrajectoryAction

type TrafficAction_FollowTrajectoryAction struct {

	// The action header.
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// A list of trajectory StatePoints.
	//
	// Set the timestamp fields and position fields for all
	// trajectory points. The orientation fields can be set
	// depending on the constrain_orientation field being true.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	TrajectoryPoint []*StatePoint `protobuf:"bytes,2,rep,name=trajectory_point,json=trajectoryPoint" json:"trajectory_point,omitempty"`
	// Constrain the orientation of the traffic participant as specified
	// by the trajectory points.
	//
	// This boolean flag defines whether orientation values supplied in
	// the trajectory points (if any) shall be used to constrain the
	// orientation of the traffic participant or not.
	ConstrainOrientation *bool `protobuf:"varint,3,opt,name=constrain_orientation,json=constrainOrientation" json:"constrain_orientation,omitempty"`
	// Specify the following mode that should be employed in executing
	// the trajectory.
	FollowingMode *TrafficAction_FollowingMode `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief Follow trajectory action.

Controls a traffic participant to follow a trajectory using vertices with timings. It specifies the motion in space as a function of time.

\note The StatePoint messages in trajectory_point requires a specified timestamp.

\note This action is aligned with the FollowTrajectoryAction of OpenSCENARIO 1.0 using a 4/7D trajectory with shape Polyline.

func (*TrafficAction_FollowTrajectoryAction) Descriptor deprecated

func (*TrafficAction_FollowTrajectoryAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_FollowTrajectoryAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_FollowTrajectoryAction) GetActionHeader

func (*TrafficAction_FollowTrajectoryAction) GetConstrainOrientation

func (x *TrafficAction_FollowTrajectoryAction) GetConstrainOrientation() bool

func (*TrafficAction_FollowTrajectoryAction) GetFollowingMode

func (*TrafficAction_FollowTrajectoryAction) GetTrajectoryPoint

func (x *TrafficAction_FollowTrajectoryAction) GetTrajectoryPoint() []*StatePoint

func (*TrafficAction_FollowTrajectoryAction) ProtoMessage

func (*TrafficAction_FollowTrajectoryAction) ProtoMessage()

func (*TrafficAction_FollowTrajectoryAction) ProtoReflect

func (*TrafficAction_FollowTrajectoryAction) Reset

func (*TrafficAction_FollowTrajectoryAction) String

type TrafficAction_FollowingMode

type TrafficAction_FollowingMode int32

Definition of following mode.

const (
	// Following mode position forces the traffic participant to
	// follow a path/trajectory explicitly, disregarding any internal
	// constraints, for example, steering dynamics.
	TrafficAction_FOLLOWING_MODE_POSITION TrafficAction_FollowingMode = 0
	// Following mode follow allows the traffic participant to
	// treat a path/trajectory as a target, to be achieved as closely
	// as possible while retaining any internal constraints,
	// for example, steering dynamics.
	TrafficAction_FOLLOWING_MODE_FOLLOW TrafficAction_FollowingMode = 1
)

func (TrafficAction_FollowingMode) Descriptor

func (TrafficAction_FollowingMode) Enum

func (TrafficAction_FollowingMode) EnumDescriptor deprecated

func (TrafficAction_FollowingMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use TrafficAction_FollowingMode.Descriptor instead.

func (TrafficAction_FollowingMode) Number

func (TrafficAction_FollowingMode) String

func (TrafficAction_FollowingMode) Type

func (*TrafficAction_FollowingMode) UnmarshalJSON deprecated

func (x *TrafficAction_FollowingMode) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type TrafficAction_LaneChangeAction

type TrafficAction_LaneChangeAction struct {

	// The action header.
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// Targeted lane relative to the current lane.
	//
	// Convention: +1 means to the right, -1 means to the left.
	RelativeTargetLane *int32 `protobuf:"varint,2,opt,name=relative_target_lane,json=relativeTargetLane" json:"relative_target_lane,omitempty"`
	// Specified shape of the lane change action.
	// If the shape is unspecified (enum value 0), the shape of the
	// lane change is open to the traffic participant model.
	DynamicsShape *TrafficAction_DynamicsShape `` /* 132-byte string literal not displayed */
	// Duration of the lane change.
	//
	// A value of 0.0 (the default value) imposes no constraint
	// on the duration, unless the dynamics shape is a step function,
	// where an immediate step is effected.
	//
	// Unit: s
	Duration *float64 `protobuf:"fixed64,4,opt,name=duration" json:"duration,omitempty"`
	// Distance of the lane change.
	//
	// A value of 0.0 (the default value) imposes no constraint
	// on the distance, unless the dynamics shape is a step function,
	// where an immediate step is effected.
	//
	// Unit: m
	Distance *float64 `protobuf:"fixed64,5,opt,name=distance" json:"distance,omitempty"`
	// contains filtered or unexported fields
}

\brief Lane change action.

This action assigns a lane change to a traffic participant. The fields of this message enable different levels of constraint for the traffic participant depending on the use case. In case the constraints are supposed to be small, the dynamics shape or even the duration and the distance for the lane change can be omitted.

\note This action is aligned with LaneChangeAction of OpenSCENARIO 1.0 defining the targeted lane and optionally the parametrization of the lane change.

func (*TrafficAction_LaneChangeAction) Descriptor deprecated

func (*TrafficAction_LaneChangeAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_LaneChangeAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_LaneChangeAction) GetActionHeader

func (*TrafficAction_LaneChangeAction) GetDistance

func (x *TrafficAction_LaneChangeAction) GetDistance() float64

func (*TrafficAction_LaneChangeAction) GetDuration

func (x *TrafficAction_LaneChangeAction) GetDuration() float64

func (*TrafficAction_LaneChangeAction) GetDynamicsShape

func (*TrafficAction_LaneChangeAction) GetRelativeTargetLane

func (x *TrafficAction_LaneChangeAction) GetRelativeTargetLane() int32

func (*TrafficAction_LaneChangeAction) ProtoMessage

func (*TrafficAction_LaneChangeAction) ProtoMessage()

func (*TrafficAction_LaneChangeAction) ProtoReflect

func (*TrafficAction_LaneChangeAction) Reset

func (x *TrafficAction_LaneChangeAction) Reset()

func (*TrafficAction_LaneChangeAction) String

type TrafficAction_LaneOffsetAction

type TrafficAction_LaneOffsetAction struct {

	// The Action Header
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// Targeted lane offset in meters relative to the centerline of the
	// current traffic participant's lane. Positive values mean left of the centerline,
	// negative values mean right of the centerline.
	//
	// Unit: m
	TargetLaneOffset *float64 `protobuf:"fixed64,2,opt,name=target_lane_offset,json=targetLaneOffset" json:"target_lane_offset,omitempty"`
	// Specified transition shape of reaching the lane offset.
	// If the shape is unspecified (enum value 0), the shape of the
	// transition is open to the traffic participant model.
	DynamicsShape *TrafficAction_DynamicsShape `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief Lane Offset Action

This action assigns a targeted lane offset to a traffic participant. The action can be constrained by specifying the dynamics shape of the lateral transition profile.

\note This action is aligned with LaneOffsetAction of OpenSCENARIO 1.0.

func (*TrafficAction_LaneOffsetAction) Descriptor deprecated

func (*TrafficAction_LaneOffsetAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_LaneOffsetAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_LaneOffsetAction) GetActionHeader

func (*TrafficAction_LaneOffsetAction) GetDynamicsShape

func (*TrafficAction_LaneOffsetAction) GetTargetLaneOffset

func (x *TrafficAction_LaneOffsetAction) GetTargetLaneOffset() float64

func (*TrafficAction_LaneOffsetAction) ProtoMessage

func (*TrafficAction_LaneOffsetAction) ProtoMessage()

func (*TrafficAction_LaneOffsetAction) ProtoReflect

func (*TrafficAction_LaneOffsetAction) Reset

func (x *TrafficAction_LaneOffsetAction) Reset()

func (*TrafficAction_LaneOffsetAction) String

type TrafficAction_LateralDistanceAction

type TrafficAction_LateralDistanceAction struct {

	// Action Header of the message
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// Id of the reference entity the lateral distance shall be kept to.
	TargetTrafficParticipantId *Identifier `` /* 136-byte string literal not displayed */
	// Lateral distance value.
	//
	// Unit: m
	Distance *float64 `protobuf:"fixed64,3,opt,name=distance" json:"distance,omitempty"`
	// Determine the measurement of lateral distance between the traffic
	// participant receiving this action and the reference traffic
	// participant.
	// True: Lateral distance is measured using the distance between closest bounding box points.
	// False: Lateral distance is measured using the distance between the center of each object's bounding box.
	Freespace *bool `protobuf:"varint,4,opt,name=freespace" json:"freespace,omitempty"`
	// Define whether the traffic participant should only reach the distance once
	// or if it should also keep the distance after having reached it.
	// True: the traffic participant shall approach the reference participant
	// and follow with the distance specified until the action is aborted (communicate with AbortActionsAction).
	// False: the action ends as soon as the traffic participant has reached
	// the specified distance (communicate with EndActionsAction).
	Follow *bool `protobuf:"varint,5,opt,name=follow" json:"follow,omitempty"`
	// Parameter that assigns either unlimited dynamics (if omitted)
	// or limited maxAcceleration/maxDeceleration/maxSpeed to the action.
	DynamicConstraints *TrafficAction_DynamicConstraints `protobuf:"bytes,6,opt,name=dynamic_constraints,json=dynamicConstraints" json:"dynamic_constraints,omitempty"`
	// contains filtered or unexported fields
}

\brief Lateral Distance Action

The action tells the (host) traffic participant to reach a certain lateral distance relative to a target traffic participant. The lateral distance is defined along an imaginative perpendicular line with respect to the centerline of the current (host) traffic participant's lane. The interpolation strategy between centerline points for calculating that distance along the imaginative perpendicular line is open to the traffic participant modeler.

\note This action is aligned with LateralDistanceAction of OpenSCENARIO 1.0 defining the reference traffic participant and the distance.

\note Limitation: This concept currently only works for lanes with a centerline, i.e. for lanes of TYPE_DRIVING, not for lanes of TYPE_NONDRIVING or TYPE_INTERSECTION.

func (*TrafficAction_LateralDistanceAction) Descriptor deprecated

func (*TrafficAction_LateralDistanceAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_LateralDistanceAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_LateralDistanceAction) GetActionHeader

func (*TrafficAction_LateralDistanceAction) GetDistance

func (*TrafficAction_LateralDistanceAction) GetDynamicConstraints

func (*TrafficAction_LateralDistanceAction) GetFollow

func (*TrafficAction_LateralDistanceAction) GetFreespace

func (x *TrafficAction_LateralDistanceAction) GetFreespace() bool

func (*TrafficAction_LateralDistanceAction) GetTargetTrafficParticipantId

func (x *TrafficAction_LateralDistanceAction) GetTargetTrafficParticipantId() *Identifier

func (*TrafficAction_LateralDistanceAction) ProtoMessage

func (*TrafficAction_LateralDistanceAction) ProtoMessage()

func (*TrafficAction_LateralDistanceAction) ProtoReflect

func (*TrafficAction_LateralDistanceAction) Reset

func (*TrafficAction_LateralDistanceAction) String

type TrafficAction_LongitudinalDistanceAction

type TrafficAction_LongitudinalDistanceAction struct {

	// Action Header of the message
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// Unique Id of the reference traffic participant to which the distance is defined.
	TargetTrafficParticipantId *Identifier `` /* 136-byte string literal not displayed */
	// The distance to reach along the lane
	//
	// Unit: m
	Distance *float64 `protobuf:"fixed64,3,opt,name=distance" json:"distance,omitempty"`
	// Determine the measurement of longitudinal distance between the traffic
	// participant receiving this action and the reference traffic
	// participant.
	// True: Longitudinal distance is measured using the distance between closest bounding box points.
	// False: Longitudinal distance is measured using the distance between the center of each object's bounding box.
	Freespace *bool `protobuf:"varint,4,opt,name=freespace" json:"freespace,omitempty"`
	// Define whether the traffic participant should only reach the distance once
	// or if it should also keep the distance after having reached it.
	// True: the traffic participant shall approach the reference participant
	// and follow with the distance specified until the action is aborted (communicate with AbortActionsAction).
	// False: the action ends as soon as the traffic participant has reached
	// the specified distance (communicate with EndActionsAction).
	Follow *bool `protobuf:"varint,5,opt,name=follow" json:"follow,omitempty"`
	// Parameter that assigns either unlimited dynamics (if omitted)
	// or limited maxAcceleration/maxDeceleration/maxSpeed to the action.
	DynamicConstraints *TrafficAction_DynamicConstraints `protobuf:"bytes,6,opt,name=dynamic_constraints,json=dynamicConstraints" json:"dynamic_constraints,omitempty"`
	// contains filtered or unexported fields
}

\brief Longitudinal Distance Action

The action tells the (host) traffic participant to reach a certain longitudinal distance relative to a target traffic participant. The longitudinal distance is defined as the distance along the centerline of the lane, on which the (host) traffic participant is currently located. The interpolation strategy between centerline points for calculating that distance along the centerline is open to the traffic participant modeler.

\note This action is aligned with LongitudinalDistanceAction of OpenSCENARIO 1.0 defining the reference traffic participant and the distance.

\note Limitation: This concept currently only works for lanes with a centerline, i.e. for lanes of TYPE_DRIVING, not for lanes of TYPE_NONDRIVING or TYPE_INTERSECTION.

func (*TrafficAction_LongitudinalDistanceAction) Descriptor deprecated

func (*TrafficAction_LongitudinalDistanceAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_LongitudinalDistanceAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_LongitudinalDistanceAction) GetActionHeader

func (*TrafficAction_LongitudinalDistanceAction) GetDistance

func (*TrafficAction_LongitudinalDistanceAction) GetDynamicConstraints

func (*TrafficAction_LongitudinalDistanceAction) GetFollow

func (*TrafficAction_LongitudinalDistanceAction) GetFreespace

func (*TrafficAction_LongitudinalDistanceAction) GetTargetTrafficParticipantId

func (x *TrafficAction_LongitudinalDistanceAction) GetTargetTrafficParticipantId() *Identifier

func (*TrafficAction_LongitudinalDistanceAction) ProtoMessage

func (*TrafficAction_LongitudinalDistanceAction) ProtoReflect

func (*TrafficAction_LongitudinalDistanceAction) Reset

func (*TrafficAction_LongitudinalDistanceAction) String

type TrafficAction_SpeedAction

type TrafficAction_SpeedAction struct {

	// The action header
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// Targeted absolute speed.
	AbsoluteTargetSpeed *float64 `protobuf:"fixed64,2,opt,name=absolute_target_speed,json=absoluteTargetSpeed" json:"absolute_target_speed,omitempty"`
	// Specified transition shape of the speed change action.
	// If the shape is unspecified (enum value 0), the shape of the
	// speed change is open to the traffic participant model.
	DynamicsShape *TrafficAction_DynamicsShape `` /* 132-byte string literal not displayed */
	// Duration of the speed change.
	//
	// A value of 0.0 (the default value) imposes no constraint
	// on the duration, unless the dynamics shape is a step function,
	// where an immediate step is effected.
	//
	// Unit: s
	Duration *float64 `protobuf:"fixed64,4,opt,name=duration" json:"duration,omitempty"`
	// Distance of the speed change.
	//
	// A value of 0.0 (the default value) imposes no constraint
	// on the distance, unless the dynamics shape is a step function,
	// where an immediate step is effected.
	//
	// Unit: m
	Distance *float64 `protobuf:"fixed64,5,opt,name=distance" json:"distance,omitempty"`
	// contains filtered or unexported fields
}

\brief Speed action.

This action assigns a targeted speed to a traffic participant. The action can be constrained by specifying the dynamics shape or even the duration and the distance of the acceleration / deceleration process.

\note This action is aligned with SpeedAction of OpenSCENARIO 1.0 defining the targeted speed and optionally the parametrization of the speed transition.

func (*TrafficAction_SpeedAction) Descriptor deprecated

func (*TrafficAction_SpeedAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_SpeedAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_SpeedAction) GetAbsoluteTargetSpeed

func (x *TrafficAction_SpeedAction) GetAbsoluteTargetSpeed() float64

func (*TrafficAction_SpeedAction) GetActionHeader

func (*TrafficAction_SpeedAction) GetDistance

func (x *TrafficAction_SpeedAction) GetDistance() float64

func (*TrafficAction_SpeedAction) GetDuration

func (x *TrafficAction_SpeedAction) GetDuration() float64

func (*TrafficAction_SpeedAction) GetDynamicsShape

func (*TrafficAction_SpeedAction) ProtoMessage

func (*TrafficAction_SpeedAction) ProtoMessage()

func (*TrafficAction_SpeedAction) ProtoReflect

func (*TrafficAction_SpeedAction) Reset

func (x *TrafficAction_SpeedAction) Reset()

func (*TrafficAction_SpeedAction) String

func (x *TrafficAction_SpeedAction) String() string

type TrafficAction_TeleportAction

type TrafficAction_TeleportAction struct {

	// The Action Header
	ActionHeader *TrafficAction_ActionHeader `protobuf:"bytes,1,opt,name=action_header,json=actionHeader" json:"action_header,omitempty"`
	// Position in the global coordinate system.
	//
	// The position refers to the center (x,y,z) of the bounding box.
	//
	// \note Remark: The definition of the reference point follows the
	// specification of the \c BaseMoving message.
	Position *Vector3D `protobuf:"bytes,2,opt,name=position" json:"position,omitempty"`
	// Orientation in the global coordinate system.
	//
	// This is optional, if no orientation is given, the end orientation
	// is under control of the traffic participant.
	Orientation *Orientation3D `protobuf:"bytes,3,opt,name=orientation" json:"orientation,omitempty"`
	// contains filtered or unexported fields
}

\brief Teleport Action

This Action allows to immediately place a traffic participant to another position.

\note This action is aligned with the TeleportAction of OpenSCENARIO 1.0 using a WorldPosition position argument.

func (*TrafficAction_TeleportAction) Descriptor deprecated

func (*TrafficAction_TeleportAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficAction_TeleportAction.ProtoReflect.Descriptor instead.

func (*TrafficAction_TeleportAction) GetActionHeader

func (*TrafficAction_TeleportAction) GetOrientation

func (x *TrafficAction_TeleportAction) GetOrientation() *Orientation3D

func (*TrafficAction_TeleportAction) GetPosition

func (x *TrafficAction_TeleportAction) GetPosition() *Vector3D

func (*TrafficAction_TeleportAction) ProtoMessage

func (*TrafficAction_TeleportAction) ProtoMessage()

func (*TrafficAction_TeleportAction) ProtoReflect

func (*TrafficAction_TeleportAction) Reset

func (x *TrafficAction_TeleportAction) Reset()

func (*TrafficAction_TeleportAction) String

type TrafficCommand

type TrafficCommand struct {

	// The interface version used by the sender (scenario engine).
	//
	// \rules
	// is_set
	// \endrules
	Version *InterfaceVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The data timestamp of the simulation environment. Zero time is arbitrary
	// but must be identical for all messages. Zero time does not need to
	// coincide with the UNIX epoch. It is recommended to use zero timestamp as
	// the starting time point of the simulation.
	//
	// \note For traffic command data the timestamp coincides both with
	// the notional simulation time the data applies to and the time it was sent
	// There is no inherent latency for traffic command data, as opposed
	// to sensor data.
	//
	// \rules
	// is_set
	// \endrules
	Timestamp *Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
	// The ID of this traffic participant.
	//
	// \rules
	// is_set
	// \endrules
	TrafficParticipantId *Identifier `protobuf:"bytes,3,opt,name=traffic_participant_id,json=trafficParticipantId" json:"traffic_participant_id,omitempty"`
	// Commanded traffic action(s) if any.
	//
	// \note If more than one action is supplied in one command message
	// all actions are executed in parallel.
	Action []*TrafficAction `protobuf:"bytes,4,rep,name=action" json:"action,omitempty"`
	// contains filtered or unexported fields
}

\brief The scenario engine provides control commands in the traffic command message to traffic participant models. The control commands are based on the scenario.

\note This interface is currently just a placeholder and will be changed in experimental ways to support basic scenario execution. In the future this interface shall be aligned with the level of atomic actions as described in OpenSCENARIO 1.0 or later.

func (*TrafficCommand) Descriptor deprecated

func (*TrafficCommand) Descriptor() ([]byte, []int)

Deprecated: Use TrafficCommand.ProtoReflect.Descriptor instead.

func (*TrafficCommand) GetAction

func (x *TrafficCommand) GetAction() []*TrafficAction

func (*TrafficCommand) GetTimestamp

func (x *TrafficCommand) GetTimestamp() *Timestamp

func (*TrafficCommand) GetTrafficParticipantId

func (x *TrafficCommand) GetTrafficParticipantId() *Identifier

func (*TrafficCommand) GetVersion

func (x *TrafficCommand) GetVersion() *InterfaceVersion

func (*TrafficCommand) ProtoMessage

func (*TrafficCommand) ProtoMessage()

func (*TrafficCommand) ProtoReflect

func (x *TrafficCommand) ProtoReflect() protoreflect.Message

func (*TrafficCommand) Reset

func (x *TrafficCommand) Reset()

func (*TrafficCommand) String

func (x *TrafficCommand) String() string

type TrafficCommandUpdate

type TrafficCommandUpdate struct {

	// The interface version used by the sender (traffic participant model).
	//
	// \rules
	// is_set
	// \endrules
	Version *InterfaceVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The data timestamp of the simulation environment. Zero time is arbitrary
	// but must be identical for all messages. Zero time does not need to
	// coincide with the UNIX epoch. It is recommended to use zero timestamp as
	// the starting time point of the simulation.
	//
	// \rules
	// is_set
	// \endrules
	Timestamp *Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
	// The ID of this traffic participant which must coincide with a prior sent ID, cf.
	// \c TrafficCommand::traffic_participant_id.
	//
	// \rules
	// is_set
	// \endrules
	TrafficParticipantId *Identifier `protobuf:"bytes,3,opt,name=traffic_participant_id,json=trafficParticipantId" json:"traffic_participant_id,omitempty"`
	// Actions which a traffic participant dismisses and which are not yet ended or
	// aborted by the scenario engine (via a \c TrafficCommand::action.end_actions_action or a
	// \c TrafficCommand::action.abort_actions_action).
	// Thus, the valid time interval for this action is after the \c TrafficCommand::timestamp
	// for the respective action, which tells a traffic participant to perform an action, has
	// been sent, but must not be after a \c TrafficCommand::timestamp of the respective End-Actions-Action
	// or Abort-Actions-Action, which tells a traffic participant to end or abort that action.
	//
	// Furthermore, a \c TrafficCommand::action.end_actions_action or a
	// \c TrafficCommand::action.abort_actions_action must not be sent after this action
	// (the \c TrafficCommandUpdate::dismissed_action) for a respective action has been sent.
	//
	// \note If more than one dismissed action is supplied it means that
	// multiple actions are regarded as dismissed.
	DismissedAction []*TrafficCommandUpdate_DismissedAction `protobuf:"bytes,4,rep,name=dismissed_action,json=dismissedAction" json:"dismissed_action,omitempty"`
	// contains filtered or unexported fields
}

\brief This message enables the traffic participant model to send updates to the scenario engine about the execution of its received \c TrafficCommand input. While traffic actions are usually executed successfully by the traffic participant, there may be actions which the traffic participant is not able to execute either for capability or situation-specific reasons.

This message allows a traffic participant to send feedback if an action cannot happen as requested by the \c TrafficCommand. Currently, it is out of scope to standardize the exact reason for non-executability or failed execution because the reason can have multiple explanations. The responsibility for deciding about successful or unsuccessful scenario execution lies fully on the side of the scenario engine.

\note This interface is currently just a placeholder and could be changed in experimental ways to support semantics of upcoming OpenSCENARIO versions.

func (*TrafficCommandUpdate) Descriptor deprecated

func (*TrafficCommandUpdate) Descriptor() ([]byte, []int)

Deprecated: Use TrafficCommandUpdate.ProtoReflect.Descriptor instead.

func (*TrafficCommandUpdate) GetDismissedAction

func (*TrafficCommandUpdate) GetTimestamp

func (x *TrafficCommandUpdate) GetTimestamp() *Timestamp

func (*TrafficCommandUpdate) GetTrafficParticipantId

func (x *TrafficCommandUpdate) GetTrafficParticipantId() *Identifier

func (*TrafficCommandUpdate) GetVersion

func (x *TrafficCommandUpdate) GetVersion() *InterfaceVersion

func (*TrafficCommandUpdate) ProtoMessage

func (*TrafficCommandUpdate) ProtoMessage()

func (*TrafficCommandUpdate) ProtoReflect

func (x *TrafficCommandUpdate) ProtoReflect() protoreflect.Message

func (*TrafficCommandUpdate) Reset

func (x *TrafficCommandUpdate) Reset()

func (*TrafficCommandUpdate) String

func (x *TrafficCommandUpdate) String() string

type TrafficCommandUpdate_DismissedAction

type TrafficCommandUpdate_DismissedAction struct {

	// Dismissed traffic action id from the perspective of this traffic participant, if any.
	//
	// \note A dismissed traffic action id identifies a \c TrafficCommand::action which cannot be executed or
	// completed by the traffic participant. This field must have the same value as the
	// \c ActionHeader::action_id of a prior sent \c TrafficCommand and must correspond
	// to the same traffic participant.
	DismissedActionId *Identifier `protobuf:"bytes,1,opt,name=dismissed_action_id,json=dismissedActionId" json:"dismissed_action_id,omitempty"`
	// Information about the reason of failure.
	//
	// \note This is a custom, informal string without a standardized meaning.
	FailureReason *string `protobuf:"bytes,2,opt,name=failure_reason,json=failureReason" json:"failure_reason,omitempty"`
	// contains filtered or unexported fields
}

\brief Action which a traffic participant dismisses.

func (*TrafficCommandUpdate_DismissedAction) Descriptor deprecated

func (*TrafficCommandUpdate_DismissedAction) Descriptor() ([]byte, []int)

Deprecated: Use TrafficCommandUpdate_DismissedAction.ProtoReflect.Descriptor instead.

func (*TrafficCommandUpdate_DismissedAction) GetDismissedActionId

func (x *TrafficCommandUpdate_DismissedAction) GetDismissedActionId() *Identifier

func (*TrafficCommandUpdate_DismissedAction) GetFailureReason

func (x *TrafficCommandUpdate_DismissedAction) GetFailureReason() string

func (*TrafficCommandUpdate_DismissedAction) ProtoMessage

func (*TrafficCommandUpdate_DismissedAction) ProtoMessage()

func (*TrafficCommandUpdate_DismissedAction) ProtoReflect

func (*TrafficCommandUpdate_DismissedAction) Reset

func (*TrafficCommandUpdate_DismissedAction) String

type TrafficLight

type TrafficLight struct {

	// The ID of the traffic light.
	//
	// \rules
	// is_globally_unique
	// is_set
	// \endrules
	Id *Identifier `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// The base parameters of the traffic light.
	//
	// \c BaseStationary::orientation x-axis is view normal of the traffic
	// light's icon.
	Base *BaseStationary `protobuf:"bytes,2,opt,name=base" json:"base,omitempty"`
	// The classification data for the traffic light.
	Classification *TrafficLight_Classification `protobuf:"bytes,3,opt,name=classification" json:"classification,omitempty"`
	// Opaque reference of an associated 3D model of the traffic light.
	//
	// \note It is implementation-specific how model_references are resolved to
	// 3d models.
	ModelReference *string `protobuf:"bytes,4,opt,name=model_reference,json=modelReference" json:"model_reference,omitempty"`
	// Optional external reference to the traffic light source.
	//
	// The external reference points to the source of the traffic light, if it
	// is derived from one or more objects or external references.
	//
	// For example, to reference a signal defined in an OpenDRIVE map
	// the items should be set as follows:
	//   - reference = URI to map, can remain empty if identical with definition
	//     in \c GroundTruth::map_reference
	//   - type = "net.asam.opendrive"
	//   - identifier[0] = id of t_road_signals_signal
	//
	// \note For non-ASAM Standards, it is implementation-specific how
	//
	//	source_reference is resolved.
	//
	// \note The value has to be repeated, because one lane segment may be
	//
	//	derived from more than one origin segment. Multiple sources
	//	may be added as reference as well, for example, a map and sensors.
	SourceReference []*ExternalReference `protobuf:"bytes,5,rep,name=source_reference,json=sourceReference" json:"source_reference,omitempty"`
	// The visual color of the traffic light.
	//
	// \note This does not represent the semantic classification but the visual
	// appearance.  For semantic classification of the traffic light use the color
	// field in \c Classification.
	ColorDescription *ColorDescription `protobuf:"bytes,6,opt,name=color_description,json=colorDescription" json:"color_description,omitempty"`
	// contains filtered or unexported fields
}

\brief A traffic light.

\image html OSI_TrafficLight.svg

One traffic light message defines a single 'bulb' and not a box of several bulbs, e.g. red, yellow, green are three separate traffic lights.

func (*TrafficLight) Descriptor deprecated

func (*TrafficLight) Descriptor() ([]byte, []int)

Deprecated: Use TrafficLight.ProtoReflect.Descriptor instead.

func (*TrafficLight) GetBase

func (x *TrafficLight) GetBase() *BaseStationary

func (*TrafficLight) GetClassification

func (x *TrafficLight) GetClassification() *TrafficLight_Classification

func (*TrafficLight) GetColorDescription

func (x *TrafficLight) GetColorDescription() *ColorDescription

func (*TrafficLight) GetId

func (x *TrafficLight) GetId() *Identifier

func (*TrafficLight) GetModelReference

func (x *TrafficLight) GetModelReference() string

func (*TrafficLight) GetSourceReference

func (x *TrafficLight) GetSourceReference() []*ExternalReference

func (*TrafficLight) ProtoMessage

func (*TrafficLight) ProtoMessage()

func (*TrafficLight) ProtoReflect

func (x *TrafficLight) ProtoReflect() protoreflect.Message

func (*TrafficLight) Reset

func (x *TrafficLight) Reset()

func (*TrafficLight) String

func (x *TrafficLight) String() string

type TrafficLight_Classification

type TrafficLight_Classification struct {

	// The semantic color of the traffic light.
	//
	// \note The color types represent the semantic color classification of a
	// traffic light only. They do not represent an actual visual appearance.
	//
	// \note If the color of the traffic light is known (from history or
	// geometrical arrangement) and the state \c #mode is
	// \c #MODE_OFF then \c #color could remain unchanged.
	// If traffic light displays images in different colors and traffic
	// light is off ( \c #mode =  \c #MODE_OFF), then \c #color = \c
	// #COLOR_OTHER .
	Color *TrafficLight_Classification_Color `protobuf:"varint,1,opt,name=color,enum=osi3.TrafficLight_Classification_Color" json:"color,omitempty"`
	// The icon of the traffic light.
	Icon *TrafficLight_Classification_Icon `protobuf:"varint,2,opt,name=icon,enum=osi3.TrafficLight_Classification_Icon" json:"icon,omitempty"`
	// The operating mode of the traffic light.
	Mode *TrafficLight_Classification_Mode `protobuf:"varint,3,opt,name=mode,enum=osi3.TrafficLight_Classification_Mode" json:"mode,omitempty"`
	// The value of the countdown counter.
	// Unit: % or s
	//
	// \note Set value only if traffic light bulb is a countdown counter.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Counter *float64 `protobuf:"fixed64,4,opt,name=counter" json:"counter,omitempty"`
	// The IDs of the lanes that the traffic light is assigned to.
	// Might be multiple if the traffic light is valid for multiple driving
	// lanes.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	//
	// \rules
	// refers_to: Lane
	// \endrules
	AssignedLaneId []*Identifier `protobuf:"bytes,5,rep,name=assigned_lane_id,json=assignedLaneId" json:"assigned_lane_id,omitempty"`
	// Boolean flag to indicate that the traffic light is taken out of service.
	// This can be achieved by visibly crossing the light, covering it completely
	// or switching the traffic light off.
	IsOutOfService *bool `protobuf:"varint,6,opt,name=is_out_of_service,json=isOutOfService" json:"is_out_of_service,omitempty"`
	// Assignment of this object to logical lanes.
	//
	// \note OSI uses singular instead of plural for repeated field names.
	LogicalLaneAssignment []*LogicalLaneAssignment `protobuf:"bytes,7,rep,name=logical_lane_assignment,json=logicalLaneAssignment" json:"logical_lane_assignment,omitempty"`
	// contains filtered or unexported fields
}

\brief \c Classification data for a traffic light.

func (*TrafficLight_Classification) Descriptor deprecated

func (*TrafficLight_Classification) Descriptor() ([]byte, []int)

Deprecated: Use TrafficLight_Classification.ProtoReflect.Descriptor instead.

func (*TrafficLight_Classification) GetAssignedLaneId

func (x *TrafficLight_Classification) GetAssignedLaneId() []*Identifier

func (*TrafficLight_Classification) GetColor

func (*TrafficLight_Classification) GetCounter

func (x *TrafficLight_Classification) GetCounter() float64

func (*TrafficLight_Classification) GetIcon

func (*TrafficLight_Classification) GetIsOutOfService

func (x *TrafficLight_Classification) GetIsOutOfService() bool

func (*TrafficLight_Classification) GetLogicalLaneAssignment

func (x *TrafficLight_Classification) GetLogicalLaneAssignment() []*LogicalLaneAssignment

func (*TrafficLight_Classification) GetMode

func (*TrafficLight_Classification) ProtoMessage

func (*TrafficLight_Classification) ProtoMessage()

func (*TrafficLight_Classification) ProtoReflect

func (*TrafficLight_Classification) Reset

func (x *TrafficLight_Classification) Reset()

func (*TrafficLight_Classification) String

func (x *TrafficLight_Classification) String() string

type TrafficLight_Classification_Color

type TrafficLight_Classification_Color int32

Definition of semantic colors for traffic lights.

\note The color types represent the semantic classification of a traffic light only. They do not represent an actual visual appearance.

const (
	// Color is unknown (must not be used in ground truth).
	TrafficLight_Classification_COLOR_UNKNOWN TrafficLight_Classification_Color = 0
	// Other (unspecified but known) color.
	TrafficLight_Classification_COLOR_OTHER TrafficLight_Classification_Color = 1
	// Red light.
	TrafficLight_Classification_COLOR_RED TrafficLight_Classification_Color = 2
	// Orange-yellow light.
	TrafficLight_Classification_COLOR_YELLOW TrafficLight_Classification_Color = 3
	// Green light.
	TrafficLight_Classification_COLOR_GREEN TrafficLight_Classification_Color = 4
	// Blue light.
	TrafficLight_Classification_COLOR_BLUE TrafficLight_Classification_Color = 5
	// White light.
	TrafficLight_Classification_COLOR_WHITE TrafficLight_Classification_Color = 6
)

func (TrafficLight_Classification_Color) Descriptor

func (TrafficLight_Classification_Color) Enum

func (TrafficLight_Classification_Color) EnumDescriptor deprecated

func (TrafficLight_Classification_Color) EnumDescriptor() ([]byte, []int)

Deprecated: Use TrafficLight_Classification_Color.Descriptor instead.

func (TrafficLight_Classification_Color) Number

func (TrafficLight_Classification_Color) String

func (TrafficLight_Classification_Color) Type

func (*TrafficLight_Classification_Color) UnmarshalJSON deprecated

func (x *TrafficLight_Classification_Color) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type TrafficLight_Classification_Icon

type TrafficLight_Classification_Icon int32

Definition of traffic light bulb icon.

const (
	// Unknown icon of traffic light (must not be used in ground truth).
	TrafficLight_Classification_ICON_UNKNOWN TrafficLight_Classification_Icon = 0
	// Other (unspecified but known) icon of traffic light.
	TrafficLight_Classification_ICON_OTHER TrafficLight_Classification_Icon = 1
	// This is a normal traffic light without specification of e.g.
	// direction.
	TrafficLight_Classification_ICON_NONE TrafficLight_Classification_Icon = 2
	// This traffic light applies to the lane straight ahead.
	TrafficLight_Classification_ICON_ARROW_STRAIGHT_AHEAD TrafficLight_Classification_Icon = 3
	// This traffic light applies to left turns.
	TrafficLight_Classification_ICON_ARROW_LEFT TrafficLight_Classification_Icon = 4
	// This traffic light applies to diagonal left turns.
	TrafficLight_Classification_ICON_ARROW_DIAG_LEFT TrafficLight_Classification_Icon = 5
	// This traffic light applies to a lane allowing to drive straight
	// ahead or to turn left.
	TrafficLight_Classification_ICON_ARROW_STRAIGHT_AHEAD_LEFT TrafficLight_Classification_Icon = 6
	// This traffic light applies to right turns.
	TrafficLight_Classification_ICON_ARROW_RIGHT TrafficLight_Classification_Icon = 7
	// This traffic light applies to diagonal right turns.
	TrafficLight_Classification_ICON_ARROW_DIAG_RIGHT TrafficLight_Classification_Icon = 8
	// This traffic light applies to a lane allowing to drive straight
	// ahead or to turn right.
	TrafficLight_Classification_ICON_ARROW_STRAIGHT_AHEAD_RIGHT TrafficLight_Classification_Icon = 9
	// This traffic light applies to a lane allowing to turn left or
	// right.
	TrafficLight_Classification_ICON_ARROW_LEFT_RIGHT TrafficLight_Classification_Icon = 10
	// This traffic light indicates that the assigned lane is open for
	// driving.
	TrafficLight_Classification_ICON_ARROW_DOWN TrafficLight_Classification_Icon = 11
	// This traffic light indicates a necessary lane change to the left
	// ahead.
	TrafficLight_Classification_ICON_ARROW_DOWN_LEFT TrafficLight_Classification_Icon = 12
	// This traffic light indicates a necessary lane change to the right
	// ahead.
	TrafficLight_Classification_ICON_ARROW_DOWN_RIGHT TrafficLight_Classification_Icon = 13
	// This traffic light indicates that the assigned lane is not open
	// for driving.
	TrafficLight_Classification_ICON_ARROW_CROSS TrafficLight_Classification_Icon = 14
	// This traffic light is valid for pedestrians.
	TrafficLight_Classification_ICON_PEDESTRIAN TrafficLight_Classification_Icon = 15
	// This traffic light is valid for pedestrians with letters 'walk'.
	TrafficLight_Classification_ICON_WALK TrafficLight_Classification_Icon = 16
	// This traffic light is valid for pedestrians with letters 'don't
	// walk'.
	TrafficLight_Classification_ICON_DONT_WALK TrafficLight_Classification_Icon = 17
	// This traffic light is valid for bicyclists.
	TrafficLight_Classification_ICON_BICYCLE TrafficLight_Classification_Icon = 18
	// This traffic light is valid for pedestrians and bicyclists.
	TrafficLight_Classification_ICON_PEDESTRIAN_AND_BICYCLE TrafficLight_Classification_Icon = 19
	// This traffic light counter in second.
	TrafficLight_Classification_ICON_COUNTDOWN_SECONDS TrafficLight_Classification_Icon = 20
	// This traffic light counter in percent.
	TrafficLight_Classification_ICON_COUNTDOWN_PERCENT TrafficLight_Classification_Icon = 21
	// This traffic light is valid for
	// trams.
	//
	// \note There is no detailed traffic light specification for trams
	// and buses at the moment.
	TrafficLight_Classification_ICON_TRAM TrafficLight_Classification_Icon = 22
	// This traffic light is valid for
	// buses.
	//
	// \note There is no detailed traffic light specification for trams
	// and buses at the moment.
	TrafficLight_Classification_ICON_BUS TrafficLight_Classification_Icon = 23
	// This traffic light is valid for
	// buses and trams.
	//
	// \note There is no detailed traffic light specification for trams
	// and buses at the moment.
	TrafficLight_Classification_ICON_BUS_AND_TRAM TrafficLight_Classification_Icon = 24
)

func (TrafficLight_Classification_Icon) Descriptor

func (TrafficLight_Classification_Icon) Enum

func (TrafficLight_Classification_Icon) EnumDescriptor deprecated

func (TrafficLight_Classification_Icon) EnumDescriptor() ([]byte, []int)

Deprecated: Use TrafficLight_Classification_Icon.Descriptor instead.

func (TrafficLight_Classification_Icon) Number

func (TrafficLight_Classification_Icon) String

func (TrafficLight_Classification_Icon) Type

func (*TrafficLight_Classification_Icon) UnmarshalJSON deprecated

func (x *TrafficLight_Classification_Icon) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type TrafficLight_Classification_Mode

type TrafficLight_Classification_Mode int32

Definition of light modes for traffic lights.

const (
	// Mode is unknown (must not be used in ground truth).
	TrafficLight_Classification_MODE_UNKNOWN TrafficLight_Classification_Mode = 0
	// Other (unspecified but known) mode.
	TrafficLight_Classification_MODE_OTHER TrafficLight_Classification_Mode = 1
	// Traffic light is off.
	TrafficLight_Classification_MODE_OFF TrafficLight_Classification_Mode = 2
	// Light is on and not flashing.
	TrafficLight_Classification_MODE_CONSTANT TrafficLight_Classification_Mode = 3
	// Light is flashing.
	TrafficLight_Classification_MODE_FLASHING TrafficLight_Classification_Mode = 4
	// Light is counting.
	TrafficLight_Classification_MODE_COUNTING TrafficLight_Classification_Mode = 5
)

func (TrafficLight_Classification_Mode) Descriptor

func (TrafficLight_Classification_Mode) Enum

func (TrafficLight_Classification_Mode) EnumDescriptor deprecated

func (TrafficLight_Classification_Mode) EnumDescriptor() ([]byte, []int)

Deprecated: Use TrafficLight_Classification_Mode.Descriptor instead.

func (TrafficLight_Classification_Mode) Number

func (TrafficLight_Classification_Mode) String

func (TrafficLight_Classification_Mode) Type

func (*TrafficLight_Classification_Mode) UnmarshalJSON deprecated

func (x *TrafficLight_Classification_Mode) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type TrafficSign

type TrafficSign struct {

	// The ID of the traffic sign.
	//
	// \rules
	// is_globally_unique
	// is_set
	// \endrules
	Id *Identifier `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// Main sign, e.g. speed limit 30 km/h
	MainSign *TrafficSign_MainSign `protobuf:"bytes,2,opt,name=main_sign,json=mainSign" json:"main_sign,omitempty"`
	// Additional supplementary signs, e.g. time limits, modifying the traffic
	// sign.
	SupplementarySign []*TrafficSign_SupplementarySign `protobuf:"bytes,3,rep,name=supplementary_sign,json=supplementarySign" json:"supplementary_sign,omitempty"`
	// Optional external reference to the traffic sign source.
	//
	// The external reference point to the source of the traffic sign, if it is
	// derived from one or more objects or external references.
	//
	// For example, to reference a signal defined in an OpenDRIVE map
	// the items should be set as follows:
	//   - reference = URI to map, can remain empty if identical with definition
	//     in \c GroundTruth::map_reference
	//   - type = "net.asam.opendrive"
	//   - identifier[0] = id of t_road_signals_signal
	//
	// \note For non-ASAM Standards, it is implementation-specific how
	//
	//	source_reference is resolved.
	//
	// \note If an individual identification of MainSign and SupplementarySign
	//
	//	is necessary, this should be done via multiple individual
	//	entries of this source_reference.
	//
	// \note The value has to be repeated, because one lane segment may be
	//
	//	derived from more than one origin segment. Multiple sources
	//	may be added as reference as well, for example, a map and sensors.
	SourceReference []*ExternalReference `protobuf:"bytes,4,rep,name=source_reference,json=sourceReference" json:"source_reference,omitempty"`
	// contains filtered or unexported fields
}

\brief A traffic sign.

All coordinates and orientations are relative to the global ground truth coordinate system.

func (*TrafficSign) Descriptor deprecated

func (*TrafficSign) Descriptor() ([]byte, []int)

Deprecated: Use TrafficSign.ProtoReflect.Descriptor instead.

func (*TrafficSign) GetId

func (x *TrafficSign) GetId() *Identifier

func (*TrafficSign) GetMainSign

func (x *TrafficSign) GetMainSign() *TrafficSign_MainSign

func (*TrafficSign) GetSourceReference

func (x *TrafficSign) GetSourceReference() []*ExternalReference

func (*TrafficSign) GetSupplementarySign

func (x *TrafficSign) GetSupplementarySign() []*TrafficSign_SupplementarySign

func (*TrafficSign) ProtoMessage

func (*TrafficSign) ProtoMessage()

func (*TrafficSign) ProtoReflect

func (x *TrafficSign) ProtoReflect() protoreflect.Message

func (*TrafficSign) Reset

func (x *TrafficSign) Reset()

func (*TrafficSign) String

func (x *TrafficSign) String() string

type TrafficSignValue

type TrafficSignValue struct {

	// Additional value associated with a traffic sign or road marking,
	// e.g. value of a speed limit.
	Value *float64 `protobuf:"fixed64,1,opt,name=value" json:"value,omitempty"`
	// Unit for additional value.
	ValueUnit *TrafficSignValue_Unit `protobuf:"varint,2,opt,name=value_unit,json=valueUnit,enum=osi3.TrafficSignValue_Unit" json:"value_unit,omitempty"`
	// Text associated with a sign, e.g. the name of a location whose distance
	// to the sign is indicated therein. The interpretation of this text is
	// left to a user-defined procedure.
	Text *string `protobuf:"bytes,3,opt,name=text" json:"text,omitempty"`
	// contains filtered or unexported fields
}

\brief Additional value associated with a traffic sign or road marking, its unit and its text. The interpretation of this text is left to a user-defined procedure

func (*TrafficSignValue) Descriptor deprecated

func (*TrafficSignValue) Descriptor() ([]byte, []int)

Deprecated: Use TrafficSignValue.ProtoReflect.Descriptor instead.

func (*TrafficSignValue) GetText

func (x *TrafficSignValue) GetText() string

func (*TrafficSignValue) GetValue

func (x *TrafficSignValue) GetValue() float64

func (*TrafficSignValue) GetValueUnit

func (x *TrafficSignValue) GetValueUnit() TrafficSignValue_Unit

func (*TrafficSignValue) ProtoMessage

func (*TrafficSignValue) ProtoMessage()

func (*TrafficSignValue) ProtoReflect

func (x *TrafficSignValue) ProtoReflect() protoreflect.Message

func (*TrafficSignValue) Reset

func (x *TrafficSignValue) Reset()

func (*TrafficSignValue) String

func (x *TrafficSignValue) String() string

type TrafficSignValue_Unit

type TrafficSignValue_Unit int32

Unit for values on traffic sign.

const (
	// Unit of the sign's value is unknown (must not be used in ground
	// truth).
	TrafficSignValue_UNIT_UNKNOWN TrafficSignValue_Unit = 0
	// Other (unspecified but known) unit of the sign's value.
	TrafficSignValue_UNIT_OTHER TrafficSignValue_Unit = 1
	// Value without unit.
	TrafficSignValue_UNIT_NO_UNIT TrafficSignValue_Unit = 2
	// Velocity.
	// Kilometers per hour.
	//
	// Unit: km/h
	TrafficSignValue_UNIT_KILOMETER_PER_HOUR TrafficSignValue_Unit = 3
	// Velocity.
	// Miles per hour.
	//
	// Unit: mph
	TrafficSignValue_UNIT_MILE_PER_HOUR TrafficSignValue_Unit = 4
	// Length.
	// Meter.
	//
	// Unit: m
	TrafficSignValue_UNIT_METER TrafficSignValue_Unit = 5
	// Length.
	// Kilometer.
	//
	// Unit: km
	TrafficSignValue_UNIT_KILOMETER TrafficSignValue_Unit = 6
	// Length.
	// Feet.
	//
	// Unit: ft
	TrafficSignValue_UNIT_FEET TrafficSignValue_Unit = 7
	// Length.
	// Mile.
	//
	// Unit: mile
	TrafficSignValue_UNIT_MILE TrafficSignValue_Unit = 8
	// Weight.
	// Ton.
	//
	// Unit: t
	TrafficSignValue_UNIT_METRIC_TON TrafficSignValue_Unit = 9
	// Weight.
	// Long ton UK 1,016.047 kg.
	//
	// Unit: tn. l.
	TrafficSignValue_UNIT_LONG_TON TrafficSignValue_Unit = 10
	// Weight.
	// Short ton USA 907.1847 kg.
	//
	// Unit: tn. sh.
	TrafficSignValue_UNIT_SHORT_TON TrafficSignValue_Unit = 11
	// Time of day.
	// Hours since midnight. Starting with 0.
	//
	// Unit: h
	TrafficSignValue_UNIT_HOUR TrafficSignValue_Unit = 15
	// Time of day.
	// Minutes since last hour. Starting with 0.
	//
	// Unit: min
	TrafficSignValue_UNIT_MINUTES TrafficSignValue_Unit = 12
	// Day of the month.
	// Starting with 1.
	TrafficSignValue_UNIT_DAY_OF_MONTH TrafficSignValue_Unit = 16
	// Day of the week.
	// Days since Monday. Monday = 0; Tuesday = 1; ...
	//
	// \note For consistency this field will be renamed to UNIT_DAY_OF_WEEK in v4.0.0 .
	TrafficSignValue_UNIT_DAY TrafficSignValue_Unit = 13
	// Percentage.
	// Value.
	//
	// Unit: %
	TrafficSignValue_UNIT_PERCENTAGE TrafficSignValue_Unit = 14
	// Duration in days.
	//
	// Unit: day
	TrafficSignValue_UNIT_DURATION_DAY TrafficSignValue_Unit = 17
	// Duration in hours.
	//
	// Unit: h
	TrafficSignValue_UNIT_DURATION_HOUR TrafficSignValue_Unit = 18
	// Duration in minutes.
	//
	// Unit: min
	TrafficSignValue_UNIT_DURATION_MINUTE TrafficSignValue_Unit = 19
)

func (TrafficSignValue_Unit) Descriptor

func (TrafficSignValue_Unit) Enum

func (TrafficSignValue_Unit) EnumDescriptor deprecated

func (TrafficSignValue_Unit) EnumDescriptor() ([]byte, []int)

Deprecated: Use TrafficSignValue_Unit.Descriptor instead.

func (TrafficSignValue_Unit) Number

func (TrafficSignValue_Unit) String

func (x TrafficSignValue_Unit) String() string

func (TrafficSignValue_Unit) Type

func (*TrafficSignValue_Unit) UnmarshalJSON deprecated

func (x *TrafficSignValue_Unit) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type TrafficSign_MainSign

type TrafficSign_MainSign struct {

	// The base parameters of the traffic sign.
	//
	// The orientation of the bounding box \c #base
	// ( \c BaseStationary::orientation ) is defined as follows:
	// The z-axis of the given \c BaseStationary::orientation is the vector
	// from the bottom to the top of the traffic sign's 2D image plate.
	// (Normally it is equal to the ground truth z-axis.)
	// The x-axis of the given \c BaseStationary::orientation is view
	// normal of the traffic sign's image.
	// This x-axis points from the traffic sign's image in the direction
	// from where a 'viewer' could see the traffic sign image.
	Base *BaseStationary `protobuf:"bytes,1,opt,name=base" json:"base,omitempty"`
	// The classification of the traffic sign.
	Classification *TrafficSign_MainSign_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// Opaque reference of an associated 3D model of the traffic sign.
	//
	// \note It is implementation-specific how model_references are resolved to
	// 3d models.
	ModelReference *string `protobuf:"bytes,3,opt,name=model_reference,json=modelReference" json:"model_reference,omitempty"`
	// contains filtered or unexported fields
}

\brief Main sign of the traffic sign.

\image html OSI_MainSign.svg

func (*TrafficSign_MainSign) Descriptor deprecated

func (*TrafficSign_MainSign) Descriptor() ([]byte, []int)

Deprecated: Use TrafficSign_MainSign.ProtoReflect.Descriptor instead.

func (*TrafficSign_MainSign) GetBase

func (x *TrafficSign_MainSign) GetBase() *BaseStationary

func (*TrafficSign_MainSign) GetClassification

func (*TrafficSign_MainSign) GetModelReference

func (x *TrafficSign_MainSign) GetModelReference() string

func (*TrafficSign_MainSign) ProtoMessage

func (*TrafficSign_MainSign) ProtoMessage()

func (*TrafficSign_MainSign) ProtoReflect

func (x *TrafficSign_MainSign) ProtoReflect() protoreflect.Message

func (*TrafficSign_MainSign) Reset

func (x *TrafficSign_MainSign) Reset()

func (*TrafficSign_MainSign) String

func (x *TrafficSign_MainSign) String() string

type TrafficSign_MainSign_Classification

type TrafficSign_MainSign_Classification struct {

	// This value indicates if a sign is static or dynamic regarding its
	// content (e.g., electronic sign bridge) and/or regarding its
	// position on the road.
	Variability *TrafficSign_Variability `protobuf:"varint,1,opt,name=variability,enum=osi3.TrafficSign_Variability" json:"variability,omitempty"`
	// The type of the traffic sign.
	//
	// \attention Deprecated: A revision is planned for version 4.0.0 to
	// replace the type enum with a more semantically defined enumeration,
	// with the exact sign specification being relegated to the newly
	// introduced 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	Type *TrafficSign_MainSign_Classification_Type `protobuf:"varint,2,opt,name=type,enum=osi3.TrafficSign_MainSign_Classification_Type" json:"type,omitempty"`
	// Additional value associated with the traffic sign, e.g. value of
	// the speed limit.
	//
	// \note Field need not be set if traffic sign type does not require
	// it.
	Value *TrafficSignValue `protobuf:"bytes,3,opt,name=value" json:"value,omitempty"`
	// Some traffic signs have an additional arrow symbol as an
	// additional constraint for their scope (e.g. no parking to the
	// right). The arrow direction is given relative to the sign's 2D
	// image plane, i.e. as a viewer standing right in front of the sign
	// and looking straight towards it would interpret the arrow.
	//
	// The definition for left and right is according to the following
	// temporarily constructed right-handed local coordinate system:
	// Set z-axis to match the z-axis of the ground truth coordinate
	// system. Set x-axis to the view normal of the traffic sign's image
	// (\c #base \c BaseStationary::orientation x-axis).
	// Right: direction of the local coordinate system's positive
	// y-axis. Left: opposite direction of the local coordinate system's
	// y-axis i.e. negative y-axis',
	//
	// \note If a traffic sign image is on the ground (there is no
	// definition for right or left). Normally, this is a road marking
	// and not a traffic sign. Actual traffic signs lying on the ground
	// might have been intentionally unmounted and, hence, not be in
	// effect.
	//
	// \attention Deprecated: A revision is planned for version 4.0.0 to
	// replace the type enum with a more semantically defined enumeration,
	// with the exact sign specification being relegated to the newly
	// introduced 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	DirectionScope *TrafficSign_MainSign_Classification_DirectionScope `` /* 158-byte string literal not displayed */
	// The IDs of the lanes that the sign is assigned to.
	// May be multiple if the sign is valid for multiple lanes.
	//
	// \note OSI uses singular instead of plural for repeated field
	// names.
	//
	// \rules
	// refers_to: Lane
	// \endrules
	AssignedLaneId []*Identifier `protobuf:"bytes,5,rep,name=assigned_lane_id,json=assignedLaneId" json:"assigned_lane_id,omitempty"`
	// Some traffic signs exist in two variants that have
	// a similar semantic meaning but differ in that the symbol
	// of the one corresponds to the specular reflection of the
	// other with respect to the vertical axis.
	// For some scenarios it might be relevant to choose the
	// reflected version of a reference sign. This can be done
	// by setting the \c #vertically_mirrored boolean to \c true.
	// As for every boolean in the protocol buffers language, the
	// default value of \c #vertically_mirrored is \c false.
	//
	// \attention Deprecated: A revision is planned for version 4.0.0 to
	// replace the type enum with a more semantically defined enumeration,
	// with the exact sign specification being relegated to the newly
	// introduced 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	VerticallyMirrored *bool `protobuf:"varint,6,opt,name=vertically_mirrored,json=verticallyMirrored" json:"vertically_mirrored,omitempty"`
	// Boolean flag to indicate that a traffic sign is taken out of service.
	// This can be achieved by visibly crossing the sign or covering it completely.
	IsOutOfService *bool `protobuf:"varint,7,opt,name=is_out_of_service,json=isOutOfService" json:"is_out_of_service,omitempty"`
	// Country specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// Country is specified using the ISO 3166-1, alpha-2 code
	// https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2, or the
	// special OpenDRIVE country for generic signs.<br>
	Country *string `protobuf:"bytes,8,opt,name=country" json:"country,omitempty"`
	// Revision specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// The year the traffic rules came into force. <br>
	// e.g. "2017"
	CountryRevision *string `protobuf:"bytes,9,opt,name=country_revision,json=countryRevision" json:"country_revision,omitempty"`
	// Code specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// Code identifier according to country and country revision,
	// corresponds to the type field of OpenDRIVE. <br>
	// code is only unique in combination with #country and #country_revision.  <br>
	// e.g. http://www.vzkat.de/2017/VzKat.htm
	Code *string `protobuf:"bytes,10,opt,name=code" json:"code,omitempty"`
	// Sub-code specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// Sub-code identifier according to country, country revision and code,
	// corresponds to the subtype field of OpenDRIVE. <br>
	// sub_code is only unique in combination with #country, #country_revision,
	// and #code.  <br>
	// e.g. http://www.vzkat.de/2017/VzKat.htm
	SubCode *string `protobuf:"bytes,11,opt,name=sub_code,json=subCode" json:"sub_code,omitempty"`
	// Assignment of this object to logical lanes.
	//
	// \note OSI uses singular instead of plural for repeated field
	// names.
	LogicalLaneAssignment []*LogicalLaneAssignment `protobuf:"bytes,12,rep,name=logical_lane_assignment,json=logicalLaneAssignment" json:"logical_lane_assignment,omitempty"`
	// contains filtered or unexported fields
}

\brief \c Classification data for a traffic sign.

\image html OSI_DirectionScope.svg

When constructing a \c MainSign, consider the use of the following members: - In order to include numerical values indicated in the sign, use \c TrafficSignValue::value. Accompany this value with an indication of its unit of measure given by \c TrafficSignValue::value_unit. - In order to include strings of text indicated in the sign, use \c TrafficSignValue::text. The interpretation of this text is left to a user-defined procedure. - Some traffic signs exist in two variants that have a similar semantic meaning and the property that the one results from flipping the other one around the vertical axis. The optional member \c #vertically_mirrored has been provided to enable an explicit choice between both variants. - For signs in which an arrow symbol is included to constraint their scope, the \c #direction_scope member has been provided to indicate the direction of the arrow from the perspective of a viewer standing right in front of the sign and looking straight towards it.

\note The definition of the sign types is thought to be independent of the country, even if the images used in this documentation are based on the German Road Traffic Regulations (StVO).

func (*TrafficSign_MainSign_Classification) Descriptor deprecated

func (*TrafficSign_MainSign_Classification) Descriptor() ([]byte, []int)

Deprecated: Use TrafficSign_MainSign_Classification.ProtoReflect.Descriptor instead.

func (*TrafficSign_MainSign_Classification) GetAssignedLaneId

func (x *TrafficSign_MainSign_Classification) GetAssignedLaneId() []*Identifier

func (*TrafficSign_MainSign_Classification) GetCode

func (*TrafficSign_MainSign_Classification) GetCountry

func (*TrafficSign_MainSign_Classification) GetCountryRevision

func (x *TrafficSign_MainSign_Classification) GetCountryRevision() string

func (*TrafficSign_MainSign_Classification) GetDirectionScope

func (*TrafficSign_MainSign_Classification) GetIsOutOfService

func (x *TrafficSign_MainSign_Classification) GetIsOutOfService() bool

func (*TrafficSign_MainSign_Classification) GetLogicalLaneAssignment

func (x *TrafficSign_MainSign_Classification) GetLogicalLaneAssignment() []*LogicalLaneAssignment

func (*TrafficSign_MainSign_Classification) GetSubCode

func (*TrafficSign_MainSign_Classification) GetType

func (*TrafficSign_MainSign_Classification) GetValue

func (*TrafficSign_MainSign_Classification) GetVariability

func (*TrafficSign_MainSign_Classification) GetVerticallyMirrored

func (x *TrafficSign_MainSign_Classification) GetVerticallyMirrored() bool

func (*TrafficSign_MainSign_Classification) ProtoMessage

func (*TrafficSign_MainSign_Classification) ProtoMessage()

func (*TrafficSign_MainSign_Classification) ProtoReflect

func (*TrafficSign_MainSign_Classification) Reset

func (*TrafficSign_MainSign_Classification) String

type TrafficSign_MainSign_Classification_DirectionScope

type TrafficSign_MainSign_Classification_DirectionScope int32

Definition of the direction of the traffic sign's scope. Signs marked with additional arrows. (E.g. No parking sign (StVO 286) to the left.)

const (
	// Direction of the sign's scope is unknown (must not be used in
	// ground truth).
	TrafficSign_MainSign_Classification_DIRECTION_SCOPE_UNKNOWN TrafficSign_MainSign_Classification_DirectionScope = 0
	// Other (unspecified but known) direction of the sign's scope.
	TrafficSign_MainSign_Classification_DIRECTION_SCOPE_OTHER TrafficSign_MainSign_Classification_DirectionScope = 1
	// Direction of the sign's scope is not specified.
	TrafficSign_MainSign_Classification_DIRECTION_SCOPE_NO_DIRECTION TrafficSign_MainSign_Classification_DirectionScope = 2
	// Direction of the sign's scope for its viewer is left.
	TrafficSign_MainSign_Classification_DIRECTION_SCOPE_LEFT TrafficSign_MainSign_Classification_DirectionScope = 3
	// Direction of the sign's scope for its viewer is right.
	TrafficSign_MainSign_Classification_DIRECTION_SCOPE_RIGHT TrafficSign_MainSign_Classification_DirectionScope = 4
	// Direction of the sign's scope for its viewer is to both
	// sides.
	TrafficSign_MainSign_Classification_DIRECTION_SCOPE_LEFT_RIGHT TrafficSign_MainSign_Classification_DirectionScope = 5
)

func (TrafficSign_MainSign_Classification_DirectionScope) Descriptor

func (TrafficSign_MainSign_Classification_DirectionScope) Enum

func (TrafficSign_MainSign_Classification_DirectionScope) EnumDescriptor deprecated

Deprecated: Use TrafficSign_MainSign_Classification_DirectionScope.Descriptor instead.

func (TrafficSign_MainSign_Classification_DirectionScope) Number

func (TrafficSign_MainSign_Classification_DirectionScope) String

func (TrafficSign_MainSign_Classification_DirectionScope) Type

func (*TrafficSign_MainSign_Classification_DirectionScope) UnmarshalJSON deprecated

Deprecated: Do not use.

type TrafficSign_MainSign_Classification_Type

type TrafficSign_MainSign_Classification_Type int32

Definition of traffic sign types. Numbers are given according to German StVO.

For an overview of the German StVO see: \arg https://www.bast.de/DE/Verkehrstechnik/Fachthemen/v1-verkehrszeichen/vz-download.html (Catalog of the Federal Road Research Institute - BASt) \arg https://www.dvr.de/publikationen/downloads/verkehrszeichen.html (Images) \arg https://www.gesetze-im-internet.de/stvo_2013/anlage_1.html (Allgemeine und Besondere Gefahrenzeichen) \arg https://www.gesetze-im-internet.de/stvo_2013/anlage_2.html (Vorschriftzeichen) \arg https://www.gesetze-im-internet.de/stvo_2013/anlage_3.html (Richtzeichen) \arg https://www.gesetze-im-internet.de/stvo_2013/anlage_4.html (Verkehrseinrichtungen) \arg https://traffic-rules.com/

\attention Deprecated: A revision is planned for version 4.0.0 to replace the type enum with a more semantically defined enumeration, with the exact sign specification being relegated to the newly introduced 4-tupel traffic sign catalog specification as used in <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.

const (
	// Type of traffic sign is unknown (must not be used in ground
	// truth).
	TrafficSign_MainSign_Classification_TYPE_UNKNOWN TrafficSign_MainSign_Classification_Type = 0
	// Other (unspecified but known) type of traffic sign.
	TrafficSign_MainSign_Classification_TYPE_OTHER TrafficSign_MainSign_Classification_Type = 1
	// Warning: Danger sign.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 101.png
	// </td>
	// <td>
	// StVO 101
	// </td>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DANGER_SPOT TrafficSign_MainSign_Classification_Type = 2
	// Warning: Zebra crossing.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 101-11.png
	// </td>
	// <td>
	// StVO 101-11
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 101-11.png
	// </td>
	// <td>
	// StVO 101-21
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 350-10.png
	// </td>
	// <td>
	// StVO 350-10
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 350-20.png
	// </td>
	// <td>
	// StVO 350-20
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	//
	// As symbolic road marking \c
	// RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN.
	//
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 293.png
	// </td>
	// <td>
	// StVO 293
	// </td>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ZEBRA_CROSSING TrafficSign_MainSign_Classification_Type = 87
	// Warning: Low-flying aircraft or sudden aircraft noise.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 101-10.png
	// </td>
	// <td>
	// StVO 101-10
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 101-10.png
	// </td>
	// <td>
	// StVO 101-20
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_FLIGHT TrafficSign_MainSign_Classification_Type = 110
	// Warning: Cattles crossing.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 101-12.png
	// </td>
	// </td>
	// <td>
	// StVO 101-12
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 101-12.png
	// </td>
	// <td>
	// StVO 101-22
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CATTLE TrafficSign_MainSign_Classification_Type = 200
	// Warning: Horse riders.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 101-13.png
	// </td>
	// <td>
	// StVO 101-13
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 101-13.png
	// </td>
	// <td>
	// StVO 101-23
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HORSE_RIDERS TrafficSign_MainSign_Classification_Type = 197
	// Warning: Amphibian migration.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 101-14.png
	// </td>
	// <td>
	// StVO 101-14
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 101-14.png
	// </td>
	// <td>
	// StVO 101-24
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_AMPHIBIANS TrafficSign_MainSign_Classification_Type = 188
	// Warning: Falling rocks.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 101-15.png
	// </td>
	// <td>
	// StVO 101-15
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 101-15.png
	// </td>
	// <td>
	// StVO 101-25
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_FALLING_ROCKS TrafficSign_MainSign_Classification_Type = 96
	// Warning: Risk of snow or ice.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 101-51.png
	// </td>
	// <td>
	// StVO 101-51
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_SNOW_OR_ICE TrafficSign_MainSign_Classification_Type = 94
	// Warning: Crushed stones.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 101-52.png
	// </td>
	// <td>
	// StVO 101-52
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_LOOSE_GRAVEL TrafficSign_MainSign_Classification_Type = 97
	// Warning: Waterside.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 101-53.png
	// </td>
	// <td>
	// StVO 101-53
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_WATERSIDE TrafficSign_MainSign_Classification_Type = 102
	// Warning: Not enough clearance.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 101-54.png
	// </td>
	// <td>
	// StVO 101-54
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CLEARANCE TrafficSign_MainSign_Classification_Type = 210
	// Warning: Movable bridge.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 101-55.png
	// </td>
	// <td>
	// StVO 101-55
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_MOVABLE_BRIDGE TrafficSign_MainSign_Classification_Type = 101
	// Warning: "Right before left" rule at the next intersection.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 102.png
	// </td>
	// <td>
	// StVO 102
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_RIGHT_BEFORE_LEFT_NEXT_INTERSECTION TrafficSign_MainSign_Classification_Type = 3
	// Warning: Sign for a left turn.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 103-10.png
	// </td>
	// <td>
	// StVO 103-10
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_TURN_RIGHT
	TrafficSign_MainSign_Classification_TYPE_TURN_LEFT TrafficSign_MainSign_Classification_Type = 4
	// Warning: Sign for a right turn.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 103-20.png
	// </td>
	// <td>
	// StVO 103-20
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_TURN_LEFT
	TrafficSign_MainSign_Classification_TYPE_TURN_RIGHT TrafficSign_MainSign_Classification_Type = 5
	// Warning: Sign for a double turn (first left turn).
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 105-10.png
	// </td>
	// <td>
	// StVO 105-10
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_DOUBLE_TURN_RIGHT
	TrafficSign_MainSign_Classification_TYPE_DOUBLE_TURN_LEFT TrafficSign_MainSign_Classification_Type = 6
	// Warning: Sign for a double turn (first right turn).
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 105-20.png
	// </td>
	// <td>
	// StVO 105-20
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_DOUBLE_TURN_LEFT
	TrafficSign_MainSign_Classification_TYPE_DOUBLE_TURN_RIGHT TrafficSign_MainSign_Classification_Type = 7
	// Warning: Steep hill downwards.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 108-4.png
	// </td>
	// <td>
	// StVO 108
	// </td>
	// <td>
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to indicate slope.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HILL_DOWNWARDS TrafficSign_MainSign_Classification_Type = 8
	// Warning: Steep hill upwards.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 110-4.png
	// </td>
	// <td>
	// StVO 110
	// </td>
	// <td>
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to indicate slope
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HILL_UPWARDS TrafficSign_MainSign_Classification_Type = 9
	// Warning: Uneven road.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 112.png
	// </td>
	// <td>
	// StVO 112
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_UNEVEN_ROAD TrafficSign_MainSign_Classification_Type = 93
	// Warning: Road slippery when wet or dirty.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 114.png
	// </td>
	// <td>
	// StVO 114
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ROAD_SLIPPERY_WET_OR_DIRTY TrafficSign_MainSign_Classification_Type = 95
	// Warning: Side winds.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 117-10.png
	// </td>
	// <td>
	// StVO 117-10
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 117-10.png
	// </td>
	// <td>
	// StVO 117-20
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_SIDE_WINDS TrafficSign_MainSign_Classification_Type = 98
	// Warning: Road narrowing.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 120.png
	// </td>
	// <td>
	// StVO 120
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ROAD_NARROWING TrafficSign_MainSign_Classification_Type = 10
	// Warning: Road narrowing on the right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 121-10.png
	// </td>
	// <td>
	// StVO 121-10
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ROAD_NARROWING_RIGHT TrafficSign_MainSign_Classification_Type = 12
	// Warning: Road narrowing on the left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 121-20.png
	// </td>
	// <td>
	// StVO 121-20
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ROAD_NARROWING_LEFT TrafficSign_MainSign_Classification_Type = 11
	// Warning: Road works sign.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 123.png
	// </td>
	// <td>
	// StVO 123
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ROAD_WORKS TrafficSign_MainSign_Classification_Type = 13
	// Warning: Traffic queues likely.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 124.png
	// </td>
	// <td>
	// StVO 124
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TRAFFIC_QUEUES TrafficSign_MainSign_Classification_Type = 100
	// Warning: Two-way-traffic (after one-way lane).
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 125.png
	// </td>
	// <td>
	// StVO 125
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TWO_WAY_TRAFFIC TrafficSign_MainSign_Classification_Type = 14
	// Warning: Traffic light ahead sign.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 131.png
	// </td>
	// <td>
	// StVO 131
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ATTENTION_TRAFFIC_LIGHT TrafficSign_MainSign_Classification_Type = 15
	// Warning: Pedestrians.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 133-10.png
	// </td>
	// <td>
	// StVO 133-10
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 133-10.png
	// </td>
	// <td>
	// StVO 133-20
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_PEDESTRIANS TrafficSign_MainSign_Classification_Type = 103
	// Warning: Children crossing.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 136-10.png
	// </td>
	// <td>
	// StVO 136-10
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 136-10.png
	// </td>
	// <td>
	// StVO 136-20
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CHILDREN_CROSSING TrafficSign_MainSign_Classification_Type = 106
	// Warning: Pedal cycle route crossing or joining road sign.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 138-10.png
	// </td>
	// <td>
	// StVO 138-10
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 138-10.png
	// </td>
	// <td>
	// StVO 138-20
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CYCLE_ROUTE TrafficSign_MainSign_Classification_Type = 107
	// Warning: Deer crossing.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 142-10.png
	// </td>
	// <td>
	// StVO 142-10
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 142-10.png
	// </td>
	// <td>
	// StVO 142-20
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DEER_CROSSING TrafficSign_MainSign_Classification_Type = 109
	// Warning: Level crossing without barrier or gate.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 151.png
	// </td>
	// <td>
	// StVO 151
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_UNGATED_LEVEL_CROSSING TrafficSign_MainSign_Classification_Type = 144
	// Level crossing marker.
	// (StVO 156 - Countdown marker indicating that level crossing
	// are 2 main signs \c #TYPE_UNGATED_LEVEL_CROSSING and \c
	// #TYPE_LEVEL_CROSSING_MARKER.)
	// <table border="0">
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 157-20.png
	// </td>
	// <td style="transform:scaleX(-1)">
	// \image html 159-20.png
	// </td>
	// <td style="transform:scaleX(-1)">
	// \image html 161-20.png
	// </td>
	// <td>
	// \image html 156-10.png
	// </td>
	// <td>
	// \image html 156-11.png
	// </td>
	// </tr>
	// <tr style="font-weight:bold">
	// <td>
	// StVO 157-10
	// </td>
	// <td>
	// StVO 159-10
	// </td>
	// <td>
	// StVO 161-10
	// </td>
	// <td>
	// (StVO 156-10)
	// </td>
	// <td>
	// (StVO 156-11)
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 157-20.png
	// </td>
	// <td>
	// \image html 159-20.png
	// </td>
	// <td>
	// \image html 161-20.png
	// </td>
	// <td style="transform:scaleX(-1)">
	// \image html 156-10.png
	// </td>
	// <td>
	// \image html 156-21.png
	// </td>
	// </tr>
	// <tr style="font-weight:bold">
	// <td>
	// StVO 157-20
	// </td>
	// <td>
	// StVO 159-20
	// </td>
	// <td>
	// StVO 162-20
	// </td>
	// <td>
	// (StVO 156-20)
	// </td>
	// <td>
	// (StVO 156-21)
	// </td>
	// </tr>
	// </table>
	//
	// Variants (here X is any of 157, 159 or 162):
	// <table border="0">
	// <tr>
	// <td>
	// StVO X-10
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// StVO X-11
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// Additionally, use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to indicate the remaining
	// distance or the number of displayed red stripes. In
	// the second case, set \c TrafficSignValue::value_unit
	// to \c TrafficSignValue::UNIT_NO_UNIT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// StVO X-20
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// StVO X-21
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// Additionally, use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to indicate the remaining
	// distance or the number of displayed red stripes. In
	// the second case, set \c TrafficSignValue::value_unit
	// to \c TrafficSignValue::UNIT_NO_UNIT.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_LEVEL_CROSSING_MARKER TrafficSign_MainSign_Classification_Type = 112
	// St.Andrew's cross, railway traffic has priority.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 201-50.png
	// <td>
	// StVO 201-50
	// <td>
	// </tr>
	// <tr>
	// <td>
	// \image html 201-52.png
	// </td>
	// <td>
	// StVO 201-52
	// </td>
	// <td>
	// with lightning bolt indicating voltage-carrying overhead
	// line.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_RAILWAY_TRAFFIC_PRIORITY TrafficSign_MainSign_Classification_Type = 135
	// Give way.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 205.png
	// </td>
	// <td>
	// StVO 205
	// </td>
	// </tr>
	// </table>
	//
	// As symbolic road marking
	// \c RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN.
	//
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 341.png
	// -->
	// </td>
	// <td>
	// StVO 341
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_GIVE_WAY TrafficSign_MainSign_Classification_Type = 16
	// Stop sign.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 206.png
	// </td>
	// <td>
	// StVO 206
	// </td>
	// </tr>
	// </table>
	//
	// As symbolic road marking
	// \c RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN.
	//
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 294.png
	// </td>
	// <td>
	// StVO 294
	// </td>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_STOP TrafficSign_MainSign_Classification_Type = 17
	// Priority must be given to vehicles from the opposite
	// direction.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 208.png
	// </td>
	// <td>
	// StVO 208
	// </td>
	// </tr>
	// </table>
	//
	// See also: \c
	// #TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION.
	TrafficSign_MainSign_Classification_TYPE_PRIORITY_TO_OPPOSITE_DIRECTION TrafficSign_MainSign_Classification_Type = 18
	// Priority must be given to vehicles from the opposite
	// direction.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:rotate(180deg)">
	// \image html 208.png
	// </td>
	// <td>
	// StVO 208, upside down
	// </td>
	// </tr>
	// </table>
	//
	// See also: \c #TYPE_PRIORITY_TO_OPPOSITE_DIRECTION.
	TrafficSign_MainSign_Classification_TYPE_PRIORITY_TO_OPPOSITE_DIRECTION_UPSIDE_DOWN TrafficSign_MainSign_Classification_Type = 19
	// Prescribed left turn.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 209-10.png
	// </td>
	// <td>
	// StVO 209-10
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_PRESCRIBED_RIGHT_TURN
	//
	// As symbolic road marking \c
	// RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN
	// (StVO 297).
	TrafficSign_MainSign_Classification_TYPE_PRESCRIBED_LEFT_TURN TrafficSign_MainSign_Classification_Type = 20
	// Prescribed right turn.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 209-10.png
	// </td>
	// <td>
	// StVO 209-20
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_PRESCRIBED_LEFT_TURN
	//
	// As symbolic road marking \c
	// RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN
	// (StVO 297).
	TrafficSign_MainSign_Classification_TYPE_PRESCRIBED_RIGHT_TURN TrafficSign_MainSign_Classification_Type = 21
	// Prescribed driving straight.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 209-30.png
	// </td>
	// <td>
	// StVO 209-30
	// </td>
	// </tr>
	// </table>
	//
	// As symbolic road marking \c
	// RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN
	// (StVO 297).
	TrafficSign_MainSign_Classification_TYPE_PRESCRIBED_STRAIGHT TrafficSign_MainSign_Classification_Type = 22
	// Prescribed right way.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 211.png
	// </td>
	// <td>
	// StVO 211
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_PRESCRIBED_LEFT_WAY
	TrafficSign_MainSign_Classification_TYPE_PRESCRIBED_RIGHT_WAY TrafficSign_MainSign_Classification_Type = 24
	// Prescribed left way.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 211-10.png
	// </td>
	// <td>
	// StVO 211-10
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_PRESCRIBED_RIGHT_WAY
	TrafficSign_MainSign_Classification_TYPE_PRESCRIBED_LEFT_WAY TrafficSign_MainSign_Classification_Type = 23
	// Prescribed right turn and driving straight.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 214.png
	// </td>
	// <td>
	// StVO 214
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_PRESCRIBED_LEFT_TURN_AND_STRAIGHT
	//
	// As symbolic road marking \c
	// RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN
	// (StVO 297).
	TrafficSign_MainSign_Classification_TYPE_PRESCRIBED_RIGHT_TURN_AND_STRAIGHT TrafficSign_MainSign_Classification_Type = 26
	// Prescribed left turn and driving straight .
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 214-10.png
	// </td>
	// <td>
	// StVO 214-10
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_PRESCRIBED_RIGHT_TURN_AND_STRAIGHT
	//
	// As symbolic road marking \c
	// RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN
	// (StVO 297).
	TrafficSign_MainSign_Classification_TYPE_PRESCRIBED_LEFT_TURN_AND_STRAIGHT TrafficSign_MainSign_Classification_Type = 25
	// Prescribed left and right turn.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 214-30.png
	// </td>
	// <td>
	// StVO 214-30
	// </td>
	// </tr>
	// </table>
	//
	// As symbolic road marking \c
	// RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN
	// (StVO 297).
	TrafficSign_MainSign_Classification_TYPE_PRESCRIBED_LEFT_TURN_AND_RIGHT_TURN TrafficSign_MainSign_Classification_Type = 27
	// Prescribed left turn, right turn and driving straight
	// (required for logical signs as road marking).
	//
	// As symbolic road marking \c
	// RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN
	// (StVO 297).
	TrafficSign_MainSign_Classification_TYPE_PRESCRIBED_LEFT_TURN_RIGHT_TURN_AND_STRAIGHT TrafficSign_MainSign_Classification_Type = 28
	// Roundabout.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 215.png
	// </td>
	// <td>
	// StVO 215
	// </td>
	// </tr>
	// </table>
	//
	// \note The direction of driving (clockwise, counterclockwise)
	// is country-specific.
	TrafficSign_MainSign_Classification_TYPE_ROUNDABOUT TrafficSign_MainSign_Classification_Type = 29
	// One-way road to the left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 220-10.png
	// </td>
	// <td>
	// StVO 220-10
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_ONEWAY_RIGHT
	TrafficSign_MainSign_Classification_TYPE_ONEWAY_LEFT TrafficSign_MainSign_Classification_Type = 30
	// One-way road to the right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 220-20.png
	// </td>
	// <td>
	// StVO 220-20
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_ONEWAY_LEFT
	TrafficSign_MainSign_Classification_TYPE_ONEWAY_RIGHT TrafficSign_MainSign_Classification_Type = 31
	// Drive past on the left side.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 222-10.png
	// </td>
	// <td>
	// StVO 222-10
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_PASS_RIGHT
	TrafficSign_MainSign_Classification_TYPE_PASS_LEFT TrafficSign_MainSign_Classification_Type = 32
	// Drive past on the right side.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 222.png
	// </td>
	// <td>
	// StVO 222
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_PASS_LEFT
	TrafficSign_MainSign_Classification_TYPE_PASS_RIGHT TrafficSign_MainSign_Classification_Type = 33
	// Drive along side lanes.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 223.1-50.png
	// </td>
	// <td>
	// StVO 223.1-50
	// </td>
	// <td>
	// Drive along side lanes, 2 lanes and side lane.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 223.1-51.png
	// </td>
	// <td>
	// StVO 223.1-51
	// </td>
	// <td>
	// Drive along side lanes, 3 lanes and side lane.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 223.1-52.png
	// </td>
	// <td>
	// StVO 223.1-52
	// </td>
	// <td>
	// Drive along side lanes, 4 lanes and side lane.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_SIDE_LANE_OPEN_FOR_TRAFFIC TrafficSign_MainSign_Classification_Type = 128
	// Do not drive on the side lane.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 223.2-50.png
	// </td>
	// <td>
	// StVO 223.2-50
	// </td>
	// <td>
	// Do not drive on the side lane, 2 lanes and side lane.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 223.2-51.png
	// </td>
	// <td>
	// StVO 223.2-51
	// </td>
	// <td>
	// Do not drive on the side lane, 3 lanes and side lane.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 223.2-52.png
	// </td>
	// <td>
	// StVO 223.2-52
	// </td>
	// <td>
	// Do not drive on the side lane, 4 lanes and side lane.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_SIDE_LANE_CLOSED_FOR_TRAFFIC TrafficSign_MainSign_Classification_Type = 129
	// Side lane closing.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 223.3-50.png
	// </td>
	// <td>
	// StVO 223.3-50
	// </td>
	// <td>
	// Side lane closing, 2 lanes and side lane.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 223.3-51.png
	// </td>
	// <td>
	// StVO 223.3-51
	// </td>
	// <td>
	// Side lane closing, 3 lanes and side lane.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 223.3-52.png
	// </td>
	// <td>
	// StVO 223.3-52
	// </td>
	// <td>
	// Side lane closing, 4 lanes and side lane.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_SIDE_LANE_CLOSING_FOR_TRAFFIC TrafficSign_MainSign_Classification_Type = 130
	// Bus stop or tramway stop.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 224.png
	// </td>
	// <td>
	// StVO 224
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_BUS_STOP TrafficSign_MainSign_Classification_Type = 137
	// Taxi rank.
	// <table border="0">
	// <tr>
	// <td colspan="2">
	// \image html 229.png "StVO 229"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_NO_DIRECTION
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 229-10.png "StVO 229-10"
	// </td>
	// <td>
	// \image html 229-21.png "StVO 229-21"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_LEFT
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 229-11.png "StVO 229-11"
	// </td>
	// <td>
	// \image html 229-20.png "StVO 229-20"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_RIGHT
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 229-30.png "StVO 229-30"
	// </td>
	// <td>
	// \image html 229-31.png "StVO 229-31"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_LEFT_RIGHT
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TAXI_STAND TrafficSign_MainSign_Classification_Type = 138
	// Route for bicycles only.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 237.png
	// </td>
	// <td>
	// StVO 237
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_BICYCLES_ONLY TrafficSign_MainSign_Classification_Type = 145
	// Route for horse riders only.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 238.png
	// </td>
	// <td>
	// StVO 238
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HORSE_RIDERS_ONLY TrafficSign_MainSign_Classification_Type = 146
	// Route for pedestrians only.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 239.png
	// </td>
	// <td>
	// StVO 239
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_PEDESTRIANS_ONLY TrafficSign_MainSign_Classification_Type = 147
	// Unsegregated route for use by bicycles and pedestrians only.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 240.png
	// </td>
	// <td>
	// StVO 240
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_BICYCLES_PEDESTRIANS_SHARED_ONLY TrafficSign_MainSign_Classification_Type = 148
	// Segregated route for use by bicycles and pedestrians only,
	// bicycles on the left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 241-30.png
	// </td>
	// <td>
	// StVO 241-30
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_BICYCLES_PEDESTRIANS_SEPARATED_RIGHT_ONLY
	TrafficSign_MainSign_Classification_TYPE_BICYCLES_PEDESTRIANS_SEPARATED_LEFT_ONLY TrafficSign_MainSign_Classification_Type = 149
	// Segregated route for use by bicycles and pedestrians only,
	// bicycles on the right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 241-31.png
	// </td>
	// <td>
	// StVO 241-31
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_BICYCLES_PEDESTRIANS_SEPARATED_LEFT_ONLY
	TrafficSign_MainSign_Classification_TYPE_BICYCLES_PEDESTRIANS_SEPARATED_RIGHT_ONLY TrafficSign_MainSign_Classification_Type = 150
	// Beginning of the pedestrian zone.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 242.1.png
	// </td>
	// <td>
	// StVO 242.1
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_PEDESTRIAN_ZONE_BEGIN TrafficSign_MainSign_Classification_Type = 151
	// End of the pedestrian zone.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 242.2.png
	// </td>
	// <td>
	// StVO 242.2
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_PEDESTRIAN_ZONE_END TrafficSign_MainSign_Classification_Type = 152
	// Beginning of bicycle road.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 244.1.png
	// </td>
	// <td>
	// StVO 244.1
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_BICYCLE_ROAD_BEGIN TrafficSign_MainSign_Classification_Type = 153
	// End of bicycle road.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 244.2.png
	// </td>
	// <td>
	// StVO 244.2
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_BICYCLE_ROAD_END TrafficSign_MainSign_Classification_Type = 154
	// Lane for buses.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 245.png
	// </td>
	// <td>
	// StVO 245
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_BUS_LANE TrafficSign_MainSign_Classification_Type = 34
	// Bus only lane begin.
	// \n
	// End: \c #TYPE_BUS_LANE_END
	TrafficSign_MainSign_Classification_TYPE_BUS_LANE_BEGIN TrafficSign_MainSign_Classification_Type = 35
	// Bus only lane end.
	// \n
	// Begin: \c #TYPE_BUS_LANE_BEGIN
	TrafficSign_MainSign_Classification_TYPE_BUS_LANE_END TrafficSign_MainSign_Classification_Type = 36
	// Entry prohibited for all types of vehicles.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 250.png
	// </td>
	// <td>
	// StVO 250
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ALL_PROHIBITED TrafficSign_MainSign_Classification_Type = 37
	// Entry prohibited for cars, trucks, and other motorized
	// multi-track vehicles.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 251.png
	// </td>
	// <td>
	// StVO 251
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_MOTORIZED_MULTITRACK_PROHIBITED TrafficSign_MainSign_Classification_Type = 38
	// Entry prohibited for trucks.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 253.png
	// </td>
	// <td>
	// StVO 253
	// </td>
	// </tr>
	// </table>
	//
	// \note In the German StVO, trucks are defined as motorized
	// vehicles that are heavier than 3.5 t.
	TrafficSign_MainSign_Classification_TYPE_TRUCKS_PROHIBITED TrafficSign_MainSign_Classification_Type = 39
	// Entry prohibited for bicycles.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 254.png
	// </td>
	// <td>
	// StVO 254
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_BICYCLES_PROHIBITED TrafficSign_MainSign_Classification_Type = 40
	// Entry prohibited for motorcycles.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 255.png
	// </td>
	// <td>
	// StVO 255
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_MOTORCYCLES_PROHIBITED TrafficSign_MainSign_Classification_Type = 41
	// Entry prohibited for mopeds.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 257-50.png
	// </td>
	// <td>
	// StVO 257-50
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_MOPEDS_PROHIBITED TrafficSign_MainSign_Classification_Type = 155
	// Entry prohibited for horse riders.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 257-51.png
	// </td>
	// <td>
	// StVO 257-51
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HORSE_RIDERS_PROHIBITED TrafficSign_MainSign_Classification_Type = 156
	// Entry prohibited for horse carriages.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 257-52.png
	// </td>
	// <td>
	// StVO 257-52
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HORSE_CARRIAGES_PROHIBITED TrafficSign_MainSign_Classification_Type = 157
	// Entry prohibited for cattles.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 257-53.png
	// </td>
	// <td>
	// StVO 257-53
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CATTLE_PROHIBITED TrafficSign_MainSign_Classification_Type = 158
	// Entry prohibited for buses.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 257-54.png
	// </td>
	// <td>
	// StVO 257-54
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_BUSES_PROHIBITED TrafficSign_MainSign_Classification_Type = 159
	// Entry prohibited for passenger cars.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 257-55.png
	// </td>
	// <td>
	// StVO 257-55
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CARS_PROHIBITED TrafficSign_MainSign_Classification_Type = 160
	// Entry prohibited for passenger cars with trailers.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 257-56.png
	// </td>
	// <td>
	// StVO 257-56
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CARS_TRAILERS_PROHIBITED TrafficSign_MainSign_Classification_Type = 161
	// Entry prohibited for trucks with trailers.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 257-57.png
	// </td>
	// <td>
	// StVO 257-57
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TRUCKS_TRAILERS_PROHIBITED TrafficSign_MainSign_Classification_Type = 162
	// Entry prohibited for tractors.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 257-58.png
	// </td>
	// <td>
	// StVO 257-58
	// </td>
	// </tr>
	// </table>
	//
	// \note In the German StVO, tractors are defined as motorized
	// vehicles that are not allowed to, or cannot, drive faster
	// than 25 km/h.
	TrafficSign_MainSign_Classification_TYPE_TRACTORS_PROHIBITED TrafficSign_MainSign_Classification_Type = 163
	// Entry prohibited for pedestrians.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 259.png
	// </td>
	// <td>
	// StVO 259
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_PEDESTRIANS_PROHIBITED TrafficSign_MainSign_Classification_Type = 42
	// Entry prohibited for all motor vehicles.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 260.png
	// </td>
	// <td>
	// StVO 260
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_MOTOR_VEHICLES_PROHIBITED TrafficSign_MainSign_Classification_Type = 43
	// Entry prohibited for marked vehicles transporting hazardous
	// goods.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 261.png
	// </td>
	// <td>
	// StVO 261
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HAZARDOUS_GOODS_VEHICLES_PROHIBITED TrafficSign_MainSign_Classification_Type = 164
	// Weight limit (entry prohibited for vehicles over maximum
	// gross weight shown).
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 262.png
	// </td>
	// <td>
	// StVO 262
	// </td>
	// </tr>
	// </table>
	//
	// Use
	// \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the limit.
	TrafficSign_MainSign_Classification_TYPE_OVER_WEIGHT_VEHICLES_PROHIBITED TrafficSign_MainSign_Classification_Type = 165
	// Axle weight limit (entry prohibited for vehicles over weight
	// on axle shown).
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 263.png
	// </td>
	// <td>
	// StVO 263
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the limit.
	TrafficSign_MainSign_Classification_TYPE_VEHICLES_AXLE_OVER_WEIGHT_PROHIBITED TrafficSign_MainSign_Classification_Type = 166
	// Horizontal clearance (entry prohibited for vehicles wider
	// than the width shown).
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html "264-2,3.png"
	// </td>
	// <td>
	// StVO 264
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the limit.
	TrafficSign_MainSign_Classification_TYPE_VEHICLES_EXCESS_WIDTH_PROHIBITED TrafficSign_MainSign_Classification_Type = 167
	// Vertical clearance (entry prohibited for vehicles higher than
	// the height shown).
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 265.png
	// </td>
	// <td>
	// StVO 265
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the limit.
	TrafficSign_MainSign_Classification_TYPE_VEHICLES_EXCESS_HEIGHT_PROHIBITED TrafficSign_MainSign_Classification_Type = 168
	// Length restriction (entry prohibited for vehicles or
	// combinations of vehicles longer than the length shown).
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 266.png
	// </td>
	// <td>
	// StVO 266
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the limit.
	TrafficSign_MainSign_Classification_TYPE_VEHICLES_EXCESS_LENGTH_PROHIBITED TrafficSign_MainSign_Classification_Type = 169
	// Entry not allowed. One-way road.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 267.png
	// </td>
	// <td>
	// StVO 267
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DO_NOT_ENTER TrafficSign_MainSign_Classification_Type = 44
	// Snow chains required.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 268.png
	// </td>
	// <td>
	// StVO 268
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_SNOW_CHAINS_REQUIRED TrafficSign_MainSign_Classification_Type = 170
	// Entry prohibited for vehicles carrying water pollutants.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 269.png
	// </td>
	// <td>
	// StVO 269
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_WATER_POLLUTANT_VEHICLES_PROHIBITED TrafficSign_MainSign_Classification_Type = 171
	// Start of area without traffic to reduce harmful air
	// pollution.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 270.1.png
	// </td>
	// <td>
	// StVO 270.1
	// </td>
	// </tr>
	// </table>
	//
	// End: \c #TYPE_ENVIRONMENTAL_ZONE_END
	TrafficSign_MainSign_Classification_TYPE_ENVIRONMENTAL_ZONE_BEGIN TrafficSign_MainSign_Classification_Type = 45
	// End of area without traffic to reduce harmful air pollution.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 270.2.png
	// </td>
	// <td>
	// StVO 270.2
	// </td>
	// </tr>
	// </table>
	//
	// Begin: \c #TYPE_ENVIRONMENTAL_ZONE_BEGIN
	TrafficSign_MainSign_Classification_TYPE_ENVIRONMENTAL_ZONE_END TrafficSign_MainSign_Classification_Type = 46
	// No U turn left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 272.png
	// </td>
	// <td>
	// StVO 272
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_NO_U_TURN_RIGHT
	TrafficSign_MainSign_Classification_TYPE_NO_U_TURN_LEFT TrafficSign_MainSign_Classification_Type = 47
	// No U turn right.
	// <!--
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html abc.png
	// </td>
	// <td>
	// </td>
	// </tr>
	// </table>
	// -->
	//
	// \note This type is to be applied in left-driving countries.
	//
	// Left: \c #TYPE_NO_U_TURN_LEFT
	TrafficSign_MainSign_Classification_TYPE_NO_U_TURN_RIGHT TrafficSign_MainSign_Classification_Type = 48
	// Prescribed U turn left.
	// \n
	// Right: \c #TYPE_PRESCRIBED_U_TURN_RIGHT
	TrafficSign_MainSign_Classification_TYPE_PRESCRIBED_U_TURN_LEFT TrafficSign_MainSign_Classification_Type = 49
	// Prescribed U turn right.
	// \n
	// \note This type is to be applied in left-driving countries.
	//
	// Left: \c #TYPE_PRESCRIBED_U_TURN_LEFT
	TrafficSign_MainSign_Classification_TYPE_PRESCRIBED_U_TURN_RIGHT TrafficSign_MainSign_Classification_Type = 50
	// Minimum safety distance for trucks.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 273.png
	// </td>
	// <td>
	// StVO 273
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the limit.
	TrafficSign_MainSign_Classification_TYPE_MINIMUM_DISTANCE_FOR_TRUCKS TrafficSign_MainSign_Classification_Type = 51
	// Start of speed limit.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 274-30.png
	// </td>
	// <td>
	// StVO 274
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the limit.
	//
	// End: \c #TYPE_SPEED_LIMIT_END
	TrafficSign_MainSign_Classification_TYPE_SPEED_LIMIT_BEGIN TrafficSign_MainSign_Classification_Type = 52
	// Start of zone with speed limit.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 274.1.png
	// </td>
	// <td>
	// StVO 274.1
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the limit.
	//
	// End: \c #TYPE_SPEED_LIMIT_ZONE_END
	TrafficSign_MainSign_Classification_TYPE_SPEED_LIMIT_ZONE_BEGIN TrafficSign_MainSign_Classification_Type = 53
	// End of zone with speed limit.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 274.2.png
	// </td>
	// <td>
	// StVO 274.2
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the limit.
	//
	// Begin: \c #TYPE_SPEED_LIMIT_ZONE_BEGIN
	TrafficSign_MainSign_Classification_TYPE_SPEED_LIMIT_ZONE_END TrafficSign_MainSign_Classification_Type = 54
	// Start of mandatory minimum speed.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 275.png
	// </td>
	// <td>
	// StVO 275
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the speed.
	//
	// End: \c #TYPE_MINIMUM_SPEED_END
	TrafficSign_MainSign_Classification_TYPE_MINIMUM_SPEED_BEGIN TrafficSign_MainSign_Classification_Type = 55
	// Start of overtaking ban.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 276.png
	// </td>
	// <td>
	// StVO 276
	// </td>
	// </tr>
	// </table>
	//
	// End: \c #TYPE_OVERTAKING_BAN_END
	TrafficSign_MainSign_Classification_TYPE_OVERTAKING_BAN_BEGIN TrafficSign_MainSign_Classification_Type = 56
	// Start of overtaking ban for trucks.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 277.png
	// </td>
	// <td>
	// StVO 277
	// </td>
	// </tr>
	// </table>
	//
	// End: \c #TYPE_OVERTAKING_BAN_FOR_TRUCKS_END
	TrafficSign_MainSign_Classification_TYPE_OVERTAKING_BAN_FOR_TRUCKS_BEGIN TrafficSign_MainSign_Classification_Type = 57
	// End of speed limit.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 278-60.png
	// </td>
	// <td>
	// StVO 278
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to refer to the limit.
	//
	// Begin: \c #TYPE_SPEED_LIMIT_BEGIN
	TrafficSign_MainSign_Classification_TYPE_SPEED_LIMIT_END TrafficSign_MainSign_Classification_Type = 58
	// End of mandatory minimum speed.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 279.png
	// </td>
	// <td>
	// StVO 279
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to refer to the limit.
	//
	// Begin: \c #TYPE_MINIMUM_SPEED_BEGIN
	TrafficSign_MainSign_Classification_TYPE_MINIMUM_SPEED_END TrafficSign_MainSign_Classification_Type = 59
	// End of overtaking ban.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 280.png
	// </td>
	// <td>
	// StVO 280
	// </td>
	// </tr>
	// </table>
	//
	// Begin: \c #TYPE_OVERTAKING_BAN_BEGIN
	TrafficSign_MainSign_Classification_TYPE_OVERTAKING_BAN_END TrafficSign_MainSign_Classification_Type = 60
	// End of overtaking ban for trucks.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 281.png
	// </td>
	// <td>
	// StVO 281
	// </td>
	// </tr>
	// </table>
	//
	// Begin: \c #TYPE_OVERTAKING_BAN_FOR_TRUCKS_BEGIN
	TrafficSign_MainSign_Classification_TYPE_OVERTAKING_BAN_FOR_TRUCKS_END TrafficSign_MainSign_Classification_Type = 61
	// End of all speed and overtaking restrictions.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 282.png
	// </td>
	// <td>
	// StVO 282
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ALL_RESTRICTIONS_END TrafficSign_MainSign_Classification_Type = 62
	// No stopping sign.
	// <table border="0">
	// <tr>
	// <td colspan="2">
	// \image html 283.png "StVO 283"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_NO_DIRECTION
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 283-10.png "StVO 283-10"
	// </td>
	// <td>
	// \image html 283-11.png "StVO 283-11"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_LEFT
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 283-20.png "StVO 283-20"
	// </td>
	// <td>
	// \image html 283-21.png "StVO 283-21"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_RIGHT
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 283-30.png "StVO 283-30"
	// </td>
	// <td>
	// \image html 283-31.png "StVO 283-31"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_LEFT_RIGHT
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_NO_STOPPING TrafficSign_MainSign_Classification_Type = 63
	// No parking sign.
	// <table border="0">
	// <tr>
	// <td colspan="2">
	// \image html 286.png "StVO 286"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_NO_DIRECTION
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 286-10.png "StVO 286-10"
	// </td>
	// <td>
	// \image html 286-11.png "StVO 286-11"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_LEFT
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 286-20.png "StVO 286-20"
	// </td>
	// <td>
	// \image html 286-21.png "StVO 286-21"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_RIGHT
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 286-30.png "StVO 286-30"
	// </td>
	// <td>
	// \image html 286-31.png "StVO 286-31"
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_LEFT_RIGHT
	// </td>
	// </tr>
	// </table>
	//
	// As symbolic road marking \c
	// RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN.
	//
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 299.png
	// </td>
	// <td>
	// StVO 299
	// </td>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_NO_PARKING TrafficSign_MainSign_Classification_Type = 64
	// Begin of no parking zone.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 290.1.png
	// </td>
	// <td>
	// StVO 290.1
	// </td>
	// </tr>
	// </table>
	//
	// End: \c #TYPE_NO_PARKING_ZONE_END
	TrafficSign_MainSign_Classification_TYPE_NO_PARKING_ZONE_BEGIN TrafficSign_MainSign_Classification_Type = 65
	// End of no parking zone.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 290.2.png
	// </td>
	// <td>
	// StVO 290.2
	// </td>
	// </tr>
	// </table>
	//
	// Begin: \c #TYPE_NO_PARKING_ZONE_BEGIN
	TrafficSign_MainSign_Classification_TYPE_NO_PARKING_ZONE_END TrafficSign_MainSign_Classification_Type = 66
	// Right of way at the next intersection.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 301.png
	// </td>
	// <td>
	// StVO 301
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_RIGHT_OF_WAY_NEXT_INTERSECTION TrafficSign_MainSign_Classification_Type = 67
	// Begin of priority road with right of way.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 306.png
	// </td>
	// <td>
	// StVO 306
	// </td>
	// </tr>
	// </table>
	//
	// End: \c #TYPE_RIGHT_OF_WAY_END
	TrafficSign_MainSign_Classification_TYPE_RIGHT_OF_WAY_BEGIN TrafficSign_MainSign_Classification_Type = 68
	// End of priority road with right of way.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 307.png
	// </td>
	// <td>
	// StVO 307
	// </td>
	// </tr>
	// </table>
	//
	// Begin: \c #TYPE_RIGHT_OF_WAY_BEGIN
	TrafficSign_MainSign_Classification_TYPE_RIGHT_OF_WAY_END TrafficSign_MainSign_Classification_Type = 69
	// Traffic has priority over vehicles from the opposite
	// direction.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 308.png
	// </td>
	// <td>
	// StVO 308
	// </td>
	// </tr>
	// </table>
	//
	// See also: \c #TYPE_PRIORITY_TO_OPPOSITE_DIRECTION
	TrafficSign_MainSign_Classification_TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION TrafficSign_MainSign_Classification_Type = 70
	// Traffic has priority over vehicles from the opposite
	// direction.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:rotate(180deg)">
	// \image html 308.png
	// </td>
	// <td>
	// StVO 308, upside down
	// </td>
	// </tr>
	// </table>
	//
	// See also: \c #TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION
	TrafficSign_MainSign_Classification_TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION_UPSIDE_DOWN TrafficSign_MainSign_Classification_Type = 71
	// Town entrance.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 310.png
	// </td>
	// <td>
	// StVO 310
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the town's name and
	// district, e.g. "Wilster, Kreis Steinburg".
	//
	// End: \c #TYPE_TOWN_END
	TrafficSign_MainSign_Classification_TYPE_TOWN_BEGIN TrafficSign_MainSign_Classification_Type = 72
	// Town exit.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 311.png
	// </td>
	// <td>
	// StVO 311
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the town's name and
	// district, e.g. "Wilster".
	//
	// Begin: \c #TYPE_TOWN_BEGIN
	TrafficSign_MainSign_Classification_TYPE_TOWN_END TrafficSign_MainSign_Classification_Type = 73
	// Parking space.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 314.png
	// </td>
	// <td>
	// StVO 314
	// </td>
	// <td>
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_NO_DIRECTION.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 314-50.png
	// </td>
	// <td>
	// StVO 314-50
	// </td>
	// <td>
	// Parking house
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_NO_DIRECTION.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 316.png
	// </td>
	// <td>
	// StVO 316
	// </td>
	// <td>
	// Park and ride
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_NO_DIRECTION. Set \c
	// TrafficSignValue::text to "P+R".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// </td>
	// <td>
	// </td>
	// <td>
	// Park and move
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_NO_DIRECTION. Set \c
	// TrafficSignValue::text to "P+M".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 317.png
	// </td>
	// <td>
	// StVO 317
	// </td>
	// <td>
	// Hiker's parking
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_NO_DIRECTION.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 318.png
	// </td>
	// <td>
	// StVO 318
	// </td>
	// <td>
	// Parking with parking disk
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_NO_DIRECTION.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 314-10.png
	// </td>
	// <td>
	// StVO 314-10
	// </td>
	// <td>
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_LEFT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 314-20.png
	// </td>
	// <td>
	// StVO 314-20
	// </td>
	// <td>
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_RIGHT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 314-30.png
	// </td>
	// <td>
	// StVO 314-30
	// </td>
	// <td>
	// </td>
	// <td>
	// Set \c Classification::direction_scope to \c
	// #DIRECTION_SCOPE_LEFT_RIGHT.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CAR_PARKING TrafficSign_MainSign_Classification_Type = 74
	// Begin of parking zone.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 314.1.png
	// </td>
	// <td>
	// StVO 314.1
	// </td>
	// </tr>
	// </table>
	//
	// End: \c #TYPE_CAR_PARKING_ZONE_END
	TrafficSign_MainSign_Classification_TYPE_CAR_PARKING_ZONE_BEGIN TrafficSign_MainSign_Classification_Type = 75
	// End of parking zone.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 314.2.png
	// </td>
	// <td>
	// StVO 314.2
	// </td>
	// </tr>
	// </table>
	//
	// Begin: \c #TYPE_CAR_PARKING_ZONE_BEGIN
	TrafficSign_MainSign_Classification_TYPE_CAR_PARKING_ZONE_END TrafficSign_MainSign_Classification_Type = 76
	// Parking on sidewalks half in the direction of travel left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 315-50.png
	// -->
	// </td>
	// <td>
	// StVO 315-50
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_SIDEWALK_HALF_PARKING_RIGHT
	TrafficSign_MainSign_Classification_TYPE_SIDEWALK_HALF_PARKING_LEFT TrafficSign_MainSign_Classification_Type = 172
	// Parking on sidewalks half in the direction of travel right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 315-55.png
	// </td>
	// <td>
	// StVO 315-55
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_SIDEWALK_HALF_PARKING_LEFT
	TrafficSign_MainSign_Classification_TYPE_SIDEWALK_HALF_PARKING_RIGHT TrafficSign_MainSign_Classification_Type = 173
	// Parking on sidewalks completely in the direction of
	// travel left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 315-60.png
	// -->
	// </td>
	// <td>
	// StVO 315-60
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_SIDEWALK_PARKING_RIGHT
	TrafficSign_MainSign_Classification_TYPE_SIDEWALK_PARKING_LEFT TrafficSign_MainSign_Classification_Type = 174
	// Parking on sidewalks completely in direction of travel right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 315-65.png
	// -->
	// </td>
	// <td>
	// StVO 315-65
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_SIDEWALK_PARKING_LEFT
	TrafficSign_MainSign_Classification_TYPE_SIDEWALK_PARKING_RIGHT TrafficSign_MainSign_Classification_Type = 175
	// Parking on sidewalks half, perpendicular, in the direction of
	// travel left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 315-70.png
	// -->
	// </td>
	// <td>
	// StVO 315-70
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_SIDEWALK_PERPENDICULAR_HALF_PARKING_RIGHT
	TrafficSign_MainSign_Classification_TYPE_SIDEWALK_PERPENDICULAR_HALF_PARKING_LEFT TrafficSign_MainSign_Classification_Type = 176
	// Parking on sidewalks half, perpendicular, in the direction of
	// travel right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 315-75.png
	// -->
	// </td>
	// <td>
	// StVO 315-75
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_SIDEWALK_PERPENDICULAR_HALF_PARKING_LEFT
	TrafficSign_MainSign_Classification_TYPE_SIDEWALK_PERPENDICULAR_HALF_PARKING_RIGHT TrafficSign_MainSign_Classification_Type = 177
	// Parking on sidewalks, perpendicular, in the direction of
	// travel left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 315-80.png
	// -->
	// </td>
	// <td>
	// StVO 315-80
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_SIDEWALK_PERPENDICULAR_PARKING_RIGHT
	TrafficSign_MainSign_Classification_TYPE_SIDEWALK_PERPENDICULAR_PARKING_LEFT TrafficSign_MainSign_Classification_Type = 178
	// Parking on sidewalks, perpendicular, in the direction of
	// travel right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 315-85.png
	// -->
	// </td>
	// <td>
	// StVO 315-85
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_SIDEWALK_PERPENDICULAR_PARKING_LEFT
	TrafficSign_MainSign_Classification_TYPE_SIDEWALK_PERPENDICULAR_PARKING_RIGHT TrafficSign_MainSign_Classification_Type = 179
	// Start of area with calmed / reduced traffic / home zone.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 325.1.png
	// </td>
	// <td>
	// StVO 325.1
	// </td>
	// </tr>
	// </table>
	//
	// End: \c #TYPE_LIVING_STREET_END
	TrafficSign_MainSign_Classification_TYPE_LIVING_STREET_BEGIN TrafficSign_MainSign_Classification_Type = 77
	// End of area with calmed / reduced traffic / home zone.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 325.2.png
	// </td>
	// <td>
	// StVO 325.2
	// </td>
	// </tr>
	// </table>
	//
	// Begin: \c #TYPE_LIVING_STREET_BEGIN
	TrafficSign_MainSign_Classification_TYPE_LIVING_STREET_END TrafficSign_MainSign_Classification_Type = 78
	// Tunnel ahead.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 327.png
	// </td>
	// <td>
	// StVO 327
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TUNNEL TrafficSign_MainSign_Classification_Type = 79
	// Emergency stopping place left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 328.png
	// </td>
	// <td>
	// </td>
	// </tr>
	// </table>
	//
	// \note This type is to be applied in left-driving countries.
	//
	// Right: \c #TYPE_EMERGENCY_STOPPING_RIGHT
	TrafficSign_MainSign_Classification_TYPE_EMERGENCY_STOPPING_LEFT TrafficSign_MainSign_Classification_Type = 80
	// Emergency stopping place right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 328.png
	// </td>
	// <td>
	// StVO 328
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_EMERGENCY_STOPPING_LEFT
	TrafficSign_MainSign_Classification_TYPE_EMERGENCY_STOPPING_RIGHT TrafficSign_MainSign_Classification_Type = 81
	// Begin of highway.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 330.1.png
	// </td>
	// <td>
	// StVO 330.1
	// </td>
	// </tr>
	// </table>
	//
	// End: \c #TYPE_HIGHWAY_END
	TrafficSign_MainSign_Classification_TYPE_HIGHWAY_BEGIN TrafficSign_MainSign_Classification_Type = 82
	// End of highway.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 330.2.png
	// </td>
	// <td>
	// StVO 330.2
	// </td>
	// </tr>
	// </table>
	//
	// Begin: \c #TYPE_HIGHWAY_BEGIN
	TrafficSign_MainSign_Classification_TYPE_HIGHWAY_END TrafficSign_MainSign_Classification_Type = 83
	// Begin of expressway for motor vehicles.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 331.1.png
	// </td>
	// <td>
	// StVO 331.1
	// </td>
	// </tr>
	// </table>
	//
	// End: \c #TYPE_EXPRESSWAY_END
	TrafficSign_MainSign_Classification_TYPE_EXPRESSWAY_BEGIN TrafficSign_MainSign_Classification_Type = 84
	// End of expressways for motor vehicles.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 331.2.png
	// </td>
	// <td>
	// StVO 331.2
	// </td>
	// </tr>
	// </table>
	//
	// Begin: \c #TYPE_EXPRESSWAY_BEGIN
	TrafficSign_MainSign_Classification_TYPE_EXPRESSWAY_END TrafficSign_MainSign_Classification_Type = 85
	// Highway exit.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 332.png
	// </td>
	// <td>
	// StVO 332
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the destination
	// indicated in the sign, e.g. "Mainz Wiesbaden".
	TrafficSign_MainSign_Classification_TYPE_NAMED_HIGHWAY_EXIT TrafficSign_MainSign_Classification_Type = 183
	// Expressway exit.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 332.1.png
	// </td>
	// <td>
	// StVO 332.1
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the destination
	// indicated in the sign, e.g. "Mainz Wiesbaden".
	TrafficSign_MainSign_Classification_TYPE_NAMED_EXPRESSWAY_EXIT TrafficSign_MainSign_Classification_Type = 184
	// Exit sign on other roads.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 332.1-20.png
	// </td>
	// <td>
	// StVO 332.1-20
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the destination
	// indicated in the sign, e.g. "Duisburg Endeninch".
	TrafficSign_MainSign_Classification_TYPE_NAMED_ROAD_EXIT TrafficSign_MainSign_Classification_Type = 185
	// Highway exit sign.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 333.png
	// </td>
	// <td>
	// StVO 333
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HIGHWAY_EXIT TrafficSign_MainSign_Classification_Type = 86
	// Exit from expressway (arrow sign).
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 333.1.png
	// </td>
	// <td>
	// StVO 333.1
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_EXPRESSWAY_EXIT TrafficSign_MainSign_Classification_Type = 186
	// One-way street.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 353.png
	// -->
	// </td>
	// <td>
	// StVO 353  - Valid only until October 2022.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ONEWAY_STREET TrafficSign_MainSign_Classification_Type = 187
	// Crossing guards.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 356.png
	// </td>
	// <td>
	// StVO 356
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CROSSING_GUARDS TrafficSign_MainSign_Classification_Type = 189
	// Dead-end street.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 357.png
	// </td>
	// <td>
	// StVO 357
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DEADEND TrafficSign_MainSign_Classification_Type = 190
	// Dead-end street excluding ...
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 357-50.png
	// </td>
	// <td>
	// StVO 357-50
	// </td>
	// <td>
	// excluding pedestrians and bicycles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 357-51.png
	// </td>
	// <td>
	// StVO 357-51
	// </td>
	// <td>
	// excluding pedestrians.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 357-52.png
	// </td>
	// <td>
	// StVO 357-52
	// </td>
	// <td>
	// excluding bicycles.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DEADEND_EXCLUDING_DESIGNATED_ACTORS TrafficSign_MainSign_Classification_Type = 191
	// First aid station.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 358.png
	// </td>
	// <td>
	// StVO 358
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_FIRST_AID_STATION TrafficSign_MainSign_Classification_Type = 194
	// Police station.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 363.png
	// </td>
	// <td>
	// StVO 363
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_POLICE_STATION TrafficSign_MainSign_Classification_Type = 195
	// Telephone service.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-50.png
	// </td>
	// <td>
	// StVO 365-50
	// </td>
	// <td>
	// Telephone service
	// </td>
	// <td>
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 365-51.png
	// </td>
	// <td>
	// StVO 365-51
	// </td>
	// <td>
	// Emergency telephone service
	// </td>
	// <td>
	// Use \c TrafficSignValue::text for "SOS".
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TELEPHONE TrafficSign_MainSign_Classification_Type = 196
	// Filling station.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-52.png
	// </td>
	// <td>
	// StVO 365-52
	// </td>
	// <td>
	// Filling station.
	// </td>
	// <td>
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 365-53.png
	// </td>
	// <td>
	// StVO 365-53
	// </td>
	// <td>
	// LPG filling station.
	// </td>
	// <td>
	// Use \c TrafficSignValue::text for "LPG".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 365-54.png
	// </td>
	// <td>
	// StVO 365-54
	// </td>
	// <td>
	// CNG filling station.
	// </td>
	// <td>
	// Use \c TrafficSignValue::text for "CNG".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 365-65.png
	// </td>
	// <td>
	// StVO 365-65
	// </td>
	// <td>
	// Charging station for electric vehicles.
	// </td>
	// <td>
	// Use \c TrafficSignValue::text for "E".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 365-66.png
	// </td>
	// <td>
	// StVO 365-66
	// </td>
	// <td>
	// H2 filling station.
	// </td>
	// <td>
	// Use \c TrafficSignValue::text for "H2".
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_FILLING_STATION TrafficSign_MainSign_Classification_Type = 198
	// Highway hotel.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-55.png
	// </td>
	// <td>
	// StVO 365-55
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HOTEL TrafficSign_MainSign_Classification_Type = 201
	// Highway inn.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-56.png
	// </td>
	// <td>
	// StVO 365-56
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_INN TrafficSign_MainSign_Classification_Type = 202
	// Highway kiosk.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-57.png
	// </td>
	// <td>
	// StVO 365-57
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_KIOSK TrafficSign_MainSign_Classification_Type = 203
	// Toilets.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-58.png
	// </td>
	// <td>
	// StVO 365-58
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TOILET TrafficSign_MainSign_Classification_Type = 204
	// Highway chapel.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-59.png
	// </td>
	// <td>
	// StVO 365-59
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CHAPEL TrafficSign_MainSign_Classification_Type = 205
	// Tourist information.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-61.png
	// </td>
	// <td>
	// StVO 365-61
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TOURIST_INFO TrafficSign_MainSign_Classification_Type = 206
	// Roadside assistance.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-62.png
	// </td>
	// <td>
	// StVO 365-62
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_REPAIR_SERVICE TrafficSign_MainSign_Classification_Type = 207
	// Underpass for pedestrians.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-63.png
	// </td>
	// <td>
	// StVO 365-63
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_PEDESTRIAN_UNDERPASS TrafficSign_MainSign_Classification_Type = 208
	// Pedestrian bridge.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-64.png
	// </td>
	// <td>
	// StVO 365-64
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_PEDESTRIAN_BRIDGE TrafficSign_MainSign_Classification_Type = 209
	// Camper place.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-67.png
	// </td>
	// <td>
	// StVO 365-67
	// </td>
	// </tr>
	// </table>
	// Camper and caravan place
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 365-68.png
	// </td>
	// <td>
	// StVO 365-68
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CAMPER_PLACE TrafficSign_MainSign_Classification_Type = 213
	// Advisory speed limit beginning.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 380.png
	// -->
	// </td>
	// <td>
	// StVO 380 - Valid only until October 2022.
	// </td>
	// </tr>
	// </table>
	//
	// \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit.
	TrafficSign_MainSign_Classification_TYPE_ADVISORY_SPEED_LIMIT_BEGIN TrafficSign_MainSign_Classification_Type = 214
	// Advisory speed limit end.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 381.png
	// -->
	// </td>
	// <td>
	// StVO 381 - Valid only until October 2022
	// </td>
	// </tr>
	// </table>
	//
	// \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit.
	TrafficSign_MainSign_Classification_TYPE_ADVISORY_SPEED_LIMIT_END TrafficSign_MainSign_Classification_Type = 215
	// Road passes through the town but not its city center.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 385.png
	// </td>
	// <td>
	// StVO 385
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the town indicated in
	// the sign.
	TrafficSign_MainSign_Classification_TYPE_PLACE_NAME TrafficSign_MainSign_Classification_Type = 216
	// Tourist attraction.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 386.1.png
	// </td>
	// <td>
	// StVO 386.1
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the attraction
	// indicated in the sign.
	TrafficSign_MainSign_Classification_TYPE_TOURIST_ATTRACTION TrafficSign_MainSign_Classification_Type = 217
	// Tourist route.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 386.2.png
	// </td>
	// <td>
	// StVO 386.2
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the route indicated
	// in the sign.
	TrafficSign_MainSign_Classification_TYPE_TOURIST_ROUTE TrafficSign_MainSign_Classification_Type = 218
	// Geographical area containing several tourist attractions.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 386.3.png
	// </td>
	// <td>
	// StVO 386.3
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the area indicated in
	// the sign.
	TrafficSign_MainSign_Classification_TYPE_TOURIST_AREA TrafficSign_MainSign_Classification_Type = 219
	// Shoulder unsafe for multi-track motor vehicles.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 388.png
	// -->
	// </td>
	// <td>
	// StVO 388 - Valid only until October 2022
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_SHOULDER_NOT_PASSABLE_MOTOR_VEHICLES TrafficSign_MainSign_Classification_Type = 220
	// Shoulder unsafe for vehicles with a permitted gross weight
	// over 3.5 t and for tractors.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 389.png
	// -->
	// </td>
	// <td>
	// StVO 389 - Valid only until October 2022
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_SHOULDER_UNSAFE_TRUCKS_TRACTORS TrafficSign_MainSign_Classification_Type = 221
	// Toll highway beginning.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 390.png
	// </td>
	// <td>
	// StVO 390
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TOLL_BEGIN TrafficSign_MainSign_Classification_Type = 222
	// Toll highway end.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 390.2.png
	// </td>
	// <td>
	// StVO 390.2
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TOLL_END TrafficSign_MainSign_Classification_Type = 223
	// Toll road.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 391.png
	// </td>
	// <td>
	// StVO 391
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TOLL_ROAD TrafficSign_MainSign_Classification_Type = 224
	// Customs post.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 392.png
	// -->
	// </td>
	// <td>
	// StVO 392
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CUSTOMS TrafficSign_MainSign_Classification_Type = 225
	// Information sign posted at international borders.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 393.png
	// </td>
	// <td>
	// StVO 393
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_INTERNATIONAL_BORDER_INFO TrafficSign_MainSign_Classification_Type = 226
	// Red band on lamp posts indicate that streetlight does not
	// stay on all night.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 394.png "StVO 394"
	// <td>
	// \image html 394-50.png "StVO 394-50"
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_STREETLIGHT_RED_BAND TrafficSign_MainSign_Classification_Type = 227
	// Federal Highway route number.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 401.png
	// </td>
	// <td>
	// StVO 401
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_FEDERAL_HIGHWAY_ROUTE_NUMBER TrafficSign_MainSign_Classification_Type = 228
	// Highway route number.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 405.png
	// </td>
	// <td>
	// StVO 405
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the route number
	// indicated in the sign.
	TrafficSign_MainSign_Classification_TYPE_HIGHWAY_ROUTE_NUMBER TrafficSign_MainSign_Classification_Type = 229
	// Highway interchange number (exits, three and four-way
	// interchanges).
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 406-50.png "StVO 406-50"
	// <td>
	// \image html 406-51.png "StVO 406-51"
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the route number
	// indicated in the sign.
	TrafficSign_MainSign_Classification_TYPE_HIGHWAY_INTERCHANGE_NUMBER TrafficSign_MainSign_Classification_Type = 230
	// European route number.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 410.png
	// </td>
	// <td>
	// StVO 410
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the route number
	// indicated in the sign.
	TrafficSign_MainSign_Classification_TYPE_EUROPEAN_ROUTE_NUMBER TrafficSign_MainSign_Classification_Type = 231
	// Federal highway direction sign, left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 415-10.png
	// </td>
	// <td>
	// StVO 415-10
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_FEDERAL_HIGHWAY_DIRECTION_RIGHT
	TrafficSign_MainSign_Classification_TYPE_FEDERAL_HIGHWAY_DIRECTION_LEFT TrafficSign_MainSign_Classification_Type = 232
	// Federal highway direction sign, right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 415-20.png
	// -->
	// </td>
	// <td>
	// StVO 415-20
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_FEDERAL_HIGHWAY_DIRECTION_LEFT
	TrafficSign_MainSign_Classification_TYPE_FEDERAL_HIGHWAY_DIRECTION_RIGHT TrafficSign_MainSign_Classification_Type = 233
	// Primary road direction sign, left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 418-10.png
	// </td>
	// <td>
	// StVO 418-10
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_PRIMARY_ROAD_DIRECTION_RIGHT
	TrafficSign_MainSign_Classification_TYPE_PRIMARY_ROAD_DIRECTION_LEFT TrafficSign_MainSign_Classification_Type = 234
	// Primary road direction sign, right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 418-20.png
	// -->
	// </td>
	// <td>
	// StVO 418-20
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_PRIMARY_ROAD_DIRECTION_LEFT
	TrafficSign_MainSign_Classification_TYPE_PRIMARY_ROAD_DIRECTION_RIGHT TrafficSign_MainSign_Classification_Type = 235
	// Secondary road direction sign, left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 419-10.png
	// </td>
	// <td>
	// StVO 419-10
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the destination
	// indicated in the sign.
	//
	// Right: \c #TYPE_SECONDARY_ROAD_DIRECTION_RIGHT
	TrafficSign_MainSign_Classification_TYPE_SECONDARY_ROAD_DIRECTION_LEFT TrafficSign_MainSign_Classification_Type = 236
	// Secondary road direction sign, right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 419-20.png
	// </td>
	// <td>
	// StVO 419-20
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the destination
	// indicated in the sign.
	//
	// Left: \c #TYPE_SECONDARY_ROAD_DIRECTION_LEFT
	TrafficSign_MainSign_Classification_TYPE_SECONDARY_ROAD_DIRECTION_RIGHT TrafficSign_MainSign_Classification_Type = 237
	// Advance direction sign for designated type of vehicle, left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 421-10.png "StVO 421-10"
	// <td>
	// \image html 421-11.png "StVO 421-11"
	// <td>
	// \image html 421-12.png "StVO 421-12"
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_DIRECTION_DESIGNATED_ACTORS_RIGHT
	TrafficSign_MainSign_Classification_TYPE_DIRECTION_DESIGNATED_ACTORS_LEFT TrafficSign_MainSign_Classification_Type = 238
	// Advance direction sign for designated type of vehicle, right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 421-10.png
	// <td style="transform:scaleX(-1)">
	// \image html 421-11.png
	// <td style="transform:scaleX(-1)">
	// \image html 421-12.png
	// </tr>
	// <tr style="font-weight:bold">
	// <td>
	// StVO 421-20
	// <td>
	// StVO 421-21
	// <td>
	// StVO 421-22
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_DIRECTION_DESIGNATED_ACTORS_LEFT
	TrafficSign_MainSign_Classification_TYPE_DIRECTION_DESIGNATED_ACTORS_RIGHT TrafficSign_MainSign_Classification_Type = 239
	// Routing for designated type of vehicle, left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 422-10.png "StVO 422-10"
	// <td>
	// \image html 422-12.png "StVO 422-12"
	// <td>
	// \image html 422-14.png "StVO 422-14"
	// <td>
	// \image html 422-16.png "StVO 422-16"
	// </tr>
	// </table>
	// Routing for designated type of vehicle, align left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 422-11.png "StVO 422-11"
	// <td>
	// \image html 422-13.png "StVO 422-13"
	// <td>
	// \image html 422-15.png "StVO 422-15"
	// <td>
	// \image html 422-17.png "StVO 422-17"
	// </tr>
	// </table>
	// Direction preannouncement sign for designated type of
	// vehicle, left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 442-10.png "StVO 442-10"
	// <td>
	// \image html 442-12.png "StVO 442-12"
	// <td>
	// \image html 442-13.png "StVO 442-13"
	// </tr>
	// </table>
	//
	// Routing or designated type of vehicle, right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 422-10.png
	// <td style="transform:scaleX(-1)">
	// \image html 422-12.png
	// <td style="transform:scaleX(-1)">
	// \image html 422-14.png
	// <td style="transform:scaleX(-1)">
	// \image html 422-16.png
	// </tr>
	// <tr style="font-weight:bold">
	// <td>
	// StVO 422-20
	// <td>
	// StVO 422-22
	// <td>
	// StVO 422-24
	// <td>
	// StVO 422-26
	// </tr>
	// </table>
	// Routing for designated type of vehicle, align right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 422-11.png
	// <td style="transform:scaleX(-1)">
	// \image html 422-13.png
	// <td style="transform:scaleX(-1)">
	// \image html 422-15.png
	// <td style="transform:scaleX(-1)">
	// \image html 422-17.png
	// </tr>
	// <tr style="font-weight:bold">
	// <td>
	// StVO 422-21
	// <td>
	// StVO 422-23
	// <td>
	// StVO 422-25
	// <td>
	// StVO 422-27
	// </tr>
	// </table>
	// Direction preannouncement sign for designated type of
	// vehicle, right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 442-10.png
	// <td style="transform:scaleX(-1)">
	// \image html 442-12.png
	// <td style="transform:scaleX(-1)">
	// \image html 442-13.png
	// </tr>
	// <tr style="font-weight:bold">
	// <td>
	// StVO 442-20
	// <td>
	// StVO 442-22
	// <td>
	// StVO 442-23
	// </tr>
	// </table>
	// Routing for designated type of vehicle, straight.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 422-30.png "StVO 422-30"
	// <td>
	// \image html 422-32.png "StVO 422-32"
	// <td>
	// \image html 422-34.png "StVO 422-34"
	// <td>
	// \image html 422-36.png "StVO 422-36"
	// </tr>
	// </table>
	//
	// \note OSI 4.0 will describe the actors and arrows similar to
	// the supplementary signs approach.
	TrafficSign_MainSign_Classification_TYPE_ROUTING_DESIGNATED_ACTORS TrafficSign_MainSign_Classification_Type = 240
	// Direction to highway, left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 430-10.png
	// </td>
	// <td>
	// StVO 430-10
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_DIRECTION_TO_HIGHWAY_RIGHT
	TrafficSign_MainSign_Classification_TYPE_DIRECTION_TO_HIGHWAY_LEFT TrafficSign_MainSign_Classification_Type = 143
	// Direction to highway, right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 430-20.png
	// -->
	// </td>
	// <td>
	// StVO 430-20
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_DIRECTION_TO_HIGHWAY_LEFT
	TrafficSign_MainSign_Classification_TYPE_DIRECTION_TO_HIGHWAY_RIGHT TrafficSign_MainSign_Classification_Type = 108
	// Direction sign to important local destinations, left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 432-10.png
	// </td>
	// <td>
	// StVO 432-10
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the destination
	// indicated in the sign.
	//
	// Right: \c #TYPE_DIRECTION_TO_LOCAL_DESTINATION_RIGHT
	TrafficSign_MainSign_Classification_TYPE_DIRECTION_TO_LOCAL_DESTINATION_LEFT TrafficSign_MainSign_Classification_Type = 127
	// Direction sign to important local destinations, right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 432-20.png
	// -->
	// </td>
	// <td>
	// StVO 432-20
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the destination
	// indicated in the sign.
	//
	// Left: \c #TYPE_DIRECTION_TO_LOCAL_DESTINATION_LEFT
	TrafficSign_MainSign_Classification_TYPE_DIRECTION_TO_LOCAL_DESTINATION_RIGHT TrafficSign_MainSign_Classification_Type = 136
	// Consolidated direction sign.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 434-50.png "StVO 434-50"
	// <td>
	// \image html 434-51.png "StVO 434-51"
	// <td>
	// \image html 434-52.png "StVO 434-52"
	// <td>
	// \image html 434-53.png "StVO 434-53"
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_CONSOLIDATED_DIRECTIONS TrafficSign_MainSign_Classification_Type = 118
	// Street name sign.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 437.png
	// </td>
	// <td>
	// StVO 437
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the street name.
	TrafficSign_MainSign_Classification_TYPE_STREET_NAME TrafficSign_MainSign_Classification_Type = 119
	// Direction preannouncement sign.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 438.png
	// </td>
	// <td>
	// StVO 438
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DIRECTION_PREANNOUNCEMENT TrafficSign_MainSign_Classification_Type = 120
	// Direction preannouncement sign including lane configuration.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 439.png
	// </td>
	// <td>
	// StVO 439
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DIRECTION_PREANNOUNCEMENT_LANE_CONFIG TrafficSign_MainSign_Classification_Type = 121
	// Direction preannouncement sign including highway entries.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 440.png
	// </td>
	// <td>
	// StVO 440
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DIRECTION_PREANNOUNCEMENT_HIGHWAY_ENTRIES TrafficSign_MainSign_Classification_Type = 122
	// Highway announcement board.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 448.png
	// </td>
	// <td>
	// StVO 448
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the distance. Use \c
	// TrafficSignValue::text to denote the highway and the
	// direction indicated in the sign, e.g. "26 Duesseldorf -
	// Benrath".
	TrafficSign_MainSign_Classification_TYPE_HIGHWAY_ANNOUNCEMENT TrafficSign_MainSign_Classification_Type = 123
	// Announcement board on other roads outside of highways.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 448-50.png
	// </td>
	// <td>
	// StVO 448-50
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to set the distance. Use \c
	// TrafficSignValue::text to denote the destination indicated in
	// the sign.
	TrafficSign_MainSign_Classification_TYPE_OTHER_ROAD_ANNOUNCEMENT TrafficSign_MainSign_Classification_Type = 124
	// Announcement highway truck stop.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 448.1.png
	// </td>
	// <td>
	// StVO 448.1
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HIGHWAY_ANNOUNCEMENT_TRUCK_STOP TrafficSign_MainSign_Classification_Type = 125
	// Highway interchange advance directional sign.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 449.png
	// </td>
	// <td>
	// StVO 449
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HIGHWAY_PREANNOUNCEMENT_DIRECTIONS TrafficSign_MainSign_Classification_Type = 126
	// Pole indicating highways exit in ... m.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 450-50.png "StVO 450-50"
	// <td>
	// \image html 450-51.png "StVO 450-51"
	// <td>
	// \image html 450-52.png "StVO 450-52"
	// <td>
	// \image html 450-53.png "StVO 450-53"
	// <td>
	// \image html 450-54.png "StVO 450-54"
	// <td>
	// \image html 450-55.png "StVO 450-55"
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit to specify the distance in m
	// or the displayed number of stripes (in that case, set \c
	// TrafficSignValue::value_unit to \c
	// TrafficSignValue::UNIT_NO_UNIT.).
	TrafficSign_MainSign_Classification_TYPE_POLE_EXIT TrafficSign_MainSign_Classification_Type = 88
	// Highway distance board.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 453.png "StVO 453"
	// <td>
	// \image html 453-50.png "StVO 453-50"
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_HIGHWAY_DISTANCE_BOARD TrafficSign_MainSign_Classification_Type = 180
	// Detour sign, pointing left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 454-10.png
	// </td>
	// <td>
	// StVO 454-10
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_DETOUR_RIGHT
	TrafficSign_MainSign_Classification_TYPE_DETOUR_LEFT TrafficSign_MainSign_Classification_Type = 181
	// Detour sign, pointing right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 454-20.png
	// -->
	// </td>
	// <td>
	// StVO 454-20
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_DETOUR_LEFT
	TrafficSign_MainSign_Classification_TYPE_DETOUR_RIGHT TrafficSign_MainSign_Classification_Type = 182
	// Numbered detour route.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 455.1.png
	// </td>
	// <td>
	// StVO 455.1
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the alternative
	// routing name indicated in the sign.
	//
	// \note OSI 4.0 will describe the arrows similar to the
	// supplementary signs approach.
	TrafficSign_MainSign_Classification_TYPE_NUMBERED_DETOUR TrafficSign_MainSign_Classification_Type = 131
	// Announcement; begin of detour.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 457.1.png
	// </td>
	// <td>
	// StVO 457.1
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DETOUR_BEGIN TrafficSign_MainSign_Classification_Type = 132
	// End of detour.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 457.2.png
	// </td>
	// <td>
	// StVO 457.2
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DETOUR_END TrafficSign_MainSign_Classification_Type = 133
	// Diversion routing board.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 458.png
	// </td>
	// <td>
	// StVO 458
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DETOUR_ROUTING_BOARD TrafficSign_MainSign_Classification_Type = 134
	// The sign indicates an alternative routing.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 460-50.png
	// </td>
	// <td>
	// StVO 460-50
	// </td>
	// <td>
	// The sign indicates an alternative routing, announcement.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 460-10.png
	// </td>
	// <td>
	// StVO 460-10
	// </td>
	// <td>
	// The sign indicates an alternative routing, preannouncement
	// left.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 460-11.png
	// -->
	// </td>
	// <td>
	// StVO 460-11
	// </td>
	// <td>
	// The sign indicates an alternative routing, left.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 460-12.png
	// </td>
	// <td>
	// StVO 460-12
	// </td>
	// <td>
	// The sign indicates an alternative routing, change lane left.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 460-20.png
	// -->
	// </td>
	// <td>
	// StVO 460-20
	// </td>
	// <td>
	// The sign indicates an alternative routing, preannouncement
	// right.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 460-21.png
	// -->
	// </td>
	// <td>
	// StVO 460-21
	// </td>
	// <td>
	// The sign indicates an alternative routing, right.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 460-22.png
	// -->
	// </td>
	// <td>
	// StVO 460-22
	// </td>
	// <td>
	// The sign indicates an alternative routing, lane change
	// right.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 460-30.png
	// </td>
	// <td>
	// StVO 460-30
	// </td>
	// <td>
	// The sign indicates an alternative routing, straight.
	// </td>
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::text to denote the alternative
	// routing name indicated in the sign.
	//
	// \note OSI 4.0 will describe the arrows similar to the
	// supplementary signs approach.
	TrafficSign_MainSign_Classification_TYPE_OPTIONAL_DETOUR TrafficSign_MainSign_Classification_Type = 111
	// Provisional diversion route schematic.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 466.png
	// </td>
	// <td>
	// StVO 466
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_OPTIONAL_DETOUR_ROUTING TrafficSign_MainSign_Classification_Type = 199
	// Recommended alternate route.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 467.1-10.png
	// </td>
	// <td>
	// StVO 467.1-10
	// </td>
	// <td>
	// Set \c Classification::direction_scope as \c
	// DIRECTION_SCOPE_LEFT.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 467.1-10.png
	// </td>
	// <td>
	// StVO 467.1-20
	// </td>
	// <td>
	// Set \c Classification::direction_scope as \c
	// DIRECTION_SCOPE_RIGHT.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ROUTE_RECOMMENDATION TrafficSign_MainSign_Classification_Type = 211
	// End of recommended alternate route.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 467.2.png
	// </td>
	// <td>
	// StVO 467.2
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ROUTE_RECOMMENDATION_END TrafficSign_MainSign_Classification_Type = 212
	// X lanes transition, left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 501-10.png
	// -->
	// </td>
	// <td>
	// StVO 501-10
	// </td>
	// <td>
	// One associated lane.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 501-11.png
	// </td>
	// <td>
	// StVO 501-11
	// </td>
	// <td>
	// Two associated lanes.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 501-12.png
	// -->
	// </td>
	// <td>
	// StVO 501-12
	// </td>
	// <td>
	// Three associated lanes.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 505-11.png
	// </td>
	// <td>
	// (StVO 505-11)
	// </td>
	// <td>
	// Two associated lanes with restriction.
	// Restriction defined as additional main sign.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 505-12.png
	// </td>
	// <td>
	// (StVO 505-12)
	// </td>
	// <td>
	// Three associated lanes with restriction.
	// Restrictions defined as additional main sign(s).
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_ANNOUNCE_LANE_TRANSITION_RIGHT
	TrafficSign_MainSign_Classification_TYPE_ANNOUNCE_LANE_TRANSITION_LEFT TrafficSign_MainSign_Classification_Type = 192
	// X lanes transition, right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 501-20.png
	// -->
	// </td>
	// <td>
	// StVO 501-20
	// </td>
	// <td>
	// One associated lane.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 501-11.png
	// </td>
	// <td>
	// StVO 501-21
	// </td>
	// <td>
	// Two associated lanes.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 501-22.png
	// -->
	// </td>
	// <td>
	// StVO 501-22
	// </td>
	// <td>
	// Three associated lanes.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 505-21.png
	// -->
	// </td>
	// <td>
	// (StVO 505-21)
	// </td>
	// <td>
	// Two associated lanes with restriction.
	// Restriction defined as additional main sign.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 505-22.png
	// -->
	// </td>
	// <td>
	// (StVO 505-22)
	// </td>
	// <td>
	// Three associated lanes with restriction.
	// Restrictions defined as additional main sign(s).
	// </td>
	// </tr>
	// </table>
	//
	// Left: \c #TYPE_ANNOUNCE_LANE_TRANSITION_LEFT
	TrafficSign_MainSign_Classification_TYPE_ANNOUNCE_LANE_TRANSITION_RIGHT TrafficSign_MainSign_Classification_Type = 193
	// End of X right lanes.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 531-10.png
	// </td>
	// <td>
	// StVO 531-10
	// </td>
	// </tr>
	// </table>
	//
	// As symbolic road marking \c
	// RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN.
	//
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image tml 297.1-21.png
	// -->
	// </td>
	// <td>
	// StVO 297.1-21
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ANNOUNCE_RIGHT_LANE_END TrafficSign_MainSign_Classification_Type = 90
	// End of X left lanes.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 531-10.png
	// </td>
	// <td>
	// StVO 531-20
	// </td>
	// </tr>
	// </table>
	//
	// As symbolic road marking \c
	// RoadMarking::Classification::TYPE_SYMBOLIC_TRAFFIC_SIGN.
	//
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 297.1-21.png
	// -->
	// </td>
	// <td>
	// StVO 297.1-21
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ANNOUNCE_LEFT_LANE_END TrafficSign_MainSign_Classification_Type = 89
	// Begin of X right lanes.
	// <!--
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 545-11.png
	// </td>
	// <td>
	// (StVO 545-11)
	// </td>
	// <td>
	// Extension from two to three lanes with minimum speed by lane.
	// </td>
	// <td>
	// Restrictions defined as additional main sign(s).
	// </td>
	// </tr>
	// </table>-->
	//
	// Left: \c #TYPE_ANNOUNCE_LEFT_LANE_BEGIN
	TrafficSign_MainSign_Classification_TYPE_ANNOUNCE_RIGHT_LANE_BEGIN TrafficSign_MainSign_Classification_Type = 115
	// Begin of X left lanes.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 545-11.png
	// </td>
	// <td>
	// (StVO 545-11)
	// </td>
	// <td>
	// Extension from two to three lanes with minimum speed by lane.
	// </td>
	// <td>
	// Restrictions defined as additional main signs.
	// </td>
	// </tr>
	// </table>
	//
	// Right: \c #TYPE_ANNOUNCE_RIGHT_LANE_BEGIN
	TrafficSign_MainSign_Classification_TYPE_ANNOUNCE_LEFT_LANE_BEGIN TrafficSign_MainSign_Classification_Type = 116
	// Announce lane consolidation.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 551-20.png
	// -->
	// </td>
	// <td>
	// StVO 551-20
	// </td>
	// <td>
	// Consolidation of lanes from multiple roads, one continuing,
	// one opening.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 551-21.png
	// </td>
	// <td>
	// StVO 551-21
	// </td>
	// <td>
	// Consolidation of lanes from multiple roads, two continuing,
	// one opening.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 551-22.png
	// -->
	// </td>
	// <td>
	// StVO 551-22
	// </td>
	// <td>
	// Consolidation of lanes from multiple roads, two continuing,
	// two opening.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 551-23.png
	// -->
	// </td>
	// <td>
	// StVO 551-23
	// </td>
	// <td>
	// Consolidation of lanes from multiple roads, three continuing,
	// two opening.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 551-24.png
	// -->
	// </td>
	// <td>
	// StVO 551-24
	// </td>
	// <td>
	// Consolidation of lanes from multiple roads, three continuing,
	// one opening.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_ANNOUNCE_LANE_CONSOLIDATION TrafficSign_MainSign_Classification_Type = 117
	// Detour around city block.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 590-10.png
	// </td>
	// <td>
	// StVO 590-10
	// </td>
	// <td>
	// turn right, left, left
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 590-11.png
	// -->
	// </td>
	// <td>
	// StVO 590-11
	// </td>
	// <td>
	// turn right, right, right
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 590-10.png
	// </td>
	// <td>
	// </td>
	// <td>
	// turn left, right, right
	// </td>
	// </tr>
	// <tr>
	// <td>
	// </td>
	// <td>
	// </td>
	// <td>
	// turn left, left, left
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DETOUR_CITY_BLOCK TrafficSign_MainSign_Classification_Type = 142
	// Boom gate.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 600-25.png
	// </td>
	// <td>
	// StVO 600
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_GATE TrafficSign_MainSign_Classification_Type = 141
	// Pole for warning and guiding purposes
	// (red/white stripes - StVO 605, also StVO 628 and StVO 629).
	// <table border="0">
	// <tr>
	// <td>
	// \image html 605-10.png "StVO 605"
	// <td>
	// \image html 628-10.png "StVO 628"
	// <td>
	// \image html 629-10.png "StVO 629"
	// </tr>
	// </table>
	//
	// Variants (here X can be any of 605, 628 or 629):
	// <table border="0">
	// <tr>
	// <td>
	// StVO X-10, -12, -13 and -14
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// StVO X-11
	// </td>
	// <td>
	// Set \c Classification::direction_scope as \c
	// #DIRECTION_SCOPE_RIGHT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// StVO X-20, -22, -23 and -24
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// StVO X-21
	// </td>
	// <td>
	// Set \c Classification::direction_scope as \c
	// #DIRECTION_SCOPE_LEFT.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_POLE_WARNING TrafficSign_MainSign_Classification_Type = 91
	// Traffic cone.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 610-41.png
	// </td>
	// <td>
	// StVO 610
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TRAFFIC_CONE TrafficSign_MainSign_Classification_Type = 140
	// Mobile lane closure board.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 615.png
	// </td>
	// <td>
	// StVO 615
	// </td>
	// <td>
	// no arrow
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 616-30.png
	// </td>
	// <td>
	// StVO 616-30
	// </td>
	// <td>
	// with lighted arrow, large
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 616-31.png
	// -->
	// </td>
	// <td>
	// StVO 616-31
	// </td>
	// <td>
	// with lighted arrow, small
	// </td>
	// </tr>
	// </table>
	//
	// \note Additional traffic signs are modeled as separate main
	// signs.
	TrafficSign_MainSign_Classification_TYPE_MOBILE_LANE_CLOSURE TrafficSign_MainSign_Classification_Type = 139
	// Reflector guide posts.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 620-40.png
	// </td>
	// <td>
	// StVO 620-40
	// </td>
	// <td>
	// Reflector guide posts, rectangular reflecting.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 620-41.png
	// </td>
	// <td>
	// StVO 621-40
	// </td>
	// <td>
	// Reflector guide posts, two dots reflecting.
	// </td>
	// </tr>
	// </table>
	//
	// \note No reflecting color is specified.
	TrafficSign_MainSign_Classification_TYPE_REFLECTOR_POST TrafficSign_MainSign_Classification_Type = 114
	// Directional board used for warning and guiding purposes
	// (red/white stripes - StVO 625).
	//
	// Use the optional attribute \c Classification::direction_scope
	// to specify the direction the wedge symbols are pointing at.
	//
	// Variants (here X is any of 0, 1, 2, 3):
	// <table border="0">
	// <tr>
	// <td>
	// \image html 625-11.png
	// </td>
	// <td>
	// StVO 625-1X
	// </td>
	// <td>
	// - Set \c Classification::direction_scope as \c
	// #DIRECTION_SCOPE_LEFT.
	// - Optionally, use \c TrafficSignValue::value to specify the
	// number of wedges on the board. If you do so, set \c
	// TrafficSignValue::value_unit to \c
	// TrafficSignValue::UNIT_NO_UNIT.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 625-11.png
	// </td>
	// <td>
	// StVO 625-2X
	// </td>
	// <td>
	// - Set \c Classification::direction_scope as \c
	// DIRECTION_SCOPE_RIGHT.
	// - Optionally, use \c TrafficSignValue::value to specify the
	// number of wedges on the board. If you do so, set \c
	// TrafficSignValue::value_unit to \c
	// TrafficSignValue::UNIT_NO_UNIT.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_DIRECTIONAL_BOARD_WARNING TrafficSign_MainSign_Classification_Type = 113
	// Guiding plate.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 626-10.png
	// </td>
	// <td>
	// StVO 626-10
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 626-10.png
	// </td>
	// <td>
	// StVO 626-20
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_GUIDING_PLATE TrafficSign_MainSign_Classification_Type = 104
	// Guiding plate, wedges.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 626-30.png
	// </td>
	// <td>
	// StVO 626-30, 626-31
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_GUIDING_PLATE_WEDGES TrafficSign_MainSign_Classification_Type = 105
	// Parking hazard.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 630.png
	// </td>
	// <td>
	// StVO 630-10
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c false.
	// </td>
	// </tr>
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 630.png
	// </td>
	// <td>
	// StVO 630-20
	// </td>
	// <td>
	// Set \c #vertically_mirrored to \c true.
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_PARKING_HAZARD TrafficSign_MainSign_Classification_Type = 99
	// Green arrow sign at a traffic light.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 720.png
	// </td>
	// <td>
	// StVO 720
	// </td>
	// </tr>
	// </table>
	TrafficSign_MainSign_Classification_TYPE_TRAFFIC_LIGHT_GREEN_ARROW TrafficSign_MainSign_Classification_Type = 92
)

func (TrafficSign_MainSign_Classification_Type) Descriptor

func (TrafficSign_MainSign_Classification_Type) Enum

func (TrafficSign_MainSign_Classification_Type) EnumDescriptor deprecated

func (TrafficSign_MainSign_Classification_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use TrafficSign_MainSign_Classification_Type.Descriptor instead.

func (TrafficSign_MainSign_Classification_Type) Number

func (TrafficSign_MainSign_Classification_Type) String

func (TrafficSign_MainSign_Classification_Type) Type

func (*TrafficSign_MainSign_Classification_Type) UnmarshalJSON deprecated

func (x *TrafficSign_MainSign_Classification_Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type TrafficSign_SupplementarySign

type TrafficSign_SupplementarySign struct {

	// The base parameters of the supplementary traffic sign.
	//
	// The orientation of the bounding box \c SupplementarySign::base
	// ( \c BaseStationary::orientation ) is defined as follows:
	// The z-axis of the given \c BaseStationary::orientation is the vector
	// from the bottom to the top of the supplementary traffic sign's 2D
	// image plate. (Normally it is equal to the ground truth z-axis.) The
	// x-axis of the given \c BaseStationary::orientation is view normal of
	// the supplementary traffic sign's image. This x-axis points from the
	// supplementary traffic sign's image in the direction from where a
	// 'viewer' could see the supplementary traffic sign image.
	Base *BaseStationary `protobuf:"bytes,1,opt,name=base" json:"base,omitempty"`
	// The classification of the supplementary traffic sign.
	Classification *TrafficSign_SupplementarySign_Classification `protobuf:"bytes,2,opt,name=classification" json:"classification,omitempty"`
	// Opaque reference of an associated 3D model of the supplementary traffic sign.
	//
	// \note It is implementation-specific how model_references are resolved to
	// 3d models.
	ModelReference *string `protobuf:"bytes,3,opt,name=model_reference,json=modelReference" json:"model_reference,omitempty"`
	// contains filtered or unexported fields
}

\brief Additional supplementary sign modifying the main sign.

\image html OSI_SupplementarySign.svg

func (*TrafficSign_SupplementarySign) Descriptor deprecated

func (*TrafficSign_SupplementarySign) Descriptor() ([]byte, []int)

Deprecated: Use TrafficSign_SupplementarySign.ProtoReflect.Descriptor instead.

func (*TrafficSign_SupplementarySign) GetBase

func (*TrafficSign_SupplementarySign) GetClassification

func (*TrafficSign_SupplementarySign) GetModelReference

func (x *TrafficSign_SupplementarySign) GetModelReference() string

func (*TrafficSign_SupplementarySign) ProtoMessage

func (*TrafficSign_SupplementarySign) ProtoMessage()

func (*TrafficSign_SupplementarySign) ProtoReflect

func (*TrafficSign_SupplementarySign) Reset

func (x *TrafficSign_SupplementarySign) Reset()

func (*TrafficSign_SupplementarySign) String

type TrafficSign_SupplementarySign_Classification

type TrafficSign_SupplementarySign_Classification struct {

	// Variability.
	Variability *TrafficSign_Variability `protobuf:"varint,1,opt,name=variability,enum=osi3.TrafficSign_Variability" json:"variability,omitempty"`
	// Type of the supplementary sign.
	//
	// \attention Deprecated: A revision is planned for version 4.0.0 to
	// replace the type enum with a more semantically defined enumeration,
	// with the exact sign specification being relegated to the newly
	// introduced 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	Type *TrafficSign_SupplementarySign_Classification_Type `protobuf:"varint,2,opt,name=type,enum=osi3.TrafficSign_SupplementarySign_Classification_Type" json:"type,omitempty"`
	// Additional value(s) associated with the traffic sign, e.g.
	// length, mass or starting time in time range.
	//
	// \note Field need not be set if traffic sign type does not require
	// it.
	//
	// \note OSI uses singular instead of plural for repeated field
	// names.
	Value []*TrafficSignValue `protobuf:"bytes,3,rep,name=value" json:"value,omitempty"`
	// The IDs of the lanes that the sign is assigned to.
	// May be multiple if the sign is valid for multiple lanes.
	//
	// \note OSI uses singular instead of plural for repeated field
	// names.
	//
	// \rules
	// refers_to: Lane
	// \endrules
	AssignedLaneId []*Identifier `protobuf:"bytes,4,rep,name=assigned_lane_id,json=assignedLaneId" json:"assigned_lane_id,omitempty"`
	// This enumerator indicates a traffic actor (e.g.
	// bikes, cars, trucks and so on), that the supplementary sign
	// makes reference to.
	//
	// \attention Deprecated: A revision is planned for version 4.0.0 to
	// replace the type enum with a more semantically defined enumeration,
	// with the exact sign specification being relegated to the newly
	// introduced 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	Actor []TrafficSign_SupplementarySign_Classification_Actor `protobuf:"varint,5,rep,name=actor,enum=osi3.TrafficSign_SupplementarySign_Classification_Actor" json:"actor,omitempty"`
	// A direction arrow shown on the supplementary sign.
	//
	// \attention Deprecated: A revision is planned for version 4.0.0 to
	// replace the type enum with a more semantically defined enumeration,
	// with the exact sign specification being relegated to the newly
	// introduced 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	Arrow []*TrafficSign_SupplementarySign_Classification_Arrow `protobuf:"bytes,6,rep,name=arrow" json:"arrow,omitempty"`
	// Boolean flag to indicate that the supplementary traffic sign is taken out of service.
	// This can be achieved by visibly crossing the sign or covering it completely.
	IsOutOfService *bool `protobuf:"varint,7,opt,name=is_out_of_service,json=isOutOfService" json:"is_out_of_service,omitempty"`
	// Country specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// Country is specified using the ISO 3166-1, alpha-2 code
	// https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2, or the
	// special OpenDRIVE country for generic signs.<br>
	Country *string `protobuf:"bytes,8,opt,name=country" json:"country,omitempty"`
	// Revision specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// The year the traffic rules came into force. <br>
	// e.g. "2017"
	CountryRevision *string `protobuf:"bytes,9,opt,name=country_revision,json=countryRevision" json:"country_revision,omitempty"`
	// Code specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// Code identifier according to country and country revision,
	// corresponds to the type field of OpenDRIVE. <br>
	// code is only unique in combination with #country and #country_revision.  <br>
	// e.g. http://www.vzkat.de/2017/VzKat.htm
	Code *string `protobuf:"bytes,10,opt,name=code" json:"code,omitempty"`
	// Sub-code specification of the traffic sign catalog specification
	// that identifies the actual traffic sign. This is part of the
	// 4-tupel traffic sign catalog specification as used in
	// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
	//
	// Sub-code identifier according to country, country revision and code,
	// corresponds to the subtype field of OpenDRIVE. <br>
	// sub_code is only unique in combination with #country, #country_revision,
	// and #code.  <br>
	// e.g. http://www.vzkat.de/2017/VzKat.htm
	SubCode *string `protobuf:"bytes,11,opt,name=sub_code,json=subCode" json:"sub_code,omitempty"`
	// Assignment of this object to logical lanes.
	//
	// \note OSI uses singular instead of plural for repeated field
	// names.
	LogicalLaneAssignment []*LogicalLaneAssignment `protobuf:"bytes,12,rep,name=logical_lane_assignment,json=logicalLaneAssignment" json:"logical_lane_assignment,omitempty"`
	// contains filtered or unexported fields
}

\brief \c Classification data for a supplementary traffic sign.

When constructing a \c SupplementarySign, consider the use of the following members: - In order to include numerical values indicated in the sign, use \c TrafficSignValue::value. Accompany this value with an indication of its unit of measure given by \c TrafficSignValue::value_unit. - In order to include strings of text indicated in the sign, use \c TrafficSignValue::text. The interpretation of this text is left to a user-defined procedure.

\note The definition of the sign types is thought to be independent of the country, even if the images used in this documentation are based on the German Road Traffic Regulations (StVO).

func (*TrafficSign_SupplementarySign_Classification) Descriptor deprecated

Deprecated: Use TrafficSign_SupplementarySign_Classification.ProtoReflect.Descriptor instead.

func (*TrafficSign_SupplementarySign_Classification) GetActor

func (*TrafficSign_SupplementarySign_Classification) GetArrow

func (*TrafficSign_SupplementarySign_Classification) GetAssignedLaneId

func (x *TrafficSign_SupplementarySign_Classification) GetAssignedLaneId() []*Identifier

func (*TrafficSign_SupplementarySign_Classification) GetCode

func (*TrafficSign_SupplementarySign_Classification) GetCountry

func (*TrafficSign_SupplementarySign_Classification) GetCountryRevision

func (x *TrafficSign_SupplementarySign_Classification) GetCountryRevision() string

func (*TrafficSign_SupplementarySign_Classification) GetIsOutOfService

func (x *TrafficSign_SupplementarySign_Classification) GetIsOutOfService() bool

func (*TrafficSign_SupplementarySign_Classification) GetLogicalLaneAssignment

func (*TrafficSign_SupplementarySign_Classification) GetSubCode

func (*TrafficSign_SupplementarySign_Classification) GetType

func (*TrafficSign_SupplementarySign_Classification) GetValue

func (*TrafficSign_SupplementarySign_Classification) GetVariability

func (*TrafficSign_SupplementarySign_Classification) ProtoMessage

func (*TrafficSign_SupplementarySign_Classification) ProtoReflect

func (*TrafficSign_SupplementarySign_Classification) Reset

func (*TrafficSign_SupplementarySign_Classification) String

type TrafficSign_SupplementarySign_Classification_Actor

type TrafficSign_SupplementarySign_Classification_Actor int32

Definition of the traffic actors the supplementary sign makes reference to. E.g. bikes, trucks, cars, etc.

const (
	// An unknown actor
	TrafficSign_SupplementarySign_Classification_ACTOR_UNKNOWN TrafficSign_SupplementarySign_Classification_Actor = 0
	// Other actor (specified but known)
	TrafficSign_SupplementarySign_Classification_ACTOR_OTHER TrafficSign_SupplementarySign_Classification_Actor = 1
	// The actor is not specified
	TrafficSign_SupplementarySign_Classification_ACTOR_NO_ACTOR TrafficSign_SupplementarySign_Classification_Actor = 2
	// Agricultural vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_AGRICULTURAL_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 3
	// Bicycles
	TrafficSign_SupplementarySign_Classification_ACTOR_BICYCLES TrafficSign_SupplementarySign_Classification_Actor = 4
	// Buses
	TrafficSign_SupplementarySign_Classification_ACTOR_BUSES TrafficSign_SupplementarySign_Classification_Actor = 5
	// Campers
	TrafficSign_SupplementarySign_Classification_ACTOR_CAMPERS TrafficSign_SupplementarySign_Classification_Actor = 6
	// Caravans
	TrafficSign_SupplementarySign_Classification_ACTOR_CARAVANS TrafficSign_SupplementarySign_Classification_Actor = 7
	// Cars
	TrafficSign_SupplementarySign_Classification_ACTOR_CARS TrafficSign_SupplementarySign_Classification_Actor = 8
	// Cars with caravans
	TrafficSign_SupplementarySign_Classification_ACTOR_CARS_WITH_CARAVANS TrafficSign_SupplementarySign_Classification_Actor = 9
	// Cars with trailers
	TrafficSign_SupplementarySign_Classification_ACTOR_CARS_WITH_TRAILERS TrafficSign_SupplementarySign_Classification_Actor = 10
	// Cattles
	TrafficSign_SupplementarySign_Classification_ACTOR_CATTLE TrafficSign_SupplementarySign_Classification_Actor = 11
	// Children
	TrafficSign_SupplementarySign_Classification_ACTOR_CHILDREN TrafficSign_SupplementarySign_Classification_Actor = 12
	// Construction vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_CONSTRUCTION_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 13
	// Delivery vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_DELIVERY_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 14
	// Disabled persons
	TrafficSign_SupplementarySign_Classification_ACTOR_DISABLED_PERSONS TrafficSign_SupplementarySign_Classification_Actor = 15
	// E-bikes
	TrafficSign_SupplementarySign_Classification_ACTOR_EBIKES TrafficSign_SupplementarySign_Classification_Actor = 16
	// Electric vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_ELECTRIC_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 17
	// Emergency vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_EMERGENCY_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 18
	// Ferry users
	TrafficSign_SupplementarySign_Classification_ACTOR_FERRY_USERS TrafficSign_SupplementarySign_Classification_Actor = 19
	// Forestry vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_FORESTRY_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 20
	// Hazardous goods vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_HAZARDOUS_GOODS_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 21
	// Horse carriages
	TrafficSign_SupplementarySign_Classification_ACTOR_HORSE_CARRIAGES TrafficSign_SupplementarySign_Classification_Actor = 22
	// Horse riders
	TrafficSign_SupplementarySign_Classification_ACTOR_HORSE_RIDERS TrafficSign_SupplementarySign_Classification_Actor = 23
	// Inline skaters
	TrafficSign_SupplementarySign_Classification_ACTOR_INLINE_SKATERS TrafficSign_SupplementarySign_Classification_Actor = 24
	// Medical vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_MEDICAL_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 25
	// Military vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_MILITARY_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 26
	// Mopeds
	TrafficSign_SupplementarySign_Classification_ACTOR_MOPEDS TrafficSign_SupplementarySign_Classification_Actor = 27
	// Motorcycles
	TrafficSign_SupplementarySign_Classification_ACTOR_MOTORCYCLES TrafficSign_SupplementarySign_Classification_Actor = 28
	// Motorized multi-track vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_MOTORIZED_MULTITRACK_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 29
	// Operational and utility vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_OPERATIONAL_AND_UTILITY_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 30
	// Pedestrians
	TrafficSign_SupplementarySign_Classification_ACTOR_PEDESTRIANS TrafficSign_SupplementarySign_Classification_Actor = 31
	// Public transport vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_PUBLIC_TRANSPORT_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 32
	// Railroad traffic
	TrafficSign_SupplementarySign_Classification_ACTOR_RAILROAD_TRAFFIC TrafficSign_SupplementarySign_Classification_Actor = 33
	// Residents
	//
	// \note In the German StVO, typically denoted with the text
	// "Anlieger" or "Bewohner"
	TrafficSign_SupplementarySign_Classification_ACTOR_RESIDENTS TrafficSign_SupplementarySign_Classification_Actor = 34
	// Slurry transport
	TrafficSign_SupplementarySign_Classification_ACTOR_SLURRY_TRANSPORT TrafficSign_SupplementarySign_Classification_Actor = 35
	// Taxis
	TrafficSign_SupplementarySign_Classification_ACTOR_TAXIS TrafficSign_SupplementarySign_Classification_Actor = 36
	// Tractors
	//
	// \note In the German StVO, tractors are defined as
	// motorized vehicles that are not allowed to, or cannot,
	// drive faster than 25 km/h
	TrafficSign_SupplementarySign_Classification_ACTOR_TRACTORS TrafficSign_SupplementarySign_Classification_Actor = 37
	// Trailers
	TrafficSign_SupplementarySign_Classification_ACTOR_TRAILERS TrafficSign_SupplementarySign_Classification_Actor = 38
	// Trams
	TrafficSign_SupplementarySign_Classification_ACTOR_TRAMS TrafficSign_SupplementarySign_Classification_Actor = 39
	// Trucks
	//
	// \note
	// In the German StVO, trucks are defined as
	// motorized vehicles that are heavier than 3.5 t
	TrafficSign_SupplementarySign_Classification_ACTOR_TRUCKS TrafficSign_SupplementarySign_Classification_Actor = 40
	// Trucks with semi-trailers
	TrafficSign_SupplementarySign_Classification_ACTOR_TRUCKS_WITH_SEMITRAILERS TrafficSign_SupplementarySign_Classification_Actor = 41
	// Trucks with trailers
	TrafficSign_SupplementarySign_Classification_ACTOR_TRUCKS_WITH_TRAILERS TrafficSign_SupplementarySign_Classification_Actor = 42
	// Vehicles with green badges
	TrafficSign_SupplementarySign_Classification_ACTOR_VEHICLES_WITH_GREEN_BADGES TrafficSign_SupplementarySign_Classification_Actor = 43
	// Vehicles with red badges
	TrafficSign_SupplementarySign_Classification_ACTOR_VEHICLES_WITH_RED_BADGES TrafficSign_SupplementarySign_Classification_Actor = 44
	// Vehicles with yellow badges
	TrafficSign_SupplementarySign_Classification_ACTOR_VEHICLES_WITH_YELLOW_BADGES TrafficSign_SupplementarySign_Classification_Actor = 45
	// Water pollutant vehicles
	TrafficSign_SupplementarySign_Classification_ACTOR_WATER_POLLUTANT_VEHICLES TrafficSign_SupplementarySign_Classification_Actor = 46
	// Winter sportspeople
	TrafficSign_SupplementarySign_Classification_ACTOR_WINTER_SPORTSPEOPLE TrafficSign_SupplementarySign_Classification_Actor = 47
)

func (TrafficSign_SupplementarySign_Classification_Actor) Descriptor

func (TrafficSign_SupplementarySign_Classification_Actor) Enum

func (TrafficSign_SupplementarySign_Classification_Actor) EnumDescriptor deprecated

Deprecated: Use TrafficSign_SupplementarySign_Classification_Actor.Descriptor instead.

func (TrafficSign_SupplementarySign_Classification_Actor) Number

func (TrafficSign_SupplementarySign_Classification_Actor) String

func (TrafficSign_SupplementarySign_Classification_Actor) Type

func (*TrafficSign_SupplementarySign_Classification_Actor) UnmarshalJSON deprecated

Deprecated: Do not use.

type TrafficSign_SupplementarySign_Classification_Arrow

type TrafficSign_SupplementarySign_Classification_Arrow struct {

	// The IDs of the lanes the arrow applies to
	//
	// \rules
	// refers_to: Lane
	// \endrules
	LaneId []*Identifier `protobuf:"bytes,1,rep,name=lane_id,json=laneId" json:"lane_id,omitempty"`
	// The direction to which the arrow points to
	Direction []TrafficSign_SupplementarySign_Classification_Arrow_Direction `` /* 136-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief An arrow denoting a direction shown on the traffic sign.

func (*TrafficSign_SupplementarySign_Classification_Arrow) Descriptor deprecated

Deprecated: Use TrafficSign_SupplementarySign_Classification_Arrow.ProtoReflect.Descriptor instead.

func (*TrafficSign_SupplementarySign_Classification_Arrow) GetDirection

func (*TrafficSign_SupplementarySign_Classification_Arrow) GetLaneId

func (*TrafficSign_SupplementarySign_Classification_Arrow) ProtoMessage

func (*TrafficSign_SupplementarySign_Classification_Arrow) ProtoReflect

func (*TrafficSign_SupplementarySign_Classification_Arrow) Reset

func (*TrafficSign_SupplementarySign_Classification_Arrow) String

type TrafficSign_SupplementarySign_Classification_Arrow_Direction

type TrafficSign_SupplementarySign_Classification_Arrow_Direction int32

The direction to which the arrow points to

const (
	// Direction of sign is unknown (must not be used in ground
	// truth).
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_UNKNOWN TrafficSign_SupplementarySign_Classification_Arrow_Direction = 0
	// Other (specified but known) direction.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_OTHER TrafficSign_SupplementarySign_Classification_Arrow_Direction = 1
	// No arrow direction is specified.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_NO_DIRECTION TrafficSign_SupplementarySign_Classification_Arrow_Direction = 2
	// An arrow pointing straight ahead in the direction of
	// driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_DIRECT_0_DEG TrafficSign_SupplementarySign_Classification_Arrow_Direction = 3
	// A straight arrow pointing 45 degrees to the right in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_DIRECT_45_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 4
	// A straight arrow pointing 45 degrees to the left in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_DIRECT_45_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 5
	// A straight arrow pointing 90 degrees to the right in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_DIRECT_90_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 6
	// A straight arrow pointing 90 degrees to the left in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_DIRECT_90_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 7
	// A straight arrow pointing 135 degrees to the right in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_DIRECT_135_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 8
	// A straight arrow pointing 135 degrees to the left in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_DIRECT_135_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 9
	// A straight arrow pointing opposite to the direction of
	// driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_DIRECT_180_DEG TrafficSign_SupplementarySign_Classification_Arrow_Direction = 10
	// A curved arrow pointing 45 degrees to the right in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_TURN_45_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 11
	// A curved arrow pointing 45 degrees to the left in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_TURN_45_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 12
	// A curved arrow pointing 90 degrees to the right in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_TURN_90_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 13
	// A curved arrow pointing 90 degrees to the left in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_TURN_90_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 14
	// A curved arrow pointing 135 degrees to the right in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_TURN_135_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 15
	// A curved arrow pointing 135 degrees to the left in the
	// direction of driving.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_TURN_135_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 16
	// A u-turn arrow towards the right.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_TURN_180_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 17
	// A u-turn arrow towards the left.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_TURN_180_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 18
	// An arrow that includes a fraction of a circle and points
	// forward in the direction of driving. Used typically for
	// roundabouts.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_CIRCLE_0_DEG TrafficSign_SupplementarySign_Classification_Arrow_Direction = 19
	// An arrow that includes a fraction of a circle and points
	// in 45 degrees to the right in the direction of driving.
	// Used typically for roundabouts.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_CIRCLE_45_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 20
	// An arrow that includes a fraction of a circle and points
	// in 45 degrees to the left in the direction of driving.
	// Used typically for roundabouts.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_CIRCLE_45_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 21
	// An arrow that includes a fraction of a circle and points
	// in 90 degrees to the right in the direction of driving.
	// Used typically for roundabouts.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_CIRCLE_90_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 22
	// An arrow that includes a fraction of a circle and points
	// in 90 degrees to the left in the direction of driving.
	// Used typically for roundabouts.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_CIRCLE_90_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 23
	// An arrow that includes a fraction of a circle and points
	// in 135 degrees to the right in the direction of driving.
	// Used typically for roundabouts.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_CIRCLE_135_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 24
	// An arrow that includes a fraction of a circle and points
	// in 135 degrees to the left in the direction of driving.
	// Used typically for roundabouts.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_CIRCLE_135_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 25
	// An arrow that includes a fraction of a circle and points
	// in the opposite to the direction of driving. Can be used
	// in detours in roundabouts.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_CIRCLE_180_DEG TrafficSign_SupplementarySign_Classification_Arrow_Direction = 26
	// An arrow that includes a fraction of a square and points
	// forward in direction of driving. Can be used for detours
	// where you have to use a separate left lane to drive
	// ahead.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_KEEP_LEFT_TO_TURN_0_DEG TrafficSign_SupplementarySign_Classification_Arrow_Direction = 27
	// An arrow that includes a fraction of a square and points
	// forward in direction of driving. Can be used for detours
	// where you have to use a separate right lane to drive
	// ahead.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_KEEP_RIGHT_TO_TURN_0_DEG TrafficSign_SupplementarySign_Classification_Arrow_Direction = 28
	// An arrow that includes a fraction of a square and points
	// in 90 degrees to the right in direction of driving. Can
	// be used for detours where you have to use a separate left
	// lane to turn right.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_KEEP_LEFT_TO_TURN_90_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 29
	// An arrow that includes a fraction of a square and points
	// in 90 degrees to the right in direction of driving. Can
	// be used for detours where you have to use a separate
	// right lane to turn left.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_KEEP_RIGHT_TO_TURN_90_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 30
	// An arrow that includes a fraction of a square and points
	// in 90 degrees to the right in direction of driving. Can
	// be used for detours where you have to use a separate left
	// lane and you have to drive back to turn right.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_KEEP_LEFT_DRIVE_BACK_TO_TURN_90_DEG_RIGHT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 31
	// An arrow that includes a fraction of a square and points
	// in 90 degrees to the right in direction of driving. Can
	// be used for detours where you have to use a separate
	// right lane and you have to drive back to turn left.
	TrafficSign_SupplementarySign_Classification_Arrow_DIRECTION_KEEP_RIGHT_DRIVE_BACK_TO_TURN_90_DEG_LEFT TrafficSign_SupplementarySign_Classification_Arrow_Direction = 32
)

func (TrafficSign_SupplementarySign_Classification_Arrow_Direction) Descriptor

func (TrafficSign_SupplementarySign_Classification_Arrow_Direction) Enum

func (TrafficSign_SupplementarySign_Classification_Arrow_Direction) EnumDescriptor deprecated

Deprecated: Use TrafficSign_SupplementarySign_Classification_Arrow_Direction.Descriptor instead.

func (TrafficSign_SupplementarySign_Classification_Arrow_Direction) Number

func (TrafficSign_SupplementarySign_Classification_Arrow_Direction) String

func (TrafficSign_SupplementarySign_Classification_Arrow_Direction) Type

func (*TrafficSign_SupplementarySign_Classification_Arrow_Direction) UnmarshalJSON deprecated

Deprecated: Do not use.

type TrafficSign_SupplementarySign_Classification_Type

type TrafficSign_SupplementarySign_Classification_Type int32

Definition of supplementary sign types.

For general supplementary signs use \c #TYPE_TEXT. Supplementary signs with general space restrictions use \c #TYPE_SPACE. Supplementary signs with general time restrictions use \c #TYPE_TIME. Supplementary signs with displayed arrow directions use \c #TYPE_ARROW. Supplementary signs constraint to one type of actors use \c #TYPE_CONSTRAINED_TO. Supplementary signs that will exclude one type of actors use \c #TYPE_EXCEPT. If supplementary signs combine contraints, restrictions, or plain text, \c Type is used in descending order in the following sequence: \c #TYPE_EXCEPT, \c #TYPE_CONSTRAINED_TO, \c #TYPE_ARROW, \c #TYPE_TIME, \c #TYPE_SPACE, \c #TYPE_TEXT.

\attention Deprecated: A revision is planned for version 4.0.0 to replace the type enum with a more semantically defined enumeration, with the exact sign specification being relegated to the newly introduced 4-tupel traffic sign catalog specification as used in <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.

const (
	// Type of supplementary sign is unknown (must not be used in
	// ground truth).
	TrafficSign_SupplementarySign_Classification_TYPE_UNKNOWN TrafficSign_SupplementarySign_Classification_Type = 0
	// Other (unspecified but known) type of supplementary sign.
	TrafficSign_SupplementarySign_Classification_TYPE_OTHER TrafficSign_SupplementarySign_Classification_Type = 1
	// There is no supplementary sign (must not be used in ground
	// truth).
	TrafficSign_SupplementarySign_Classification_TYPE_NO_SIGN TrafficSign_SupplementarySign_Classification_Type = 2
	// Text sign.
	// \n
	// Use it as a canvas for text-only signs:
	// - Use \c TrafficSignValue::value to indicate a numerical
	// value indicated on the sign. Accompany this value with an
	// indication of its unit of measure given by \c
	// TrafficSignValue::value_unit.
	// - Use \c TrafficSignValue::text to indicate a string of text
	// indicated on the sign.
	//
	// The following table summarizes possible configurations for
	// this kind of supplementary signs:
	//
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <th>
	// Image
	// </th>
	// <th>
	// StVO-No.
	// </th>
	// <th>
	// \c TrafficSignValue::text
	// </th>
	// <th>
	// Meaning and Remarks
	// </th>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-30.png
	// </td>
	// <td>
	// StVO 1007-30  (StVO 2017)
	// \anchor OIL_TEXT
	// </td>
	// <td>
	// &rdquo;&Ouml;lspur&rdquo;
	// </td>
	// <td>
	// Trail of oil hazard.
	// <br>
	// \note The identifier "StVO 1007-30" is currently used to
	// denote the hazard of oil trails. Prior to the edition of
	// 2017 of the Catalog of Street Signs of the Federal Road
	// Research Institute of Germany - BASt, it was used to denote a
	// restriction of the validity of the traffic sign to snowy /
	// icy conditions.
	// See \c #TYPE_SNOW.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-31.png
	// </td>
	// <td>
	// StVO 1007-31
	// </td>
	// <td>
	// "Rauch"
	// </td>
	// <td>
	// Smoke hazard.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-32.png
	// </td>
	// <td>
	// StVO 1007-32
	// </td>
	// <td>
	// "Rollsplitt"
	// </td>
	// <td>
	// Loose gravel hazard.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-33.png
	// </td>
	// <td>
	// StVO 1007-33
	// </td>
	// <td>
	// "Baustellenausfahrt"
	// </td>
	// <td>
	// Construction site exit.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-34.png
	// </td>
	// <td>
	// StVO 1007-34
	// </td>
	// <td>
	// &rdquo;Stra&szlig;enschaden&rdquo;
	// </td>
	// <td>
	// Damaged roadway.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-35.png
	// </td>
	// <td>
	// StVO 1007-35
	// </td>
	// <td>
	// "Verschmutzte Fahrbahn"
	// </td>
	// <td>
	// Dirty roadway.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-36.png
	// </td>
	// <td>
	// StVO 1007-36
	// </td>
	// <td>
	// "Sprengarbeiten"
	// </td>
	// <td>
	// Blasting.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-37.png
	// </td>
	// <td>
	// StVO 1007-37
	// </td>
	// <td>
	// "Ausfahrt"
	// </td>
	// <td>
	// Exit.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-38.png
	// </td>
	// <td>
	// StVO 1007-38
	// </td>
	// <td>
	// "Baustellen verkehr"
	// </td>
	// <td>
	// Construction vehicles traffic.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-39.png
	// </td>
	// <td>
	// StVO 1007-39
	// </td>
	// <td>
	// "fehlende Fahrbahnmarkierung"
	// </td>
	// <td>
	// Missing lane marking.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-50.png
	// </td>
	// <td>
	// StVO 1007-50
	// \anchor ACCIDENT_TEXT
	// </td>
	// <td>
	// "Unfall"
	// </td>
	// <td>
	// Accident hazard.
	// <br>
	// See \c #TYPE_ACCIDENT
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-51.png
	// </td>
	// <td>
	// StVO 1007-51
	// </td>
	// <td>
	// "Hochwasser"
	// </td>
	// <td>
	// Flood.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-52.png
	// </td>
	// <td>
	// StVO 1007-52
	// </td>
	// <td>
	// "neuer Fahrbahnbelag"
	// </td>
	// <td>
	// New road surface.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-53.png
	// </td>
	// <td>
	// StVO 1007-53
	// </td>
	// <td>
	// "Spurrinnen"
	// </td>
	// <td>
	// Wheel ruts.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-54.png
	// </td>
	// <td>
	// StVO 1007-54
	// </td>
	// <td>
	// "Linksabbieger"
	// </td>
	// <td>
	// Left-turning drivers.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-57.png
	// </td>
	// <td>
	// StVO 1007-57
	// </td>
	// <td>
	// "Kuppe"
	// </td>
	// <td>
	// Hilltop.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-58.png
	// </td>
	// <td>
	// StVO 1007-58
	// </td>
	// <td>
	// "Polizeikontrolle"
	// </td>
	// <td>
	// Police check.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-60.png
	// </td>
	// <td>
	// StVO 1007-60
	// </td>
	// <td>
	// "Seitenstreifen nicht befahrbar"
	// </td>
	// <td>
	// Side strips not passable.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-61.png
	// </td>
	// <td>
	// StVO 1007-61
	// </td>
	// <td>
	// "NEBEL"
	// </td>
	// <td>
	// Restriction of the validity of the traffic sign to foggy.
	// </td>
	// <tr>
	// <td>
	// \image html 1007-62.png
	// </td>
	// <td>
	// StVO 1007-62
	// </td>
	// <td>
	// "Zufahrt"
	// </td>
	// <td>
	// Driveway.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1008-30.png
	// </td>
	// <td>
	// StVO 1008-30
	// </td>
	// <td>
	// &rdquo;Vorfahrt ge&auml;ndert&rdquo;
	// </td>
	// <td>
	// Priority changed.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1008-31.png
	// </td>
	// <td>
	// StVO 1008-31
	// </td>
	// <td>
	// &rdquo;Verkehrsf&uuml;hrung ge&auml;ndert&rdquo;
	// </td>
	// <td>
	// Routing changed.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1008-32.png
	// </td>
	// <td>
	// StVO 1008-32
	// </td>
	// <td>
	// "Industriegebiet Schienenfahrzeuge haben Vorweg"
	// </td>
	// <td>
	// Industrial area (rail traffic has priority).
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1008-33.png
	// </td>
	// <td>
	// StVO 1008-33
	// </td>
	// <td>
	// "Hafengebiet Schienenfahrzeuge haben Vorweg"
	// </td>
	// <td>
	// Port area (rail traffic has priority).
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1008-34.png
	// </td>
	// <td>
	// StVO 1008-34
	// </td>
	// <td>
	// &rdquo;keine Wendem&ouml;glichkeit&rdquo;
	// </td>
	// <td>
	// No turning possibility.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-30n.png
	// </td>
	// <td>
	// StVO 1012-30 (StVO 2017)
	// </td>
	// <td>
	// "Ladezone"
	// </td>
	// <td>
	// Loading zone.
	// \anchor LOADING_ZONE_TEXT
	// \note The identifier "StVO 1012-30" is currently used to
	// denote a loading zone. Prior to the edition of 2017 of
	// the Catalog of Street Signs of the Federal Road Research
	// Institute of Germany - BASt, it was used to denote
	// the beginning of the validity of regulation prescribed by
	// the \c MainSign.
	// See [\c Begin](\ref BEGIN_TEXT).
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-30a.png
	// </td>
	// <td>
	// StVO 1012-30
	// </td>
	// <td>
	// "Anfang"
	// </td>
	// <td>
	// Begin
	// \anchor BEGIN_TEXT
	// \note The identifier "StVO 1012-30" is currently used to
	// denote a loading zone. Prior to the edition of 2017 of
	// the Catalog of Street Signs of the Federal Road Research
	// Institute of Germany - BASt, it was used to denote
	// the beginning of the validity of regulation prescribed by
	// the \c MainSign.
	// See [\c Loading zone](\ref LOADING_ZONE_TEXT).
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-31.png
	// </td>
	// <td>
	// StVO 1012-31
	// </td>
	// <td>
	// "Ende"
	// </td>
	// <td>
	// End.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-34.png
	// </td>
	// <td>
	// StVO 1012-34
	// </td>
	// <td>
	// &rdquo;Gr&uuml;ne Welle bei XX km/h&rdquo;
	// </td>
	// <td>
	// All green signals ("green wave") at certain speed.
	// <br>
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit (e.g. km/h) to indicate the
	// speed.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-35.png
	// </td>
	// <td>
	// StVO 1012-35
	// </td>
	// <td>
	// "bei Rot hier halten"
	// </td>
	// <td>
	// Stop at red light.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-36.png
	// </td>
	// <td>
	// StVO 1012-36
	// \anchor NOISE_PROTECTION_TEXT
	// </td>
	// <td>
	// &rdquo;L&auml;rmschutz&rdquo;
	// </td>
	// <td>
	// Noise protection.
	// <br>
	// See also:
	// [\c Noise protection with time limit](\ref NOISE_PROTECTION2)
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-37.png
	// </td>
	// <td>
	// StVO 1012-37
	// </td>
	// <td>
	// "Zuflussregelung"
	// </td>
	// <td>
	// Inflow regulation.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-38.png
	// </td>
	// <td>
	// StVO 1012-38
	// </td>
	// <td>
	// "Nebenstrecke"
	// </td>
	// <td>
	// Secondary route.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-50.png
	// </td>
	// <td>
	// StVO 1012-50
	// </td>
	// <td>
	// "Schule"
	// </td>
	// <td>
	// School.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-51.png
	// </td>
	// <td>
	// StVO 1012-51
	// </td>
	// <td>
	// "Kindergarten"
	// </td>
	// <td>
	// Kindergarten.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-52.png
	// </td>
	// <td>
	// StVO 1012-52
	// </td>
	// <td>
	// "Altenheim"
	// </td>
	// <td>
	// Retirement home.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-53.png
	// </td>
	// <td>
	// StVO 1012-53
	// </td>
	// <td>
	// "Krankenhaus"
	// </td>
	// <td>
	// Hospital.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1013-50.png
	// </td>
	// <td>
	// StVO 1013-50
	// </td>
	// <td>
	// "Seitenstreifen befahren"
	// </td>
	// <td>
	// Driving on side stripes.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1013-51.png
	// </td>
	// <td>
	// StVO 1013-51
	// </td>
	// <td>
	// &rdquo;Seitenstreifen r&auml;umen&rdquo;
	// </td>
	// <td>
	// Vacate side stripes.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1014-50.png
	// </td>
	// <td>
	// StVO 1014-50
	// </td>
	// <td>
	// A letter among B,C,D or E
	// </td>
	// <td>
	// Tunnel category according to ADR agreement.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1028-31.png
	// </td>
	// <td>
	// StVO 1028-31
	// </td>
	// <td>
	// "bis Baustelle frei"
	// </td>
	// <td>
	// Exception up to construction site.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1053-30.png
	// </td>
	// <td>
	// StVO 1053-30
	// </td>
	// <td>
	// &rdquo;Parken in gekennzeichneten Fl&auml;chen erlaubt&rdquo;
	// </td>
	// <td>
	// Parking in marked areas allowed.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1053-31.png
	// </td>
	// <td>
	// StVO 1053-31
	// </td>
	// <td>
	// "mit Parkschein"
	// </td>
	// <td>
	// With parking ticket.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1053-32.png
	// </td>
	// <td>
	// StVO 1053-32
	// </td>
	// <td>
	// &rdquo;geb&uuml;hrenpflichtig&rdquo;
	// </td>
	// <td>
	// Fees apply.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1053-34.png
	// </td>
	// <td>
	// StVO 1053-34
	// </td>
	// <td>
	// "auf dem Seitenstreifen"
	// </td>
	// <td>
	// On the shoulder.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1053-36.png
	// </td>
	// <td>
	// StVO 1053-36
	// </td>
	// <td>
	// "Durchgangsverkehr"
	// </td>
	// <td>
	// Transit traffic.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1053-52.png
	// </td>
	// <td>
	// StVO 1053-52
	// </td>
	// <td>
	// &rdquo;nur innerhalb gekennzeichneter Parkfl&auml;chen&rdquo;
	// </td>
	// <td>
	// Only within marked parking areas.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1053-53.png
	// </td>
	// <td>
	// StVO 1053-53
	// </td>
	// <td>
	// &rdquo;Parken mit Parkschein in gekennzeichneter
	// fl&auml;chen&rdquo;
	// </td>
	// <td>
	// Parking with parking permit in marked areas.
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_TEXT TrafficSign_SupplementarySign_Classification_Type = 41
	// Text sign with distance indication.
	// \n
	// Use it as a canvas for text signs that make reference to a
	// point or area in space:
	// - Use \c TrafficSignValue::value to include the distance
	// indicated in the sign. Accompany this value with an
	// indication of its unit of measure given by \c
	// TrafficSignValue::value_unit (e.g. m),
	// - Use \c TrafficSignValue::text to indicate the sign's
	// specific text,
	//
	// The following table summarizes possible configurations for
	// this kind of supplementary signs:
	//
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <th>
	// Image
	// </th>
	// <th>
	// StVO-No.
	// </th>
	// <th>
	// \c TrafficSignValue member(s)
	// </th>
	// <th>
	// Meaning and Remarks
	// </th>
	// </tr>
	// <tr>
	// <td>
	// \image html 1004-32.png
	// </td>
	// <td>
	// StVO 1004-32
	// </td>
	// <td>
	// "STOP" + distance
	// </td>
	// <td>
	// Stop in e.g. ... m
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1005-30.png
	// </td>
	// <td>
	// StVO 1005-30
	// </td>
	// <td>
	// &rdquo;Rei&szlig;verschluss erst in&rdquo; + distance
	// </td>
	// <td>
	// Zipper merge in e.g. ... m
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-59.png
	// </td>
	// <td>
	// StVO 1007-59
	// </td>
	// <td>
	// "Ende Seitenstreifen in" + distance
	// </td>
	// <td>
	// End of the side strip in e.g. ... m
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1013-52.png
	// </td>
	// <td>
	// StVO 1013-52
	// </td>
	// <td>
	// "Ende in" + distance
	// </td>
	// <td>
	// End in .. m
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1028-33.png
	// </td>
	// <td>
	// StVO 1028-33
	// </td>
	// <td>
	// "Zufahrt bis frei" + distance or location
	// </td>
	// <td>
	// Except up to ...
	// <br>
	// If there is a prohibition for all vehicles, the street can
	// still be used up to a certain point. To indicate the point,
	// use one of the following alternatives:
	// - A numerical value described by \c TrafficSignValue::value
	// and \c TrafficSignValue::value_unit (e.g. m) to indicate
	// the point as a distance from the sign.
	// - A text described by \c TrafficSignValue::text in order to
	// describe the point's location verbally, e.g. "Baugebiet ...".
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_SPACE TrafficSign_SupplementarySign_Classification_Type = 39
	// Text sign with time indication.
	// \n
	// Use it as a canvas for text signs that make:
	// reference to a point in time or a time range.
	// - Use one or more \c TrafficSignValue messages to include
	// the times indicated in the sign. Accompany each value with an
	// indication of its unit of measure given by \c
	// TrafficSignValue::value_unit, e.g. h.
	// - For each \c TrafficSignValue, \c TrafficSignValue::value
	// indicates the time elapsed since midnight every day.
	// - Use the \c TrafficSignValue::text member of the
	// first \c TrafficSignValue message to indicate the sign's
	// specific text.
	//
	// \note
	// - Time interval need two \c TrafficSignValue messages,
	// one to indicate their start and one to indicate their end.
	// - In case more than one time range is required, the
	// \c TrafficSignValue::value member of the first \c
	// TrafficSignValue message is interpreted as the beginning of
	// the first interval, the \c TrafficSignValue::value member of
	// the second \c TrafficSignValue message is interpreted as the
	// end of the first interval, and so on.
	//
	// The following table summarizes possible configurations for
	// this kind of supplementary signs:
	//
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <th>
	// Image
	// </th>
	// <th>
	// StVO-No.
	// </th>
	// <th>
	// \c TrafficSignValue member(s)
	// </th>
	// <th>
	// Meaning and Remarks
	// </th>
	// </tr>
	// <tr>
	// <td>
	// \image html 1040-30.png
	// </td>
	// <td>
	// StVO 1040-30
	// </td>
	// <td>
	// Time range
	// </td>
	// <td>
	// Time range for validity of traffic sign.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1040-31.png
	// </td>
	// <td>
	// StVO 1040-31
	// \anchor StVO_1040-31
	// </td>
	// <td>
	// Two time ranges
	// </td>
	// <td>
	// Time range for validity of traffic sign - two ranges.
	// <br>
	// For each time range, include a pair of \c TrafficSignValue
	// messages according to the [\c rules above](\ref TYPE_TIME).
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1040-34.png
	// </td>
	// <td>
	// StVO 1040-34
	// </td>
	// <td>
	// "ab" + Date + Time of the day
	// </td>
	// <td>
	// Restricted from point in time.
	// <br>
	// - Use three \c TrafficSignValue messages to indicate
	// respectively the day of the month, the month of the year,
	// and the hour of the day corresponding to the start of the
	// restriction.
	// - The first two \c TrafficSignValue::value_unit should be
	// set to \c TrafficSignValue::UNIT_NO_UNIT.
	// - For the last \c TrafficSignValue, \c
	// TrafficSignValue::value indicates the time elapsed since
	// midnight of the corresponding day, and \c
	// TrafficSignValue::value_unit indicates the unit this time is
	// expressed in, e.g. in min.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1040-35.png
	// </td>
	// <td>
	// StVO 1040-35
	// \anchor NOISE_PROTECTION2
	// </td>
	// <td>
	// &rdquo;L&auml;rmschutz&rdquo; + time range
	// </td>
	// <td>
	// Noise protection with time limit.
	// <br>
	// See [\c Noise protection](\ref NOISE_PROTECTION_TEXT).
	// </tt>
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1040-36.png
	// </td>
	// <td>
	// StVO 1040-36
	// </td>
	// <td>
	// "Schulweg" + time range
	// </td>
	// <td>
	// Way to or from school with time limit.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1042-30.png
	// </td>
	// <td>
	// StVO 1042-30
	// </td>
	// <td>
	// "werktags"
	// </td>
	// <td>
	// Working days.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1042-31.png
	// </td>
	// <td>
	// StVO 1042-31
	// \anchor StVO_1042-31
	// </td>
	// <td>
	// "werktags" + time range
	// </td>
	// <td>
	// Working days with time limit.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1042-32.png
	// </td>
	// <td>
	// StVO 1042-32
	// </td>
	// <td>
	// "werktags" + two time ranges
	// </td>
	// <td>
	// Restricted to working days with two time intervals.
	// <br>
	// For each time range, include a pair of \c TrafficSignValue
	// messages according to the [\c rules above](\ref TYPE_TIME).
	// <br>
	// See also: [\c Two time ranges](\ref StVO_1040-31).
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1042-33.png
	// </td>
	// <td>
	// StVO 1042-33
	// </td>
	// <td>
	// "Mo-Fr" + time range
	// </td>
	// <td>
	// Time range for validity of traffic sign with days of the
	// week.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1042-34.png
	// </td>
	// <td>
	// StVO 1042-34
	// </td>
	// <td>
	// "Di,Do,Fr" + time range
	// </td>
	// <td>
	// Tuesdays, Thursdays and Fridays with time limit.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1042-35.png
	// </td>
	// <td>
	// StVO 1042-35
	// </td>
	// <td>
	// "an Sonn- und Feiertagen" + time range
	// </td>
	// <td>
	// Restricted times, Sundays and public holidays only.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1042-36.png
	// </td>
	// <td>
	// StVO 1042-36
	// </td>
	// <td>
	// &rdquo;Schulbus werktags au&szlig;er samstags&rdquo; + two
	// time ranges
	// </td>
	// <td>
	// School bus, restricted to daytimes
	// <br>
	// For each time range, include a pair of \c
	// TrafficSignValue messages according to the
	// [\c rules above](\ref TYPE_TIME).
	// <br>
	// See also: [\c Two time ranges](\ref StVO_1040-31),
	// [\c Working days except Saturdays](\ref StVO_1042-38).
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1042-37.png
	// </td>
	// <td>
	// StVO 1042-37
	// </td>
	// <td>
	// "Parken Sa und So erlaubt"
	// </td>
	// <td>
	// Parking on Saturdays and Sundays allowed.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1042-38.png
	// </td>
	// <td>
	// StVO 1042-38
	// \anchor StVO_1042-38
	// </td>
	// <td>
	// &rdquo;werktags au&szlig;er samstags&rdquo;
	// </td>
	// <td>
	// Working days except Saturdays.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1042-51.png
	// </td>
	// <td>
	// StVO 1042-51
	// </td>
	// <td>
	// "Sa und So"
	// </td>
	// <td>
	// Saturdays and Sundays.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1042-53.png
	// </td>
	// <td>
	// StVO 1042-53
	// </td>
	// <td>
	// "werktags Schulweg" + time range
	// </td>
	// <td>
	// Way to or from school with time limit on working days.
	// <br>
	// See also
	// [\c Working days with time limit](\ref StVO_1042-31).
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_TIME TrafficSign_SupplementarySign_Classification_Type = 26
	// A supplementary sign showing a direction alone.
	// \n
	// Use together with the message \c Classification::arrow. The
	// following signs can be built:
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <th>
	// Image
	// </th>
	// <th>
	// StVO-No.
	// </th>
	// <th>
	// Meaning and Remarks
	// </th>
	// </tr>
	// <tr>
	// <td>
	// \image html 1000-13.png
	// </td>
	// <td>
	// StVO 1000-13
	// </td>
	// <td>
	// Detour sign, three-quarter circle.
	// <br>
	// Set \c Classification::arrow to \c
	// Arrow::DIRECTION_CIRCLE_90_DEG_LEFT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1000-23.png
	// </td>
	// <td>
	// StVO 1000-23
	// </td>
	// <td>
	// Detour sign, one-quarter circle.
	// <br>
	// Set \c Classification::arrow to \c
	// Arrow::DIRECTION_CIRCLE_90_DEG_RIGHT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1000-30.png
	// </td>
	// <td>
	// StVO 1000-30
	// </td>
	// <td>
	// Bidirectional traffic sideways.
	// <br>
	// Use two \c Classification::arrow messages. Set one to \c
	// Arrow::DIRECTION_DIRECT_90_DEG_RIGHT and the other one to \c
	// Arrow::DIRECTION_DIRECT_90_DEG_LEFT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1000-31.png
	// </td>
	// <td>
	// StVO 1000-31
	// </td>
	// <td>
	// Bidirectional traffic back and forth.
	// <br>
	// Use two \c Classification::arrow messages. Set one to \c
	// Arrow::DIRECTION_DIRECT_0_DEG and the other one to \c
	// Arrow::DIRECTION_DIRECT_180_DEG.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1000-34.png
	// </td>
	// <td>
	// StVO 1000-34
	// </td>
	// <td>
	// Detour sign, semicircle.
	// <br>
	// Set \c Classification::arrow to \c
	// Arrow::DIRECTION_CIRCLE_0_DEG.
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_ARROW TrafficSign_SupplementarySign_Classification_Type = 30
	// The list of traffic actors to which the main sign's
	// regulation is constrained to.
	// \n
	// Use as many members of the \c Actor enumerator as needed to
	// denote the related traffic actors.
	//
	// The following tables summarize possible configurations for
	// this kind of supplementary signs:
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <th>
	// Image
	// </th>
	// <th>
	// StVO-No.
	// </th>
	// <th>
	// \c Actor
	// </th>
	// <th>
	// Meaning and Remarks
	// </th>
	// </tr>
	// <tr>
	// <td>
	// \image html 1000-12.png
	// </td>
	// <td>
	// StVO 1000-12
	// </td>
	// <td>
	// \c #ACTOR_PEDESTRIANS
	// </td>
	// <td>
	// Use sidewalk on left side of roadway.
	// <br>
	// Set \c Classification::arrow to \c
	// Arrow::DIRECTION_DIRECT_90_DEG_LEFT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// <!--
	// \image html 1000-22.png
	// -->
	// </td>
	// <td>
	// StVO 1000-22
	// </td>
	// <td>
	// \c #ACTOR_PEDESTRIANS
	// </td>
	// <td>
	// Use sidewalk on right side of roadway.
	// <br>
	// Set \c Classification::arrow to \c
	// Arrow::DIRECTION_DIRECT_90_DEG_RIGHT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1000-32.png
	// </td>
	// <td>
	// StVO 1000-32
	// </td>
	// <td>
	// \c #ACTOR_BICYCLES
	// </td>
	// <td>
	// Bidirectional traffic bicycles sideways.
	// <br>
	// Use two \c Classification::arrow messages. Set one to \c
	// Arrow::DIRECTION_DIRECT_90_DEG_RIGHT and the other one to \c
	// Arrow::DIRECTION_DIRECT_90_DEG_LEFT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1000-33.png
	// </td>
	// <td>
	// StVO 1000-33
	// </td>
	// <td>
	// \c #ACTOR_BICYCLES
	// </td>
	// <td>
	// Bidirectional traffic bicyclesback and forth.
	// <br>
	// Use two \c Classification::arrow messages. Set one to \c
	// Arrow::DIRECTION_DIRECT_0_DEG and the other one to \c
	// Arrow::DIRECTION_DIRECT_180_DEG.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-50.png
	// </td>
	// <td>
	// StVO 1010-50
	// </td>
	// <td>
	// \c #ACTOR_MOTORIZED_MULTITRACK_VEHICLES
	// </td>
	// <td>
	// Motorized multi-track vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-51.png
	// </td>
	// <td>
	// StVO 1010-51
	// </td>
	// <td>
	// \c #ACTOR_TRUCKS
	// </td>
	// <td>
	// Trucks.
	// \note
	// - In the German StVO, trucks are defined as motorized
	// vehicles that are heavier than 3.5 t.
	// - This supplementary sign also denotes the trucks' tractor
	// units and trailers.
	// - Cars and buses with a total weight superior to 3.5 t are
	// not denoted by this. sign.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-52.png
	// </td>
	// <td>
	// StVO 1010-52
	// </td>
	// <td>
	// \c #ACTOR_BICYCLES
	// </td>
	// <td>
	// Bicycles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-53.png
	// </td>
	// <td>
	// StVO 1010-53
	// </td>
	// <td>
	// \c #ACTOR_PEDESTRIANS
	// </td>
	// <td>
	// Pedestrians.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-54.png
	// </td>
	// <td>
	// StVO 1010-54
	// </td>
	// <td>
	// \c #ACTOR_HORSE_RIDERS
	// </td>
	// <td>
	// Horse riders.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-55.png
	// </td>
	// <td>
	// StVO 1010-55
	// </td>
	// <td>
	// \c #ACTOR_CATTLE
	// </td>
	// <td>
	// Cattles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-56.png
	// </td>
	// <td>
	// StVO 1010-56
	// </td>
	// <td>
	// \c #ACTOR_TRAMS
	// </td>
	// <td>
	// Trams.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-57.png
	// </td>
	// <td>
	// StVO 1010-57
	// </td>
	// <td>
	// \c #ACTOR_BUSES
	// </td>
	// <td>
	// Buses.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-58.png
	// </td>
	// <td>
	// StVO 1010-58
	// </td>
	// <td>
	// \c #ACTOR_CARS
	// </td>
	// <td>
	// Passenger cars.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-59.png
	// </td>
	// <td>
	// StVO 1010-59
	// </td>
	// <td>
	// \c #ACTOR_CARS_WITH_TRAILERS
	// </td>
	// <td>
	// Passenger cars with trailers.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-60.png
	// </td>
	// <td>
	// StVO 1010-60
	// </td>
	// <td>
	// \c #ACTOR_TRUCKS_WITH_TRAILERS
	// </td>
	// <td>
	// Trucks with trailers.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-61.png
	// </td>
	// <td>
	// StVO 1010-61
	// </td>
	// <td>
	// \c #ACTOR_TRACTORS
	// </td>
	// <td>
	// Tractors.
	// \note In the German StVO, tractors are defined as motorized
	// vehicles that are not allowed to, or cannot, drive faster
	// than 25 km/h.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-62.png
	// </td>
	// <td>
	// StVO 1010-62
	// </td>
	// <td>
	// \c #ACTOR_MOTORCYCLES
	// </td>
	// <td>
	// Motorbikes.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-63.png
	// </td>
	// <td>
	// StVO 1010-63
	// </td>
	// <td>
	// \c #ACTOR_MOPEDS
	// </td>
	// <td>
	// Mopeds.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-64.png
	// </td>
	// <td>
	// StVO 1010-64
	// </td>
	// <td>
	// \c #ACTOR_HORSE_CARRIAGES
	// </td>
	// <td>
	// Horse carriages.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-65.png
	// </td>
	// <td>
	// StVO 1010-65
	// </td>
	// <td>
	// \c #ACTOR_EBIKES
	// </td>
	// <td>
	// E-bikes.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-66.png
	// </td>
	// <td>
	// StVO 1010-66
	// </td>
	// <td>
	// \c #ACTOR_ELECTRIC_VEHICLES
	// </td>
	// <td>
	// Electric vehicles.
	// <br>
	// See also: [\c StVO 1050-33](\ref EV_T).
	// \anchor EV_I
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-67.png
	// </td>
	// <td>
	// StVO 1010-67
	// </td>
	// <td>
	// \c #ACTOR_CAMPERS
	// </td>
	// <td>
	// Campers.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-32.png
	// </td>
	// <td>
	// StVO 1012-32
	// </td>
	// <td>
	// \c #ACTOR_BICYCLES
	// </td>
	// <td>
	// Cyclists must walk.
	// <br>
	// Set \c TrafficSignValue::text as "absteigen".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1049-11.png
	// </td>
	// <td>
	// StVO 1049-11
	// </td>
	// <td>
	// \c #ACTOR_TRACTORS
	// </td>
	// <td>
	// Overtaking of tractors allowed.
	// <br>
	// Set \c TrafficSignValue::text as
	// &rdquo;d&uuml;rfen &uuml;berholt werden&rdquo;.
	// \note In the German StVO, tractors are defined as motorized
	// vehicles that are not allowed to, or cannot, drive faster
	// than 25 km/h.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1050-30.png
	// </td>
	// <td>
	// StVO 1050-30
	// </td>
	// <td>
	// \c #ACTOR_TAXIS
	// </td>
	// <td>
	// Taxis.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1050-31.png
	// </td>
	// <td>
	// StVO 1050-31
	// </td>
	// <td>
	// \c #ACTOR_TAXIS
	// </td>
	// <td>
	// A number of taxis.
	// <br>
	// Use \c TrafficSignValue::value to indicate the number of
	// taxis. Set \c TrafficSignValue::value_unit to \c
	// TrafficSignValue::UNIT_NO_UNIT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1050-32.png
	// </td>
	// <td>
	// StVO 1050-32
	// </td>
	// <td>
	// \c #ACTOR_ELECTRIC_VEHICLES
	// </td>
	// <td>
	// Electric vehicles during the charging process.
	// <br>
	// Set \c TrafficSignValue::text as &rdquo;w&auml;hrend des
	// Ladevorgangs&rdquo;.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1050-33.png
	// </td>
	// <td>
	// StVO 1050-33
	// </td>
	// <td>
	// \c #ACTOR_ELECTRIC_VEHICLES
	// </td>
	// <td>
	// Electric vehicles.
	// <br>
	// See also: [\c StVO 1010-66](\ref EV_I).
	// \anchor EV_T
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1060-32.png
	// </td>
	// <td>
	// StVO 1060-32
	// </td>
	// <td>
	// Two actors \c #ACTOR_BUSES and \c #ACTOR_CARS_WITH_TRAILERS.
	// </td>
	// <td>
	// Buses and cars with trailers.
	// <br>
	// Set \c TrafficSignValue::text as "auch".
	// </td>
	// </tr>
	// </table>
	//
	// Also, some of the German StVO traffic signs denoting traffic
	// actors for which the main sign's regulation applies
	// exclusively can be constructed.
	//
	// \note
	// In the German StVO, these signs typically include the word
	// "Nur".
	//
	// <table cellspacing="0" ellpadding="0">
	// <tr>
	// <th>
	// Image
	// </th>
	// <th>
	// StVO-No.
	// </th>
	// <th>
	// \c
	// Actor
	// </th>
	// <th>
	// Meaning and Remarks
	// </th>
	// </tr>
	// <tr>
	// <td>
	// \image html 1044-10.png
	// </td>
	// <td>
	// StVO 1044-10
	// </td>
	// <td>
	// \c #ACTOR_DISABLED_PERSONS
	// </td>
	// <td>
	// Only disabled persons with an exceptional walking disability
	// and blind persons.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1044-11.png
	// </td>
	// <td>
	// StVO 1044-11
	// </td>
	// <td>
	// \c #ACTOR_DISABLED_PERSONS
	// </td>
	// <td>
	// Only disabled persons with parking permit.
	// <br>
	// Set \c TrafficSignValue::text as "mit Parkausweis
	// Nr. XXXX".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1044-12.png
	// </td>
	// <td>
	// StVO 1044-12
	// </td>
	// <td>
	// \c#ACTOR_DISABLED_PERSONS
	// </td>
	// <td>
	// Only disabled persons with an exceptional walking disability
	// and blind persons, with number of parking places.
	// <br>
	// Use \c TrafficSignValue::value to indicate the number of
	// parking places. Set \c TrafficSignValue::value_unit to \c
	// TrafficSignValue::UNIT_NO_UNIT. Set \c
	// TrafficSignValue::text as &rdquo;Parkst&auml;nde&rdquo;.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1044-30.png
	// </td>
	// <td>
	// StVO 1044-30
	// </td>
	// <td>
	// \c #ACTOR_RESIDENTS
	// </td>
	// <td>
	// Only residents with parking permit.
	// <br>
	// Set \c TrafficSignValue::text as "mit Parkausweis Nr. XXXX".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1048-14.png
	// </td>
	// <td>
	// StVO 1048-14
	// </td>
	// <td>
	// \c #ACTOR_TRUCKS_WITH_SEMITRAILERS
	// </td>
	// <td>
	// Only trucks with semi-trailers.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1048-15.png
	// </td>
	// <td>
	// StVO 1048-15
	// </td>
	// <td>
	// Two actors: one set to \c #ACTOR_TRUCKS_WITH_SEMITRAILERS
	// and the other one set to \c #ACTOR_TRUCKS_WITH_TRAILERS.
	// </td>
	// <td>
	// Only trucks with trailers and trucks with semi-trailers.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1048-18.png
	// </td>
	// <td>
	// StVO 1048-18
	// </td>
	// <td>
	// \c #ACTOR_RAILROAD_TRAFFIC
	// </td>
	// <td>
	// Only railroad traffic.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1048-20.png
	// </td>
	// <td>
	// StVO 1048-20
	// </td>
	// <td>
	// Two actors: one set to \c #ACTOR_CARS_WITH_TRAILERS
	// and the other one set to \c #ACTOR_TRUCKS.
	// </td>
	// <td>
	// Only trucks with trailers and trucks with semi-trailers.
	// \note
	// - In the German StVO, trucks are defined as motorized
	// vehicles that are heavier than 3.5 t.
	// - This supplementary sign also denotes the trucks'
	// tractor units and trailers.
	// - This supplementary sign excludes passenger cars and
	// buses.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1049-12.png
	// </td>
	// <td>
	// StVO 1049-12
	// </td>
	// <td>
	// \c #ACTOR_MILITARY_VEHICLES
	// </td>
	// <td>
	// Only military vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1049-13.png
	// </td>
	// <td>
	// StVO 1049-13
	// </td>
	// <td>
	// Three actors, set to respectively \c #ACTOR_TRUCKS, \c
	// #ACTOR_BUSES and \c #ACTOR_CARS_WITH_TRAILERS.
	// </td>
	// <td>
	// Only trucks, buses, passenger cars with trailers.
	// <br>
	// \note
	// - In the German StVO, trucks are defined as motorized
	// vehicles that are heavier than 3.5 t.
	// - This supplementary sign also denotes the trucks' tractor
	// units and trailers.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1052-30.png
	// </td>
	// <td>
	// StVO 1052-30
	// </td>
	// <td>
	// \c #ACTOR_HAZARDOUS_GOODS_VEHICLES
	// </td>
	// <td>
	// Only hazardous goods vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1052-31.png
	// </td>
	// <td>
	// StVO 1052-31
	// </td>
	// <td>
	// \c #ACTOR_WATER_POLLUTANT_VEHICLES
	// </td>
	// <td>
	// Only water pollutant vehicles.
	// </td>
	// </tr>
	// </table>
	//
	// In addition, some of the German StVO supplementary signs
	// with actors that receive an explicit allowance to use
	// the street or the shoulder can be constructed:
	// <table cellspacing="0" ellpadding="0">
	// <tr>
	// <th>
	// Image
	// </th>
	// <th>
	// StVO-No.
	// </th>
	// <th>
	// \c Actor
	// </th>
	// <th>
	// Meaning and Remarks
	// </th>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-10.png
	// </td>
	// <td>
	// StVO 1010-10
	// </td>
	// <td>
	// \c #ACTOR_CHILDREN
	// </td>
	// <td>
	// Children playing on the road and shoulder allowed.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-11.png
	// </td>
	// <td>
	// StVO 1010-11
	// </td>
	// <td>
	// \c #ACTOR_WINTER_SPORTSPEOPLE
	// </td>
	// <td>
	// Winter sports allowed.
	// <br>
	// Use \c TrafficSignValue::value to indicate the number
	// of taxis.
	// Set \c TrafficSignValue::value_unit to \c
	// TrafficSignValue::UNIT_NO_UNIT.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-12.png
	// </td>
	// <td>
	// StVO 1010-12
	// </td>
	// <td>
	// \c#ACTOR_TRAILERS
	// </td>
	// <td>
	// Trailers allowed.
	// \note In the German StVO, this sign states that Trailers can
	// park here without the usual two week temporal parking
	// restriction.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1010-13.png
	// </td>
	// <td>
	// StVO 1010-13
	// </td>
	// <td>
	// \c #ACTOR_CARAVANS
	// </td>
	// <td>
	// Caravans allowed.
	// \note In the German StVO, this sign states that Caravans can
	// park here without the usual two week temporal parking
	// restriction.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1040-10.png
	// </td>
	// <td>
	// StVO 1040-10
	// </td>
	// <td>
	// \c #ACTOR_WINTER_SPORTSPEOPLE
	// </td>
	// <td>
	// Winter sports within time range allowed.
	// <br>
	// In order to indicate an allowance limited by a time period,
	// use one \c TrafficSignValue message to indicate its start and
	// one \c TrafficSignValue message to indicate its end. For
	// each \c TrafficSignValue, \c TrafficSignValue::value
	// indicates the time elapsed since midnight every day, and \c
	// TrafficSignValue::value_unit indicates the unit this time is
	// expressed in, e.g. in min.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-55.png
	// </td>
	// <td>
	// StVO 1007-55
	// </td>
	// <td>
	// \c #ACTOR_WINTER_SPORTSPEOPLE
	// </td>
	// <td>
	// Ski run crosses.
	// <br>
	// Set \c TrafficSignValue::text as "kreuzt".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1007-56.png
	// </td>
	// <td>
	// StVO 1007-56
	// </td>
	// <td>
	// \c #ACTOR_WINTER_SPORTSPEOPLE
	// </td>
	// <td>
	// Ski trail.
	// <br>
	// Set \c TrafficSignValue::text as "kreuzt".
	// </td>
	// </tr>
	// </table>
	//
	// Finally, the signs
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1006-30.png
	// </td>
	// <td>
	// StVO
	// 1006-30
	// </td>
	// <td>
	// \c #ACTOR_CARS_WITH_CARAVANS
	// </td>
	// <td>
	// Slide danger for car/caravan combinations under strong winds.
	// <br>
	// Set \c TrafficSignValue::text as "Schleudergefahr".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1012-33.png
	// </td>
	// <td>
	// StVO
	// 1012-33
	// </td>
	// <td>
	// \c #ACTOR_MOPEDS
	// </td>
	// <td>
	// No mopeds.
	// <br>
	// Set \c TrafficSignValue::text as "keine".
	// </td>
	// </tr>
	// </table>
	// can be incorporated.
	TrafficSign_SupplementarySign_Classification_TYPE_CONSTRAINED_TO TrafficSign_SupplementarySign_Classification_Type = 46
	// The list of traffic actors for which the main sign's
	// regulation does not apply or have a special driving
	// allowance.
	// \n
	// Use as many members of the \c Actor enumerator
	// as needed to denote the excepted traffic actors:
	//
	// \note
	// In the German StVO, these signs include the word "frei".
	//
	// The following table summarizes possible configurations for
	// this kind of supplementary signs:
	//
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <th>
	// Image
	// </th>
	// <th>
	// StVO-No.
	// </th>
	// <th>
	// \c Actor
	// </th>
	// <th>
	// Meaning and Remarks
	// </th>
	// </tr>
	// <tr>
	// <td>
	// \image html 1020-11.png
	// </td>
	// <td>
	// StVO 1020-11
	// </td>
	// <td>
	// \c #ACTOR_DISABLED_PERSONS
	// </td>
	// <td>
	// Except disabled persons with parking permit.
	// <br>
	// Set \c TrafficSignValue::text as "mit Parkausweis Nr. XXXX".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1020-12.png
	// </td>
	// <td>
	// StVO 1020-12
	// </td>
	// <td>
	// Two actors: one set to \c #ACTOR_BICYCLES and the other one
	// set to \c #ACTOR_RESIDENTS.
	// </td>
	// <td>
	// Except cyclists and residents.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1020-14.png
	// </td>
	// <td>
	// StVO 1020-14
	// </td>
	// <td>
	// \c #ACTOR_WINTER_SPORTSPEOPLE
	// </td>
	// <td>
	// Except winter sportspeople.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1020-30.png
	// </td>
	// <td>
	// StVO 1020-30
	// </td>
	// <td>
	// \c #ACTOR_RESIDENTS
	// </td>
	// <td>
	// Except residents.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1020-31.png
	// </td>
	// <td>
	// StVO 1020-31
	// </td>
	// <td>
	// \c #ACTOR_RESIDENTS
	// </td>
	// <td>
	// Except residents or free parking.
	// </td>
	// <br>
	// Set \c TrafficSignValue::text as "oder Parken".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1020-32.png
	// </td>
	// <td>
	// StVO 1020-32
	// </td>
	// <td>
	// \c #ACTOR_RESIDENTS
	// </td>
	// <td>
	// Except residents with parking permit.
	// <br>
	// Set \c TrafficSignValue::text as "mit Parkausweis Nr. XXXX".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1022-10.png
	// </td>
	// <td>
	// StVO 1022-10
	// </td>
	// <td>
	// \c #ACTOR_BICYCLES
	// </td>
	// <td>
	// Except bicycles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1022-11.png
	// </td>
	// <td>
	// StVO 1022-11
	// </td>
	// <td>
	// \c #ACTOR_MOPEDS
	// </td>
	// <td>
	// Except mopeds.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1022-12.png
	// </td>
	// <td>
	// StVO 1022-12
	// </td>
	// <td>
	// \c #ACTOR_MOTORCYCLES
	// </td>
	// <td>
	// Except motorcycles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1022-13.png
	// </td>
	// <td>
	// StVO 1022-13
	// </td>
	// <td>
	// \c #ACTOR_EBIKES
	// </td>
	// <td>
	// Except e-bikes.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1022-14.png
	// </td>
	// <td>
	// StVO 1022-14
	// </td>
	// <td>
	// Two actors: one set to \c #ACTOR_BICYCLES and the other one
	// set to \c #ACTOR_MOPEDS.
	// </td>
	// <td>
	// Except bicycles and mopeds.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1022-15.png
	// </td>
	// <td>
	// StVO 1022-15
	// </td>
	// <td>
	// Two actors: one set to \c #ACTOR_EBIKES and the other one
	// set to \c #ACTOR_MOPEDS.
	// </td>
	// <td>
	// Except e-bikes and mopeds.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1024-10.png
	// </td>
	// <td>
	// StVO 1024-10
	// </td>
	// <td>
	// \c #ACTOR_CARS
	// </td>
	// <td>
	// Except passenger cars.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1024-11.png
	// </td>
	// <td>
	// StVO 1024-11
	// </td>
	// <td>
	// \c #ACTOR_CARS_WITH_TRAILERS
	// </td>
	// <td>
	// Except passenger cars with trailers.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1024-12.png
	// </td>
	// <td>
	// StVO 1024-12
	// </td>
	// <td>
	// \c #ACTOR_TRUCKS
	// </td>
	// <td>
	// Except trucks, their tractor unit and their trailers.
	// \note
	// - In the German StVO, trucks are defined as motorized
	// vehicles that are heavier than 3.5 t.
	// - This supplementary sign also denotes the trucks' tractor
	// units and trailers.
	// - Cars and buses with a total weight superior to 3.5 t are
	// not exempted of a rule by this sign.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1024-13.png
	// </td>
	// <td>
	// StVO 1024-13
	// </td>
	// <td>
	// \c #ACTOR_TRUCKS_WITH_TRAILERS
	// </td>
	// <td>
	// Except trucks with trailers.
	// \note
	// - In the German StVO, trucks are defined as motorized
	// vehicles that are heavier than 3.5 t.
	// - This supplementary sign also denotes the trucks' tractor
	// units and trailers.
	// - Cars and buses with a total weight superior to 3.5 t are
	// not exempted of a rule by this sign.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1024-14.png
	// </td>
	// <td>
	// StVO 1024-14
	// </td>
	// <td>
	// \c #ACTOR_BUSES
	// </td>
	// <td>
	// Except buses.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1024-15.png
	// </td>
	// <td>
	// StVO 1024-15
	// </td>
	// <td>
	// \c #ACTOR_RAILROAD_TRAFFIC
	// </td>
	// <td>
	// Except railroad traffic.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1024-16.png
	// </td>
	// <td>
	// StVO 1024-16
	// </td>
	// <td>
	// \c #ACTOR_TRAMS
	// </td>
	// <td>
	// Except trams.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1024-17.png
	// </td>
	// <td>
	// StVO 1024-17
	// </td>
	// <td>
	// \c #ACTOR_TRACTORS
	// </td>
	// <td>
	// Except tractors.
	// \note In the German StVO, tractors are defined as motorized
	// vehicles that are not allowed to, or cannot, drive faster
	// than 25 km/h.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1024-18.png
	// </td>
	// <td>
	// StVO 1024-18
	// </td>
	// <td>
	// \c #ACTOR_HORSE_CARRIAGES
	// </td>
	// <td>
	// Except horse carriages.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1024-19.png
	// </td>
	// <td>
	// StVO 1024-19
	// </td>
	// <td>
	// \c #ACTOR_CAMPERS
	// </td>
	// <td>
	// Except campers with a maximum allowed mass.
	// <br>
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit (e.g. t) to indicate the mass.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1024-20.png
	// </td>
	// <td>
	// StVO 1024-20
	// </td>
	// <td>
	// \c #ACTOR_ELECTRIC_VEHICLES
	// </td>
	// <td>
	// Except electric vehicles.
	// <br>
	// See also: [\c StVO 1026-61](\ref EV_EXCEPT_T).
	// \anchor EV_EXCEPT_I
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-31.png
	// </td>
	// <td>
	// StVO 1026-31
	// </td>
	// <td>
	// \c #ACTOR_BUSES
	// </td>
	// <td>
	// Except buses in occasional service.
	// <br>
	// Set \c TrafficSignValue::text as "im Gelegenheitsverkehr".
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-32.png
	// </td>
	// <td>
	// StVO 1026-32
	// </td>
	// <td>
	// \c #ACTOR_PUBLIC_TRANSPORT_VEHICLES
	// </td>
	// <td>
	// Except public transport vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-33.png
	// </td>
	// <td>
	// StVO 1026-33
	// </td>
	// <td>
	// \c #ACTOR_EMERGENCY_VEHICLES
	// </td>
	// <td>
	// Except emergency vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-34.png
	// </td>
	// <td>
	// StVO 1026-34
	// </td>
	// <td>
	// \c #ACTOR_MEDICAL_VEHICLES
	// </td>
	// <td>
	// Except medical vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-35.png
	// </td>
	// <td>
	// StVO 1026-35
	// </td>
	// <td>
	// \c #ACTOR_DELIVERY_VEHICLES
	// </td>
	// <td>
	// Except delivery vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-36.png
	// </td>
	// <td>
	// StVO 1026-36
	// </td>
	// <td>
	// \c #ACTOR_AGRICULTURAL_VEHICLES
	// </td>
	// <td>
	// Except agricultural vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-37.png
	// </td>
	// <td>
	// StVO 1026-37
	// </td>
	// <td>
	// \c #ACTOR_FORESTRY_VEHICLES
	// </td>
	// <td>
	// Except forestry vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-38.png
	// </td>
	// <td>
	// StVO 1026-38
	// </td>
	// <td>
	// Two actors: one set to \c #ACTOR_FORESTRY_VEHICLES and
	// the other one set to \c #ACTOR_AGRICULTURAL_VEHICLES.
	// </td>
	// <td>
	// Except agricultural and forestry vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-39.png
	// </td>
	// <td>
	// StVO 1026-39
	// </td>
	// <td>
	// \c #ACTOR_OPERATIONAL_AND_UTILITY_VEHICLES
	// </td>
	// <td>
	// Except operational and utility vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-60.png
	// </td>
	// <td>
	// StVO 1026-60
	// </td>
	// <td>
	// \c #ACTOR_ELECTRIC_VEHICLES
	// </td>
	// <td>
	// Except electric vehicles during the charging process.
	// <br>
	// Set \c TrafficSignValue::text as
	// &rdquo;w&auml;hrend des Ladevorgangs&rdquo;
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-61.png
	// </td>
	// <td>
	// StVO 1026-61
	// </td>
	// <td>
	// \c #ACTOR_ELECTRIC_VEHICLES
	// </td>
	// <td>
	// Except electric vehicles.
	// <br>
	// See also: [\c StVO 1024-20](\ref EV_EXCEPT_I).
	// \anchor EV_EXCEPT_T
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-62.png
	// </td>
	// <td>
	// StVO 1026-62
	// </td>
	// <td>
	// \c #ACTOR_SLURRY_TRANSPORT
	// </td>
	// <td>
	// Except slurry transport.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1026-63.png
	// </td>
	// <td>
	// StVO 1026-63
	// </td>
	// <td>
	// \c #ACTOR_EBIKES
	// </td>
	// <td>
	// Except e-bikes.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1028-30.png
	// </td>
	// <td>
	// StVO 1028-30
	// </td>
	// <td>
	// \c #ACTOR_CONSTRUCTION_VEHICLES
	// </td>
	// <td>
	// Except construction vehicles.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1028-32.png
	// </td>
	// <td>
	// StVO 1028-32
	// </td>
	// <td>
	// \c #ACTOR_RESIDENTS
	// </td>
	// <td>
	// Exception for residents up to construction site.
	// <br>
	// Set \c TrafficSignValue::text as "bis Baustelle"
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1028-34.png
	// </td>
	// <td>
	// StVO 1028-34
	// </td>
	// <td>
	// \c #ACTOR_FERRY_USERS
	// </td>
	// <td>
	// Except ferry users.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1031-50.png
	// </td>
	// <td>
	// StVO 1031-50
	// </td>
	// <td>
	// Three actors, set to respectively \c
	// #ACTOR_VEHICLES_WITH_RED_BADGES,
	// \c #ACTOR_VEHICLES_WITH_YELLOW_BADGES and \c
	// #ACTOR_VEHICLES_WITH_GREEN_BADGES
	// </td>
	// <td>
	// Vehicles with red, yellow or green badges allowed
	// \note Exemption from traffic ban according to 40(1) of the
	// Federal Immission Control Act.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1031-51.png
	// </td>
	// <td>
	// StVO 1031-51
	// </td>
	// <td>
	// Two actors, set to respectively \c
	// #ACTOR_VEHICLES_WITH_YELLOW_BADGES and \c
	// #ACTOR_VEHICLES_WITH_GREEN_BADGES
	// </td>
	// <td>
	// Vehicles with yellow or green badges allowed
	// \note Exemption from traffic ban according to 40(1) of the
	// Federal Immission Control Act.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1031-52.png
	// </td>
	// <td>
	// StVO 1031-52
	// </td>
	// <td>
	// \c #ACTOR_VEHICLES_WITH_GREEN_BADGES
	// </td>
	// <td>
	// Vehicles with green badges allowed
	// \note Exemption from traffic ban according to 40(1) of the
	// Federal Immission Control Act.
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_EXCEPT TrafficSign_SupplementarySign_Classification_Type = 45
	// Traffic sign is valid for a certain distance.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 1001-30.png "StVO 1001-30"
	// <td>
	// <!--
	// \image html 1001-31.png
	// -->
	// <td>
	// <B>
	// StVO 1001-31
	// </B>
	// <td>
	// \image html 1001-32.png "StVO 1001-32"
	// <td>
	// \image html 1001-33.png "StVO 1001-33"
	// <td>
	// \image html 1001-34.png "StVO 1001-34"
	// <td>
	// \image html 1001-35.png "StVO 1001-35"
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit (e.g. m) to indicate the
	// distance.
	TrafficSign_SupplementarySign_Classification_TYPE_VALID_FOR_DISTANCE TrafficSign_SupplementarySign_Classification_Type = 3
	// Priority road from bottom to left in the intersection.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1002-10.png
	// </td>
	// <td>
	// StVO 1002-10
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PRIORITY_ROAD_BOTTOM_LEFT_FOUR_WAY TrafficSign_SupplementarySign_Classification_Type = 27
	// Priority road from top to left in the intersection.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleY(-1)">
	// \image html 1002-10.png
	// </td>
	// <td>
	// StVO 1002-11
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PRIORITY_ROAD_TOP_LEFT_FOUR_WAY TrafficSign_SupplementarySign_Classification_Type = 28
	// Priority road from bottom to left, junction from above.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1002-12.png
	// </td>
	// <td>
	// StVO 1002-12
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PRIORITY_ROAD_BOTTOM_LEFT_THREE_WAY_STRAIGHT TrafficSign_SupplementarySign_Classification_Type = 32
	// Priority road from bottom to left, junction from the right.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleX(-1) rotate(-90deg)">
	// \image html 1002-12.png
	// </td>
	// <td>
	// StVO 1002-13
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PRIORITY_ROAD_BOTTOM_LEFT_THREE_WAY_SIDEWAYS TrafficSign_SupplementarySign_Classification_Type = 33
	// Priority road from top to left, junction from below.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleY(-1)">
	// \image html 1002-12.png
	// </td>
	// <td>
	// StVO 1002-14
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PRIORITY_ROAD_TOP_LEFT_THREE_WAY_STRAIGHT TrafficSign_SupplementarySign_Classification_Type = 34
	// Priority road from bottom to right in the intersection.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:rotate(270deg)">
	// \image html 1002-10.png
	// </td>
	// <td>
	// StVO 1002-20
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PRIORITY_ROAD_BOTTOM_RIGHT_FOUR_WAY TrafficSign_SupplementarySign_Classification_Type = 29
	// Priority road from top to right in the intersection.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:rotate(180deg)">
	// \image html 1002-10.png
	// </td>
	// <td>
	// StVO 1002-21
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PRIORITY_ROAD_TOP_RIGHT_FOUR_WAY TrafficSign_SupplementarySign_Classification_Type = 31
	// Priority road from bottom to right, junction from above.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 1002-12.png
	// </td>
	// <td>
	// StVO 1002-22
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PRIORITY_ROAD_BOTTOM_RIGHT_THREE_WAY_STRAIGHT TrafficSign_SupplementarySign_Classification_Type = 35
	// Priority road from bottom to right, junction from the left.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:rotate(-90deg)">
	// \image html 1002-12.png
	// </td>
	// <td>
	// StVO 1002-23
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PRIORITY_ROAD_BOTTOM_RIGHT_THREE_WAY_SIDEWAY TrafficSign_SupplementarySign_Classification_Type = 36
	// Priority road from top to right, junction from below.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:rotate(180deg)">
	// \image html 1002-12.png
	// </td>
	// <td>
	// StVO 1002-24
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PRIORITY_ROAD_TOP_RIGHT_THREE_WAY_STRAIGHT TrafficSign_SupplementarySign_Classification_Type = 37
	// Distance to the start of validity of the traffic sign.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1004-30.png "StVO 1004-30"
	// <td>
	// \image html 1004-31.png "StVO 1004-31"
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit (e.g. m) to indicate the
	// distance.
	//
	// \note For OSI 4.0 compatibility use \c #TYPE_SPACE instead.
	TrafficSign_SupplementarySign_Classification_TYPE_VALID_IN_DISTANCE TrafficSign_SupplementarySign_Classification_Type = 4
	// Stop in e.g. .. m.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1004-32.png
	// </td>
	// <td>
	// StVO 1004-32
	// </td>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit (e.g. m) to indicate the
	// distance.
	//
	// \note For OSI 4.0 compatibility use \c #TYPE_SPACE instead.
	TrafficSign_SupplementarySign_Classification_TYPE_STOP_IN TrafficSign_SupplementarySign_Classification_Type = 25
	// Direction, left-pointing.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1000-10.png
	// </td>
	// <td>
	// StVO 1000-10
	// </td>
	// </tr>
	// </table>
	//
	// \note For OSI 4.0 compatibility use \c #TYPE_ARROW instead.
	TrafficSign_SupplementarySign_Classification_TYPE_LEFT_ARROW TrafficSign_SupplementarySign_Classification_Type = 11
	// Direction of potential danger, left-pointing.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1000-11.png
	// </td>
	// <td>
	// StVO 1000-11
	// </td>
	// </tr>
	// </table>
	//
	// \note For OSI 4.0 compatibility use \c #TYPE_ARROW instead.
	TrafficSign_SupplementarySign_Classification_TYPE_LEFT_BEND_ARROW TrafficSign_SupplementarySign_Classification_Type = 13
	// Direction, right-pointing.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 1000-10.png
	// </td>
	// <td>
	// StVO 1000-20
	// </td>
	// </tr>
	// </table>
	//
	// \note For OSI 4.0 compatibility use \c #TYPE_ARROW instead.
	TrafficSign_SupplementarySign_Classification_TYPE_RIGHT_ARROW TrafficSign_SupplementarySign_Classification_Type = 12
	// Direction of potential danger, right-pointing.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td style="transform:scaleX(-1)">
	// \image html 1000-11.png
	// </td>
	// <td>
	// StVO 1000-21
	// </td>
	// </tr>
	// </table>
	//
	// \note For OSI 4.0 compatibility use \c #TYPE_ARROW instead.
	TrafficSign_SupplementarySign_Classification_TYPE_RIGHT_BEND_ARROW TrafficSign_SupplementarySign_Classification_Type = 14
	// Accident hazard.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 1006-31.png
	// </td>
	// <td>
	// StVO 1006-31
	// </td>
	// </tr>
	// </table>
	//
	// See also: [\c TYPE_TEXT](\ref ACCIDENT_TEXT).
	TrafficSign_SupplementarySign_Classification_TYPE_ACCIDENT TrafficSign_SupplementarySign_Classification_Type = 40
	// Restriction of the validity of the traffic sign to snowy /
	// icy conditions.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// <!--
	// \image html 1007-30.png
	// -->
	// </td>
	// <td>
	// StVO 1007-30
	// </td>
	// </tr>
	// </table>
	//
	// \note The identifier "StVO 1007-30" was used to denote a
	// restriction of the validity of the traffic sign to snowy /
	// icy conditions until the edition of 2013 of the official
	// Catalog of Street Signs of the Federal Road Research
	// Institute of Germany - BASt. Since the edition corresponding
	// to 2017, "StVO 1007-30" is used to denote the hazard of oil
	// trails. See [\c TYPE_OIL](\ref OIL_TEXT).
	TrafficSign_SupplementarySign_Classification_TYPE_SNOW TrafficSign_SupplementarySign_Classification_Type = 9
	// Restriction of the validity of the traffic sign to foggy
	// conditions.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1007-61.png
	// </td>
	// <td>
	// StVO 1007-61
	// </td>
	// </tr>
	// </table>
	//
	// \note For OSI 4.0 compatibility use \c #TYPE_TEXT instead.
	TrafficSign_SupplementarySign_Classification_TYPE_FOG TrafficSign_SupplementarySign_Classification_Type = 8
	// Information on rolling highway.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1010-14.png
	// </td>
	// <td>
	// StVO 1010-14
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_ROLLING_HIGHWAY_INFORMATION TrafficSign_SupplementarySign_Classification_Type = 48
	// Information about services.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1010-15.png
	// </td>
	// <td>
	// StVO 1010-15
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_SERVICES TrafficSign_SupplementarySign_Classification_Type = 47
	// Time range for validity of traffic sign.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 1040-30.png "StVO 1040-30"
	// <td>
	// \image html 1042-33.png "StVO 1042-33"
	// </tr>
	// </table>
	//
	// - Use one \c TrafficSignValue message to indicate the start
	// of the time range and one \c TrafficSignValue message to
	// indicate the end of the time range. For each \c
	// TrafficSignValue, \c TrafficSignValue::value indicates
	// the time elapsed since midnight each day, and \c
	// TrafficSignValue::value_unit indicates the unit this time is
	// expressed in, e.g. in min.
	// - If including start and end days of the week, include two
	// additional \c TrafficSignValue messages. For these messages,
	// use \c TrafficSignValue::value_unit as \c
	// TrafficSignValue::UNIT_NO_UNIT and \c
	// TrafficSignValue::value as an \c integer from 1 to 7,
	// where 1 denotes Monday and 7 denotes Sunday.
	//
	// \note For OSI 4.0 compatibility use \c #TYPE_TIME instead.
	TrafficSign_SupplementarySign_Classification_TYPE_TIME_RANGE TrafficSign_SupplementarySign_Classification_Type = 5
	// Parking disc restrictions.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1040-32.png
	// </td>
	// <td>
	// StVO 1040-32
	// </td>
	// <td>
	// Parking disc restriction
	// </td>
	// <td>
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit (e.g. min) to indicate the
	// allowed duration of parking.
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1040-33.png
	// </td>
	// <td>
	// StVO 1040-33
	// </td>
	// <td>
	// Parking disc restriction for marked parking areas
	// </td>
	// <td>
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit (e.g. min) to indicate the
	// allowed duration of parking. Set \c TrafficSignValue::text
	// to &rdquo;in gekennzeichneten Fl&auml;chen&rdquo;.
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PARKING_DISC_TIME_RESTRICTION TrafficSign_SupplementarySign_Classification_Type = 43
	// Restriction of the validity of the traffic sign depending on
	// the vehicle's weight.
	// <table border="0">
	// <tr>
	// <td>
	// \image html 1053-33.png "StVO 1053-33"
	// <td>
	// \image html 1053-37.png "StVO 1053-37"
	// <td>
	// \image html 1060-33.png "StVO 1060-33"
	// </tr>
	// </table>
	//
	// Use \c TrafficSignValue::value and \c
	// TrafficSignValue::value_unit (e.g. in t) to indicate the
	// weight.
	TrafficSign_SupplementarySign_Classification_TYPE_WEIGHT TrafficSign_SupplementarySign_Classification_Type = 6
	// If "wet surface".
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1053-35.png
	// </td>
	// <td>
	// StVO 1053-35
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_WET TrafficSign_SupplementarySign_Classification_Type = 44
	// Parking constraints.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1053-38.png
	// </td>
	// <td>
	// StVO 1053-38
	// </td>
	// <td>
	// pull in crosswise
	// </td>
	// </tr>
	// <tr>
	// <td>
	// \image html 1053-39.png
	// </td>
	// <td>
	// StVO 1053-39
	// </td>
	// <td>
	// pull in diagonally
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_PARKING_CONSTRAINT TrafficSign_SupplementarySign_Classification_Type = 42
	// No parking, also on verges/shoulder.
	// <table cellspacing="0" cellpadding="0">
	// <tr>
	// <td>
	// \image html 1060-31.png
	// </td>
	// <td>
	// StVO 1060-31
	// </td>
	// </tr>
	// </table>
	TrafficSign_SupplementarySign_Classification_TYPE_NO_WAITING_SIDE_STRIPES TrafficSign_SupplementarySign_Classification_Type = 38
	// Restriction of the validity of the traffic sign to wet /
	// rainy conditions.
	//
	// (No German StVO-Nr., Austrian StVO 1960 supplementary sign
	// g).
	TrafficSign_SupplementarySign_Classification_TYPE_RAIN TrafficSign_SupplementarySign_Classification_Type = 7
	// Combined restriction of the validity of the traffic sign to
	// rainy or snowy conditions denoted by a single supplementary
	// sign (instead of two signs of \c #TYPE_RAIN and \c #TYPE_SNOW
	// respectively).
	//
	// (StVO -, Austria)
	TrafficSign_SupplementarySign_Classification_TYPE_SNOW_RAIN TrafficSign_SupplementarySign_Classification_Type = 10
	// Valid at night.
	TrafficSign_SupplementarySign_Classification_TYPE_NIGHT TrafficSign_SupplementarySign_Classification_Type = 19
	// Stop 4 way.
	TrafficSign_SupplementarySign_Classification_TYPE_STOP_4_WAY TrafficSign_SupplementarySign_Classification_Type = 21
	// Trucks.
	//
	// \note For OSI 4.0 compatibility use the message \c Actor
	// instead.
	TrafficSign_SupplementarySign_Classification_TYPE_TRUCK TrafficSign_SupplementarySign_Classification_Type = 15
	// Tractors may be passed.
	//
	// \note For OSI 4.0 compatibility use the message \c Actor
	// instead.
	TrafficSign_SupplementarySign_Classification_TYPE_TRACTORS_MAY_BE_PASSED TrafficSign_SupplementarySign_Classification_Type = 16
	// Vehicles transporting hazardous goods.
	//
	// \note For OSI 4.0 compatibility use the message \c Actor
	// instead.
	TrafficSign_SupplementarySign_Classification_TYPE_HAZARDOUS TrafficSign_SupplementarySign_Classification_Type = 17
	// Trailers.
	//
	// \note For OSI 4.0 compatibility use the message \c Actor
	// instead.
	TrafficSign_SupplementarySign_Classification_TYPE_TRAILER TrafficSign_SupplementarySign_Classification_Type = 18
	// Zone.
	//
	// \note For OSI 4.0 compatibility use the message \c Actor
	// instead.
	TrafficSign_SupplementarySign_Classification_TYPE_ZONE TrafficSign_SupplementarySign_Classification_Type = 20
	// Motorcycles.
	//
	// \note For OSI 4.0 compatibility use the message \c Actor
	// instead.
	TrafficSign_SupplementarySign_Classification_TYPE_MOTORCYCLE TrafficSign_SupplementarySign_Classification_Type = 22
	// Motorcycles allowed.
	//
	// \note For OSI 4.0 compatibility use the message \c Actor
	// instead.
	TrafficSign_SupplementarySign_Classification_TYPE_MOTORCYCLE_ALLOWED TrafficSign_SupplementarySign_Classification_Type = 23
	// Cars.
	//
	// \note For OSI 4.0 compatibility use the message \c Actor
	// instead.
	TrafficSign_SupplementarySign_Classification_TYPE_CAR TrafficSign_SupplementarySign_Classification_Type = 24
)

func (TrafficSign_SupplementarySign_Classification_Type) Descriptor

func (TrafficSign_SupplementarySign_Classification_Type) Enum

func (TrafficSign_SupplementarySign_Classification_Type) EnumDescriptor deprecated

Deprecated: Use TrafficSign_SupplementarySign_Classification_Type.Descriptor instead.

func (TrafficSign_SupplementarySign_Classification_Type) Number

func (TrafficSign_SupplementarySign_Classification_Type) String

func (TrafficSign_SupplementarySign_Classification_Type) Type

func (*TrafficSign_SupplementarySign_Classification_Type) UnmarshalJSON deprecated

Deprecated: Do not use.

type TrafficSign_Variability

type TrafficSign_Variability int32

Definition of the variability of a traffic sign.

const (
	// Variability type of sign is unknown (must not be used in ground
	// truth).
	TrafficSign_VARIABILITY_UNKNOWN TrafficSign_Variability = 0
	// Other (unspecified but known) variability.
	TrafficSign_VARIABILITY_OTHER TrafficSign_Variability = 1
	// Sign that can change neither semantically nor positionally, e.g. a
	// fixed, immutable, non-temporary traffic sign.
	TrafficSign_VARIABILITY_FIXED TrafficSign_Variability = 2
	// Sign that can change semantically and/or positionally, i.e. it is
	// left unspecified in which way the sign may change.
	//
	// \note This value represents a legacy definition. If possible, please
	// use the more specific values below to indicate the exact nature of
	// variability.
	TrafficSign_VARIABILITY_VARIABLE TrafficSign_Variability = 3
	// Sign that can change positionally but not semantically, e.g. a
	// temporary, immutable traffic sign at construction site.
	TrafficSign_VARIABILITY_MOVABLE TrafficSign_Variability = 4
	// Sign that can change semantically but not positionally, e.g. a
	// digital traffic sign on traffic sign gantry, or an analog prism
	// sign.
	TrafficSign_VARIABILITY_MUTABLE TrafficSign_Variability = 5
	// Sign that can change both semantically and positionally, e.g. a
	// temporary, digital traffic sign at a construction site, or a digital
	// traffic sign attached to a road works vehicle.
	TrafficSign_VARIABILITY_MOVABLE_AND_MUTABLE TrafficSign_Variability = 6
)

func (TrafficSign_Variability) Descriptor

func (TrafficSign_Variability) Enum

func (TrafficSign_Variability) EnumDescriptor deprecated

func (TrafficSign_Variability) EnumDescriptor() ([]byte, []int)

Deprecated: Use TrafficSign_Variability.Descriptor instead.

func (TrafficSign_Variability) Number

func (TrafficSign_Variability) String

func (x TrafficSign_Variability) String() string

func (TrafficSign_Variability) Type

func (*TrafficSign_Variability) UnmarshalJSON deprecated

func (x *TrafficSign_Variability) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type TrafficUpdate

type TrafficUpdate struct {

	// The interface version used by the sender (traffic participant model).
	//
	// \rules
	// is_set
	// \endrules
	Version *InterfaceVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
	// The data timestamp of the simulation environment. Zero time is arbitrary
	// but must be identical for all messages. Zero time does not need to
	// coincide with the UNIX epoch. Recommended is the starting time point of
	// the simulation.
	//
	// \note For moving object update data the timestamp coincides both with
	// the notional simulation time the data applies to and the time it was sent.
	// There is no inherent latency for moving object update data, as opposed
	// to sensor data.
	//
	// \rules
	// is_set
	// \endrules
	Timestamp *Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
	// Updated traffic participant data
	//
	// \note It is not expected that static fields are populated. If they
	// are, they may be ignored by the receiver of this message, for example, dimensions,
	// or vehicle category.  All dynamic fields should be populated where known,
	// for example, velocity, light states, or future trajectory.
	//
	// \note The field is repeated because it is possible to have a trailer attached to
	// a vehicle, see MovingObject::VehicleClassification::has_trailer and
	// MovingObject::VehicleClassification::trailer_id.
	Update []*MovingObject `protobuf:"bytes,3,rep,name=update" json:"update,omitempty"`
	// Internal state for each vehicle.
	//
	// This is an optional field as internal state may not be known or relevant,
	// for example, a trailer might not have any internal state.
	// It is also allowed to only specify internal_state for a subset of the
	// objects referenced in the update.
	//
	// \note This covers any information which cannot be externally perceived
	// and therefore cannot be included in messages available in ground truth.
	//
	// \note The id field from this should match the id in the update field
	// above where the same vehicle is being referenced.
	InternalState []*HostVehicleData `protobuf:"bytes,4,rep,name=internal_state,json=internalState" json:"internal_state,omitempty"`
	// contains filtered or unexported fields
}

\brief The traffic update message is provided by traffic participant models to provide updates to their position, state and future trajectory back to the simulation environment. The message is designed to update data of exactly one traffic participant, optionally with an attached trailer.

\note For reasons of convenience and consistency, the updated information is provided as a MovingObject. Certain fields of this sub-message are not required to be set and will be ignored by the simulation environment, because they are static information. Instead of creating a separate message type for only the non-static information, re-use existing message.

func (*TrafficUpdate) Descriptor deprecated

func (*TrafficUpdate) Descriptor() ([]byte, []int)

Deprecated: Use TrafficUpdate.ProtoReflect.Descriptor instead.

func (*TrafficUpdate) GetInternalState

func (x *TrafficUpdate) GetInternalState() []*HostVehicleData

func (*TrafficUpdate) GetTimestamp

func (x *TrafficUpdate) GetTimestamp() *Timestamp

func (*TrafficUpdate) GetUpdate

func (x *TrafficUpdate) GetUpdate() []*MovingObject

func (*TrafficUpdate) GetVersion

func (x *TrafficUpdate) GetVersion() *InterfaceVersion

func (*TrafficUpdate) ProtoMessage

func (*TrafficUpdate) ProtoMessage()

func (*TrafficUpdate) ProtoReflect

func (x *TrafficUpdate) ProtoReflect() protoreflect.Message

func (*TrafficUpdate) Reset

func (x *TrafficUpdate) Reset()

func (*TrafficUpdate) String

func (x *TrafficUpdate) String() string

type UltrasonicDetection

type UltrasonicDetection struct {

	// Existence probability of the detection not based on history. Value does
	// not depend on any past experience with similar detections.
	//
	// \note Used as confidence measure where a low value means less confidence
	// and a high value indicates strong confidence.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	ExistenceProbability *float64 `protobuf:"fixed64,1,opt,name=existence_probability,json=existenceProbability" json:"existence_probability,omitempty"`
	// ID of the detected object this detection is associated to.
	//
	// \note ID = MAX(uint64) indicates no reference to an object.
	//
	// \rules
	// refers_to: DetectedObject
	// \endrules
	ObjectId *Identifier `protobuf:"bytes,2,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	// Measured distance (radius) of the detection.
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	Distance *float64 `protobuf:"fixed64,3,opt,name=distance" json:"distance,omitempty"`
	// contains filtered or unexported fields
}

\brief Ultrasonic detection from the sensor (same sensor as sender and receiver).

Direct detections:

Sending: Ultrasonic Sensor ID 1

Receiving: Ultrasonic Sensor ID 1

\image html OSI_USSensor_direct.svg

\note Direct detections lie on circles with the sensor as center.

func (*UltrasonicDetection) Descriptor deprecated

func (*UltrasonicDetection) Descriptor() ([]byte, []int)

Deprecated: Use UltrasonicDetection.ProtoReflect.Descriptor instead.

func (*UltrasonicDetection) GetDistance

func (x *UltrasonicDetection) GetDistance() float64

func (*UltrasonicDetection) GetExistenceProbability

func (x *UltrasonicDetection) GetExistenceProbability() float64

func (*UltrasonicDetection) GetObjectId

func (x *UltrasonicDetection) GetObjectId() *Identifier

func (*UltrasonicDetection) ProtoMessage

func (*UltrasonicDetection) ProtoMessage()

func (*UltrasonicDetection) ProtoReflect

func (x *UltrasonicDetection) ProtoReflect() protoreflect.Message

func (*UltrasonicDetection) Reset

func (x *UltrasonicDetection) Reset()

func (*UltrasonicDetection) String

func (x *UltrasonicDetection) String() string

type UltrasonicDetectionData

type UltrasonicDetectionData struct {

	// Header attributes of ultrasonic detection from one ultrasonic sensor.
	Header *SensorDetectionHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// Additional header attributes of ultrasonic detection from one ultrasonic
	// sensor.
	SpecificHeader *UltrasonicDetectionSpecificHeader `protobuf:"bytes,3,opt,name=specific_header,json=specificHeader" json:"specific_header,omitempty"`
	// List of ultrasonic detections.
	Detection []*UltrasonicDetection `protobuf:"bytes,2,rep,name=detection" json:"detection,omitempty"`
	// List of ultrasonic indirect detections (sender and receiver sensors are
	// not the same).
	IndirectDetection []*UltrasonicIndirectDetection `protobuf:"bytes,4,rep,name=indirect_detection,json=indirectDetection" json:"indirect_detection,omitempty"`
	// contains filtered or unexported fields
}

\brief Data from one ultrasonic sensor including a list of detections. This list is generated by the sending ultrasonic sensor. Indirectly received signals from other ultrasonic sensors are included in this message.

Direct detections:

Sending: Ultrasonic Sensor ID 1

Receiving: - Direct: Ultrasonic Sensor ID 1 - Indirect: Ultrasonic Sensor ID 2 and 3

\image html OSI_USSensor.svg

\note Direct detections lie on circles with the sending sensor as center.

func (*UltrasonicDetectionData) Descriptor deprecated

func (*UltrasonicDetectionData) Descriptor() ([]byte, []int)

Deprecated: Use UltrasonicDetectionData.ProtoReflect.Descriptor instead.

func (*UltrasonicDetectionData) GetDetection

func (x *UltrasonicDetectionData) GetDetection() []*UltrasonicDetection

func (*UltrasonicDetectionData) GetHeader

func (*UltrasonicDetectionData) GetIndirectDetection

func (x *UltrasonicDetectionData) GetIndirectDetection() []*UltrasonicIndirectDetection

func (*UltrasonicDetectionData) GetSpecificHeader

func (*UltrasonicDetectionData) ProtoMessage

func (*UltrasonicDetectionData) ProtoMessage()

func (*UltrasonicDetectionData) ProtoReflect

func (x *UltrasonicDetectionData) ProtoReflect() protoreflect.Message

func (*UltrasonicDetectionData) Reset

func (x *UltrasonicDetectionData) Reset()

func (*UltrasonicDetectionData) String

func (x *UltrasonicDetectionData) String() string

type UltrasonicDetectionSpecificHeader

type UltrasonicDetectionSpecificHeader struct {

	// Maximal range of the ultrasonic sensor.
	//
	// Unit: m
	MaxRange *float64 `protobuf:"fixed64,1,opt,name=max_range,json=maxRange" json:"max_range,omitempty"`
	// The current number of valid indirect detections in the detections list.
	// The detections are measured by a virtual sensor (i.e. sender and
	// receiver are different sensors).
	//
	// \note This value has to be set if the list contains invalid detections.
	NumberOfValidIndirectDetections *uint32 `` /* 154-byte string literal not displayed */
	// contains filtered or unexported fields
}

\brief Specific header extension for ultrasonic sensors.

func (*UltrasonicDetectionSpecificHeader) Descriptor deprecated

func (*UltrasonicDetectionSpecificHeader) Descriptor() ([]byte, []int)

Deprecated: Use UltrasonicDetectionSpecificHeader.ProtoReflect.Descriptor instead.

func (*UltrasonicDetectionSpecificHeader) GetMaxRange

func (x *UltrasonicDetectionSpecificHeader) GetMaxRange() float64

func (*UltrasonicDetectionSpecificHeader) GetNumberOfValidIndirectDetections

func (x *UltrasonicDetectionSpecificHeader) GetNumberOfValidIndirectDetections() uint32

func (*UltrasonicDetectionSpecificHeader) ProtoMessage

func (*UltrasonicDetectionSpecificHeader) ProtoMessage()

func (*UltrasonicDetectionSpecificHeader) ProtoReflect

func (*UltrasonicDetectionSpecificHeader) Reset

func (*UltrasonicDetectionSpecificHeader) String

type UltrasonicIndirectDetection

type UltrasonicIndirectDetection struct {

	// Existence probability of the detection not based on history. Value does
	// not depend on any past experience with similar detections.
	//
	// \note Used as confidence measure where a low value means less confidence
	// and a high value indicates strong confidence.
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// is_less_than_or_equal_to: 1
	// \endrules
	ExistenceProbability *float64 `protobuf:"fixed64,1,opt,name=existence_probability,json=existenceProbability" json:"existence_probability,omitempty"`
	// ID of the detected object this detection is associated to.
	//
	// \note ID = MAX(uint64) indicates no reference to an object.
	//
	// \rules
	// refers_to: DetectedObject
	// \endrules
	ObjectId *Identifier `protobuf:"bytes,2,opt,name=object_id,json=objectId" json:"object_id,omitempty"`
	// First parameter b of an ellipsoid equation.
	//
	// Unit: m
	EllipsoidRadial *float64 `protobuf:"fixed64,3,opt,name=ellipsoid_radial,json=ellipsoidRadial" json:"ellipsoid_radial,omitempty"`
	// Second parameter b of an ellipsoid equation.
	//
	// Unit: m
	EllipsoidAxial *float64 `protobuf:"fixed64,4,opt,name=ellipsoid_axial,json=ellipsoidAxial" json:"ellipsoid_axial,omitempty"`
	// The ID of the sensor's receiver. Sender ID is stored in the header \c
	// SensorDetectionHeader.
	ReceiverId *Identifier `protobuf:"bytes,5,opt,name=receiver_id,json=receiverId" json:"receiver_id,omitempty"`
	// The vector to the receiver's origin in sending ultrasonic sensor frame.
	// The vector is also the direction of \c #ellipsoid_axial.
	ReceiverOrigin *Vector3D `protobuf:"bytes,6,opt,name=receiver_origin,json=receiverOrigin" json:"receiver_origin,omitempty"`
	// contains filtered or unexported fields
}

\brief Ultrasonic detection received by another ultrasonic sensor (different sensors as sender and receiver).

Indirect detections:

Sending: Ultrasonic Sensor ID 1

Receiving: Ultrasonic Sensor ID 2 and 3

\image html OSI_USSensor_indirect.svg

\note Indirect detections lie on ellipses with the sending resp. receiving sensor in the focal points.

func (*UltrasonicIndirectDetection) Descriptor deprecated

func (*UltrasonicIndirectDetection) Descriptor() ([]byte, []int)

Deprecated: Use UltrasonicIndirectDetection.ProtoReflect.Descriptor instead.

func (*UltrasonicIndirectDetection) GetEllipsoidAxial

func (x *UltrasonicIndirectDetection) GetEllipsoidAxial() float64

func (*UltrasonicIndirectDetection) GetEllipsoidRadial

func (x *UltrasonicIndirectDetection) GetEllipsoidRadial() float64

func (*UltrasonicIndirectDetection) GetExistenceProbability

func (x *UltrasonicIndirectDetection) GetExistenceProbability() float64

func (*UltrasonicIndirectDetection) GetObjectId

func (x *UltrasonicIndirectDetection) GetObjectId() *Identifier

func (*UltrasonicIndirectDetection) GetReceiverId

func (x *UltrasonicIndirectDetection) GetReceiverId() *Identifier

func (*UltrasonicIndirectDetection) GetReceiverOrigin

func (x *UltrasonicIndirectDetection) GetReceiverOrigin() *Vector3D

func (*UltrasonicIndirectDetection) ProtoMessage

func (*UltrasonicIndirectDetection) ProtoMessage()

func (*UltrasonicIndirectDetection) ProtoReflect

func (*UltrasonicIndirectDetection) Reset

func (x *UltrasonicIndirectDetection) Reset()

func (*UltrasonicIndirectDetection) String

func (x *UltrasonicIndirectDetection) String() string

type UltrasonicSensorView

type UltrasonicSensorView struct {

	// Ultrasonic view configuration valid at the time the data was created.
	ViewConfiguration *UltrasonicSensorViewConfiguration `protobuf:"bytes,1,opt,name=view_configuration,json=viewConfiguration" json:"view_configuration,omitempty"`
	// contains filtered or unexported fields
}

\brief Definition of the ultrasonic sensor view.

Ultrasonic specific sensor view data.

func (*UltrasonicSensorView) Descriptor deprecated

func (*UltrasonicSensorView) Descriptor() ([]byte, []int)

Deprecated: Use UltrasonicSensorView.ProtoReflect.Descriptor instead.

func (*UltrasonicSensorView) GetViewConfiguration

func (x *UltrasonicSensorView) GetViewConfiguration() *UltrasonicSensorViewConfiguration

func (*UltrasonicSensorView) ProtoMessage

func (*UltrasonicSensorView) ProtoMessage()

func (*UltrasonicSensorView) ProtoReflect

func (x *UltrasonicSensorView) ProtoReflect() protoreflect.Message

func (*UltrasonicSensorView) Reset

func (x *UltrasonicSensorView) Reset()

func (*UltrasonicSensorView) String

func (x *UltrasonicSensorView) String() string

type UltrasonicSensorViewConfiguration

type UltrasonicSensorViewConfiguration struct {

	// The ID of the sensor at host vehicle's mounting_position.
	//
	// This is the ID of the physical sensor, to be used in its detected
	// features output; it is distinct from the ID of its virtual sensor.
	//
	// The ID is to be provided by the environment simulation, the sensor
	// model is not in a position to provide a useful default value.
	SensorId *Identifier `protobuf:"bytes,1,opt,name=sensor_id,json=sensorId" json:"sensor_id,omitempty"`
	// The physical mounting position of the sensor (origin and orientation
	// of the sensor coordinate system) given in vehicle coordinates [1].
	// The physical position pertains to this detector individually, and
	// governs the sensor-relative coordinates in features detected by this
	// detector.
	//
	// \arg \b x-direction of sensor coordinate system: sensor viewing direction
	// \arg \b z-direction of sensor coordinate system: sensor (up)
	// \arg \b y-direction of sensor coordinate system: perpendicular to x and z
	// right hand system
	//
	// \par Reference:
	// [1] DIN Deutsches Institut fuer Normung e. V. (2013). <em>DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe</em>. (DIN ISO 8855:2013-11). Berlin, Germany.
	//
	// \note The origin of vehicle's coordinate system in world frame is
	// ( \c MovingObject::base . \c BaseMoving::position +
	// Inverse_Rotation_yaw_pitch_roll( \c MovingObject::base . \c
	// BaseMoving::orientation) * \c
	// MovingObject::VehicleAttributes::bbcenter_to_rear) . The orientation of
	// the vehicle's coordinate system is equal to the orientation of the
	// vehicle's bounding box \c MovingObject::base . \c
	// BaseMoving::orientation. \note A default position can be provided by the
	// sensor model (e.g. to indicate the position the model was validated for),
	// but this is optional; the environment simulation must provide a valid
	// mounting position (based on the vehicle configuration) when setting the
	// view configuration.
	MountingPosition *MountingPosition `protobuf:"bytes,2,opt,name=mounting_position,json=mountingPosition" json:"mounting_position,omitempty"`
	// The root mean squared error of the mounting position.
	MountingPositionRmse *MountingPosition `protobuf:"bytes,3,opt,name=mounting_position_rmse,json=mountingPositionRmse" json:"mounting_position_rmse,omitempty"`
	// Field of View in horizontal orientation of the physical sensor.
	//
	// Viewing range: [- \c #field_of_view_horizontal/2,  \c
	// #field_of_view_horizontal/2] azimuth in the sensor frame as defined in \c
	// Spherical3d.
	//
	// Unit: rad
	FieldOfViewHorizontal *float64 `protobuf:"fixed64,4,opt,name=field_of_view_horizontal,json=fieldOfViewHorizontal" json:"field_of_view_horizontal,omitempty"`
	// Field of View in vertical orientation of the physical sensor.
	//
	// Viewing range: [- \c #field_of_view_vertical/2,  \c
	// #field_of_view_vertical/2] elevation in the sensor frame at zero azimuth
	// as defined in \c Spherical3d.
	//
	// Unit: rad
	FieldOfViewVertical *float64 `protobuf:"fixed64,5,opt,name=field_of_view_vertical,json=fieldOfViewVertical" json:"field_of_view_vertical,omitempty"`
	// contains filtered or unexported fields
}

\brief The configuration settings for the Ultrasonic Sensor View to be provided by the environment simulation.

func (*UltrasonicSensorViewConfiguration) Descriptor deprecated

func (*UltrasonicSensorViewConfiguration) Descriptor() ([]byte, []int)

Deprecated: Use UltrasonicSensorViewConfiguration.ProtoReflect.Descriptor instead.

func (*UltrasonicSensorViewConfiguration) GetFieldOfViewHorizontal

func (x *UltrasonicSensorViewConfiguration) GetFieldOfViewHorizontal() float64

func (*UltrasonicSensorViewConfiguration) GetFieldOfViewVertical

func (x *UltrasonicSensorViewConfiguration) GetFieldOfViewVertical() float64

func (*UltrasonicSensorViewConfiguration) GetMountingPosition

func (x *UltrasonicSensorViewConfiguration) GetMountingPosition() *MountingPosition

func (*UltrasonicSensorViewConfiguration) GetMountingPositionRmse

func (x *UltrasonicSensorViewConfiguration) GetMountingPositionRmse() *MountingPosition

func (*UltrasonicSensorViewConfiguration) GetSensorId

func (*UltrasonicSensorViewConfiguration) ProtoMessage

func (*UltrasonicSensorViewConfiguration) ProtoMessage()

func (*UltrasonicSensorViewConfiguration) ProtoReflect

func (*UltrasonicSensorViewConfiguration) Reset

func (*UltrasonicSensorViewConfiguration) String

type UltrasonicSpecificObjectData

type UltrasonicSpecificObjectData struct {

	// Maximum measured distance from one sensor which leads to the calculation
	// of this object.
	//
	// Unit: m
	//
	// \rules
	// is_greater_than_or_equal_to: 0
	// \endrules
	MaximumMeasurementDistanceSensor *float64 `` /* 156-byte string literal not displayed */
	// This value indicates the probability height for the classification in the
	// calculated object.
	//
	// Unit: %
	//
	// \rules
	// is_less_than_or_equal_to: 1
	// is_greater_than_or_equal_to: 0
	// \endrules
	Probability *float64 `protobuf:"fixed64,2,opt,name=probability" json:"probability,omitempty"`
	// This indicates if the detection was calculated based on one or multiple
	// sensors.
	TrilaterationStatus *UltrasonicSpecificObjectData_TrilaterationStatus `` /* 171-byte string literal not displayed */
	// Describes the general moving direction of the detection.
	Trend *UltrasonicSpecificObjectData_Trend `protobuf:"varint,4,opt,name=trend,enum=osi3.UltrasonicSpecificObjectData_Trend" json:"trend,omitempty"`
	// Ultrasonic signalway. Sender to receiver.
	//
	// \note This information can also be derived from the corresponding \c
	// UltrasonicDetection. \c UltrasonicDetection refer to DetectedXXX by \c
	// UltrasonicDetection::object_id.
	Signalway []*UltrasonicSpecificObjectData_Signalway `protobuf:"bytes,5,rep,name=signalway" json:"signalway,omitempty"`
	// contains filtered or unexported fields
}

\brief Message encapsulates all data for detected objects that is specific to ultrasonic sensors.

func (*UltrasonicSpecificObjectData) Descriptor deprecated

func (*UltrasonicSpecificObjectData) Descriptor() ([]byte, []int)

Deprecated: Use UltrasonicSpecificObjectData.ProtoReflect.Descriptor instead.

func (*UltrasonicSpecificObjectData) GetMaximumMeasurementDistanceSensor

func (x *UltrasonicSpecificObjectData) GetMaximumMeasurementDistanceSensor() float64

func (*UltrasonicSpecificObjectData) GetProbability

func (x *UltrasonicSpecificObjectData) GetProbability() float64

func (*UltrasonicSpecificObjectData) GetSignalway

func (*UltrasonicSpecificObjectData) GetTrend

func (*UltrasonicSpecificObjectData) GetTrilaterationStatus

func (*UltrasonicSpecificObjectData) ProtoMessage

func (*UltrasonicSpecificObjectData) ProtoMessage()

func (*UltrasonicSpecificObjectData) ProtoReflect

func (*UltrasonicSpecificObjectData) Reset

func (x *UltrasonicSpecificObjectData) Reset()

func (*UltrasonicSpecificObjectData) String

type UltrasonicSpecificObjectData_Signalway

type UltrasonicSpecificObjectData_Signalway struct {

	// The ID of the ultrasonic sensor's sender.
	SenderId *Identifier `protobuf:"bytes,1,opt,name=sender_id,json=senderId" json:"sender_id,omitempty"`
	// The ID of the ultrasonic sensor's receiver.
	ReceiverId *Identifier `protobuf:"bytes,2,opt,name=receiver_id,json=receiverId" json:"receiver_id,omitempty"`
	// contains filtered or unexported fields
}

\brief Message encapsulates all data for detected objects that is specific to ultrasonic sensors.

func (*UltrasonicSpecificObjectData_Signalway) Descriptor deprecated

func (*UltrasonicSpecificObjectData_Signalway) Descriptor() ([]byte, []int)

Deprecated: Use UltrasonicSpecificObjectData_Signalway.ProtoReflect.Descriptor instead.

func (*UltrasonicSpecificObjectData_Signalway) GetReceiverId

func (*UltrasonicSpecificObjectData_Signalway) GetSenderId

func (*UltrasonicSpecificObjectData_Signalway) ProtoMessage

func (*UltrasonicSpecificObjectData_Signalway) ProtoReflect

func (*UltrasonicSpecificObjectData_Signalway) Reset

func (*UltrasonicSpecificObjectData_Signalway) String

type UltrasonicSpecificObjectData_Trend

type UltrasonicSpecificObjectData_Trend int32

Describes the general moving direction of the detection.

const (
	// Unknown (must not be used in ground truth).
	UltrasonicSpecificObjectData_TREND_UNKNOWN UltrasonicSpecificObjectData_Trend = 0
	// Other (unspecified but known).
	UltrasonicSpecificObjectData_TREND_OTHER UltrasonicSpecificObjectData_Trend = 1
	// Distance (object, sensor) is constant. The object has approached in
	// the past before it was constant.
	UltrasonicSpecificObjectData_TREND_CONSTANT_APPROACHING UltrasonicSpecificObjectData_Trend = 2
	// Distance (object, sensor) is constant. The object has departed in the
	// past before it was constant or there is no history.
	UltrasonicSpecificObjectData_TREND_CONSTANT UltrasonicSpecificObjectData_Trend = 3
	// Distance (object, sensor) is decreasing.
	UltrasonicSpecificObjectData_TREND_APPROACHING UltrasonicSpecificObjectData_Trend = 4
	// Distance (object, sensor) is increasing.
	UltrasonicSpecificObjectData_TREND_DEPARTING UltrasonicSpecificObjectData_Trend = 5
)

func (UltrasonicSpecificObjectData_Trend) Descriptor

func (UltrasonicSpecificObjectData_Trend) Enum

func (UltrasonicSpecificObjectData_Trend) EnumDescriptor deprecated

func (UltrasonicSpecificObjectData_Trend) EnumDescriptor() ([]byte, []int)

Deprecated: Use UltrasonicSpecificObjectData_Trend.Descriptor instead.

func (UltrasonicSpecificObjectData_Trend) Number

func (UltrasonicSpecificObjectData_Trend) String

func (UltrasonicSpecificObjectData_Trend) Type

func (*UltrasonicSpecificObjectData_Trend) UnmarshalJSON deprecated

func (x *UltrasonicSpecificObjectData_Trend) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type UltrasonicSpecificObjectData_TrilaterationStatus

type UltrasonicSpecificObjectData_TrilaterationStatus int32

This indicates if the object was calculated based on one or multiple sensors.

const (
	// Unknown (must not be used in ground truth).
	UltrasonicSpecificObjectData_TRILATERATION_STATUS_UNKNOWN UltrasonicSpecificObjectData_TrilaterationStatus = 0
	// Other (unspecified but known).
	UltrasonicSpecificObjectData_TRILATERATION_STATUS_OTHER UltrasonicSpecificObjectData_TrilaterationStatus = 1
	// No trilateration used.
	UltrasonicSpecificObjectData_TRILATERATION_STATUS_NOT_TRILATERATED UltrasonicSpecificObjectData_TrilaterationStatus = 2
	// Trilateration used.
	UltrasonicSpecificObjectData_TRILATERATION_STATUS_TRILATERATED UltrasonicSpecificObjectData_TrilaterationStatus = 3
)

func (UltrasonicSpecificObjectData_TrilaterationStatus) Descriptor

func (UltrasonicSpecificObjectData_TrilaterationStatus) Enum

func (UltrasonicSpecificObjectData_TrilaterationStatus) EnumDescriptor deprecated

Deprecated: Use UltrasonicSpecificObjectData_TrilaterationStatus.Descriptor instead.

func (UltrasonicSpecificObjectData_TrilaterationStatus) Number

func (UltrasonicSpecificObjectData_TrilaterationStatus) String

func (UltrasonicSpecificObjectData_TrilaterationStatus) Type

func (*UltrasonicSpecificObjectData_TrilaterationStatus) UnmarshalJSON deprecated

Deprecated: Do not use.

type Vector2D

type Vector2D struct {

	// The x-coordinate.
	//
	// Unit: m, m/s, or m/s^2
	X *float64 `protobuf:"fixed64,1,opt,name=x" json:"x,omitempty"`
	// The y-coordinate.
	//
	// Unit: m, m/s, or m/s^2
	Y *float64 `protobuf:"fixed64,2,opt,name=y" json:"y,omitempty"`
	// contains filtered or unexported fields
}

\brief A cartesian 2D vector for positions, velocities or accelerations or its uncertainties.

Units are m for positions, m/s for velocities, and m/s^2 for accelerations.

func (*Vector2D) Descriptor deprecated

func (*Vector2D) Descriptor() ([]byte, []int)

Deprecated: Use Vector2D.ProtoReflect.Descriptor instead.

func (*Vector2D) GetX

func (x *Vector2D) GetX() float64

func (*Vector2D) GetY

func (x *Vector2D) GetY() float64

func (*Vector2D) ProtoMessage

func (*Vector2D) ProtoMessage()

func (*Vector2D) ProtoReflect

func (x *Vector2D) ProtoReflect() protoreflect.Message

func (*Vector2D) Reset

func (x *Vector2D) Reset()

func (*Vector2D) String

func (x *Vector2D) String() string

type Vector3D

type Vector3D struct {

	// The x-coordinate.
	//
	// Unit: m, m/s, or m/s^2
	X *float64 `protobuf:"fixed64,1,opt,name=x" json:"x,omitempty"`
	// The y-coordinate.
	//
	// Unit: m, m/s, or m/s^2
	Y *float64 `protobuf:"fixed64,2,opt,name=y" json:"y,omitempty"`
	// The z-coordinate.
	//
	// Unit: m, m/s, or m/s^2
	Z *float64 `protobuf:"fixed64,3,opt,name=z" json:"z,omitempty"`
	// contains filtered or unexported fields
}

\brief A cartesian 3D vector for positions, velocities or accelerations or its uncertainties.

The coordinate system is defined as right-handed.

Units are m for positions, m/s for velocities, and m/s^2 for accelerations.

func (*Vector3D) Descriptor deprecated

func (*Vector3D) Descriptor() ([]byte, []int)

Deprecated: Use Vector3D.ProtoReflect.Descriptor instead.

func (*Vector3D) GetX

func (x *Vector3D) GetX() float64

func (*Vector3D) GetY

func (x *Vector3D) GetY() float64

func (*Vector3D) GetZ

func (x *Vector3D) GetZ() float64

func (*Vector3D) ProtoMessage

func (*Vector3D) ProtoMessage()

func (*Vector3D) ProtoReflect

func (x *Vector3D) ProtoReflect() protoreflect.Message

func (*Vector3D) Reset

func (x *Vector3D) Reset()

func (*Vector3D) String

func (x *Vector3D) String() string

type VehicleSteeringWheel

type VehicleSteeringWheel struct {

	// Angle of the steering wheel.
	// Zero means the steering wheel is in its center position. A positive value
	// means the steering wheel is turned to the left. A negative value
	// means the steering wheel is turned to the right of the center position.
	//
	// Unit: rad
	Angle *float64 `protobuf:"fixed64,1,opt,name=angle" json:"angle,omitempty"`
	// Angular speed of the steering wheel.
	// Zero means the steering wheel stays in its position. A positive value
	// means the steering wheel is turned to the left. A negative value
	// means the steering wheel is turned to the right.
	//
	// Unit: rad/s
	AngularSpeed *float64 `protobuf:"fixed64,2,opt,name=angular_speed,json=angularSpeed" json:"angular_speed,omitempty"`
	// Torque of the steering wheel to the hand.
	// Zero means there is no force from the steering wheel to the hand of the driver.
	// A positive value means that the steering wheel would turn to the left without driver intervention.
	// A negative value means that the steering wheel would turn to the right without driver intervention.
	//
	// Unit: N*m
	Torque *float64 `protobuf:"fixed64,3,opt,name=torque" json:"torque,omitempty"`
	// contains filtered or unexported fields
}

\brief A description of the steering wheel.

func (*VehicleSteeringWheel) Descriptor deprecated

func (*VehicleSteeringWheel) Descriptor() ([]byte, []int)

Deprecated: Use VehicleSteeringWheel.ProtoReflect.Descriptor instead.

func (*VehicleSteeringWheel) GetAngle

func (x *VehicleSteeringWheel) GetAngle() float64

func (*VehicleSteeringWheel) GetAngularSpeed

func (x *VehicleSteeringWheel) GetAngularSpeed() float64

func (*VehicleSteeringWheel) GetTorque

func (x *VehicleSteeringWheel) GetTorque() float64

func (*VehicleSteeringWheel) ProtoMessage

func (*VehicleSteeringWheel) ProtoMessage()

func (*VehicleSteeringWheel) ProtoReflect

func (x *VehicleSteeringWheel) ProtoReflect() protoreflect.Message

func (*VehicleSteeringWheel) Reset

func (x *VehicleSteeringWheel) Reset()

func (*VehicleSteeringWheel) String

func (x *VehicleSteeringWheel) String() string

type WavelengthData

type WavelengthData struct {

	// The start, or the minimum wavelength value.
	//
	// Unit: m
	Start *float64 `protobuf:"fixed64,1,opt,name=start" json:"start,omitempty"`
	// The end, or the maximum wavelength value.
	//
	// Unit: m
	End *float64 `protobuf:"fixed64,2,opt,name=end" json:"end,omitempty"`
	// Number of samples to be considered within the defined wavelength range.
	// The number of samples includes the start and the end values that are defined in this message, starting from the "start" value.
	// \note This defines the number of wavelengths to be computed during simulation, not to be confused with samples_per_pixel.
	SamplesNumber *float64 `protobuf:"fixed64,3,opt,name=samples_number,json=samplesNumber" json:"samples_number,omitempty"`
	// contains filtered or unexported fields
}

\brief Detailed WavelengthRange message.

Defines the start (minimum) and the end (maximum) values of the wavelength. Additionally, the number of samples within this range is defined in this message.

func (*WavelengthData) Descriptor deprecated

func (*WavelengthData) Descriptor() ([]byte, []int)

Deprecated: Use WavelengthData.ProtoReflect.Descriptor instead.

func (*WavelengthData) GetEnd

func (x *WavelengthData) GetEnd() float64

func (*WavelengthData) GetSamplesNumber

func (x *WavelengthData) GetSamplesNumber() float64

func (*WavelengthData) GetStart

func (x *WavelengthData) GetStart() float64

func (*WavelengthData) ProtoMessage

func (*WavelengthData) ProtoMessage()

func (*WavelengthData) ProtoReflect

func (x *WavelengthData) ProtoReflect() protoreflect.Message

func (*WavelengthData) Reset

func (x *WavelengthData) Reset()

func (*WavelengthData) String

func (x *WavelengthData) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL