DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

Obstacle.h File Reference

Detailed Description

NVIDIA DriveWorks API: World Module

Description: This file defines the world module data structures and APIs.

Definition in file Obstacle.h.

Go to the source code of this file.

Data Structures

struct  dwObstacle
 
struct  dwObstacleArray
 
struct  dwObstacleLinkArray
 dwObstacleArray can be paired with link array information which provides access information across multiple dwObstacleArray shards. More...
 
struct  dwObstacleRDM
 
struct  dwObstacleSector
 
struct  dwObstacleSegment
 
struct  dwObstacleSilhouette
 
struct  dwObstacleSilhouetteArray
 

Macros

#define DW_OBSTACLE_ARRAY_MAX_COUNT   1000
 
#define DW_OBSTACLE_BOUNDARY_POINT_MAX_COUNT   30u
 
#define DW_OBSTACLE_CLASS_ANIMAL_BASE   DW_OBSTACLE_CLASS_IS_ANIMAL + DW_OBSTACLE_CLASS_IS_ANIMATE
 
#define DW_OBSTACLE_CLASS_BIKE_BASE   DW_OBSTACLE_CLASS_IS_BIKE + DW_OBSTACLE_CLASS_IS_ANIMATE
 
#define DW_OBSTACLE_CLASS_IS_ANIMAL   (1 << 13)
 animal mask More...
 
#define DW_OBSTACLE_CLASS_IS_ANIMATE   (1 << 8)
 Canonical classification bits for fast filtering These bits represent the super-class, while all bits represent sub-class. More...
 
#define DW_OBSTACLE_CLASS_IS_BIKE   (1 << 11)
 wheeled VRU mask More...
 
#define DW_OBSTACLE_CLASS_IS_OBJECT   (1 << 14)
 inanimate object (e.g cone) mask More...
 
#define DW_OBSTACLE_CLASS_IS_PEDESTRIAN   (1 << 12)
 pedestrian mask More...
 
#define DW_OBSTACLE_CLASS_IS_UNDEFINED   (1 << 15)
 undefined object More...
 
#define DW_OBSTACLE_CLASS_IS_VEHICLE   (1 << 10)
 vehicle mask More...
 
#define DW_OBSTACLE_CLASS_IS_VIRTUAL   (1 << 9)
 non physical obstacles mask More...
 
#define DW_OBSTACLE_CLASS_OBJECT_BASE   DW_OBSTACLE_CLASS_IS_OBJECT
 
#define DW_OBSTACLE_CLASS_PEDESTRIAN_BASE   DW_OBSTACLE_CLASS_IS_PEDESTRIAN + DW_OBSTACLE_CLASS_IS_ANIMATE
 
#define DW_OBSTACLE_CLASS_UNDEFINED_ANIMATE_BASE   DW_OBSTACLE_CLASS_IS_UNDEFINED + DW_OBSTACLE_CLASS_IS_ANIMATE
 
#define DW_OBSTACLE_CLASS_UNDEFINED_STATIC_BASE   DW_OBSTACLE_CLASS_IS_UNDEFINED
 
#define DW_OBSTACLE_CLASS_VEHICLE_BASE   DW_OBSTACLE_CLASS_IS_VEHICLE + DW_OBSTACLE_CLASS_IS_ANIMATE
 Base offsets for object classes. More...
 
#define DW_OBSTACLE_MAX_LINKS   16
 
#define DW_OBSTACLE_MAX_SENSOR_COUNT   64
 
#define DW_OBSTACLE_RDF_MAX_SECTORS   4000
 
#define DW_OBSTACLE_SECTOR_MAX_SEGMENTS   10
 
#define DW_OBSTACLE_SILHOUETTE_MAX_POINTS   128
 
#define DW_OBSTACLE_SILHOUETTE_MAX_VERTICES
 
#define DW_OBSTACLE_STATE_MOVING   (1 << 9)
 
#define DW_OBSTACLE_STATE_NOTMOVING   (1 << 8)
 Bitmasks modifiers of obstacle state. More...
 

Enumerations

enum  dwObjectClass {
  DW_OBJECT_CLASS_CAR = 0,
  DW_OBJECT_CLASS_TRAFFIC_SIGN = 1,
  DW_OBJECT_CLASS_BICYCLE = 2,
  DW_OBJECT_CLASS_PEDESTRIAN = 3,
  DW_OBJECT_CLASS_TRAFFIC_LIGHT = 4,
  DW_OBJECT_CLASS_CURB = 5,
  DW_OBJECT_CLASS_OTHER = 6,
  DW_OBJECT_CLASS_UNKNOWN = 7,
  DW_OBJECT_CLASS_NUM_CLASSES
}
 Object classes known to DriveWorks. More...
 
enum  dwObstacleClass {
  DW_OBSTACLE_CLASS_INVALID = 0,
  DW_OBSTACLE_CLASS_VEHICLE_UNKNOWN = DW_OBSTACLE_CLASS_VEHICLE_BASE + 0,
  DW_OBSTACLE_CLASS_VEHICLE_CAR = DW_OBSTACLE_CLASS_VEHICLE_BASE + 1,
  DW_OBSTACLE_CLASS_VEHICLE_TRUCK = DW_OBSTACLE_CLASS_VEHICLE_BASE + 2,
  DW_OBSTACLE_CLASS_VEHICLE_BUS = DW_OBSTACLE_CLASS_VEHICLE_BASE + 3,
  DW_OBSTACLE_CLASS_VEHICLE_EMERGENCY = DW_OBSTACLE_CLASS_VEHICLE_BASE + 4,
  DW_OBSTACLE_CLASS_VEHICLE_CONSTRUCTION = DW_OBSTACLE_CLASS_VEHICLE_BASE + 5,
  DW_OBSTACLE_CLASS_VEHICLE_POLICE = DW_OBSTACLE_CLASS_VEHICLE_BASE + 6,
  DW_OBSTACLE_CLASS_VEHICLE_SCHOOL_BUS = DW_OBSTACLE_CLASS_VEHICLE_BASE + 7,
  DW_OBSTACLE_CLASS_BIKE_UNKNOWN = DW_OBSTACLE_CLASS_BIKE_BASE + 0,
  DW_OBSTACLE_CLASS_BIKE = DW_OBSTACLE_CLASS_BIKE_BASE + 1,
  DW_OBSTACLE_CLASS_BIKE_MOTOR = DW_OBSTACLE_CLASS_BIKE_BASE + 2,
  DW_OBSTACLE_CLASS_PEDESTRIAN_UNKNOWN = DW_OBSTACLE_CLASS_PEDESTRIAN_BASE + 0,
  DW_OBSTACLE_CLASS_PEDESTRIAN_ADULT = DW_OBSTACLE_CLASS_PEDESTRIAN_BASE + 1,
  DW_OBSTACLE_CLASS_PEDESTRIAN_CHILD = DW_OBSTACLE_CLASS_PEDESTRIAN_BASE + 2,
  DW_OBSTACLE_CLASS_PEDESTRIAN_CONSTRUCTION_WORKER = DW_OBSTACLE_CLASS_PEDESTRIAN_BASE + 3,
  DW_OBSTACLE_CLASS_PEDESTRIAN_OFFICIAL = DW_OBSTACLE_CLASS_PEDESTRIAN_BASE + 4,
  DW_OBSTACLE_CLASS_ANIMAL_UNKNOWN = DW_OBSTACLE_CLASS_ANIMAL_BASE + 0,
  DW_OBSTACLE_CLASS_ANIMAL_SMALL = DW_OBSTACLE_CLASS_ANIMAL_BASE + 1,
  DW_OBSTACLE_CLASS_ANIMAL_MEDIUM = DW_OBSTACLE_CLASS_ANIMAL_BASE + 2,
  DW_OBSTACLE_CLASS_ANIMAL_LARGE = DW_OBSTACLE_CLASS_ANIMAL_BASE + 3,
  DW_OBSTACLE_CLASS_OBJECT_UNKNOWN = DW_OBSTACLE_CLASS_OBJECT_BASE + 0,
  DW_OBSTACLE_CLASS_OBJECT_HAZARD = DW_OBSTACLE_CLASS_OBJECT_BASE + 1,
  DW_OBSTACLE_CLASS_OBJECT_OFFICIAL = DW_OBSTACLE_CLASS_OBJECT_BASE + 2,
  DW_OBSTACLE_CLASS_OBJECT_CONE = DW_OBSTACLE_CLASS_OBJECT_BASE + 3,
  DW_OBSTACLE_CLASS_OBJECT_CURB = DW_OBSTACLE_CLASS_OBJECT_BASE + 4,
  DW_OBSTACLE_CLASS_OBJECT_BARRIER = DW_OBSTACLE_CLASS_OBJECT_BASE + 5,
  DW_OBSTACLE_CLASS_OBJECT_PHYSICAL_LANE_LINE = DW_OBSTACLE_CLASS_OBJECT_BASE + 6,
  DW_OBSTACLE_CLASS_OBJECT_HARD_OVERHANG = DW_OBSTACLE_CLASS_OBJECT_BASE + 7,
  DW_OBSTACLE_CLASS_OBJECT_SOFT_OVERHANG = DW_OBSTACLE_CLASS_OBJECT_BASE + 8,
  DW_OBSTACLE_CLASS_OBJECT_SPEED_BUMP = DW_OBSTACLE_CLASS_OBJECT_BASE + 9,
  DW_OBSTACLE_CLASS_OBJECT_POT_HOLE = DW_OBSTACLE_CLASS_OBJECT_BASE + 10,
  DW_OBSTACLE_CLASS_OBJECT_NEGATIVE = DW_OBSTACLE_CLASS_OBJECT_BASE + 11,
  DW_OBSTACLE_CLASS_OBJECT_FORBIDDEN = DW_OBSTACLE_CLASS_OBJECT_BASE + 12,
  DW_OBSTACLE_CLASS_UNDEFINED_STATIC = DW_OBSTACLE_CLASS_UNDEFINED_STATIC_BASE + 0,
  DW_OBSTACLE_CLASS_UNDEFINED_ANIMATE = DW_OBSTACLE_CLASS_UNDEFINED_ANIMATE_BASE + 0,
  DW_OBSTACLE_CLASS_FORBIDDEN_LANE_LINE = DW_OBSTACLE_CLASS_IS_VIRTUAL + 1,
  DW_OBSTACLE_CLASS_CROSSABLE_LANE_LINE = DW_OBSTACLE_CLASS_IS_VIRTUAL + 2,
  DW_OBSTACLE_CLASS_GORE_AREA = DW_OBSTACLE_CLASS_IS_VIRTUAL + 3,
  DW_OBSTACLE_CLASS_OCCLUSION = DW_OBSTACLE_CLASS_IS_VIRTUAL + 4
}
 Obstacle class enumeration. More...
 
enum  dwObstacleProperties {
  DW_OBSTACLE_PROPERTIES_IS_NONE = 0,
  DW_OBSTACLE_PROPERTIES_IS_LOW_CONFIDENCE = (1 << 8),
  DW_OBSTACLE_PROPERTIES_IS_ON_SENSOR_BOUNDARY = (1 << 9),
  DW_OBSTACLE_PROPERTIES_IS_PARTIALLY_OBSERVED = (1 << 10),
  DW_OBSTACLE_PROPERTIES_IS_AT_RANGE_LIMIT = (1 << 11)
}
 
enum  dwObstacleRegionClass {
  DW_OBSTACLE_REGION_INVALID = 0,
  DW_OBSTACLE_REGION_DRIVABLE = (1 << 8),
  DW_OBSTACLE_REGION_STATIC = (1 << 9),
  DW_OBSTACLE_REGION_ANIMATE = (1 << 10),
  DW_OBSTACLE_REGION_NOT_DRIVABLE = (1 << 11),
  DW_OBSTACLE_REGION_NOT_ANIMATE = (1 << 12),
  DW_OBSTACLE_REGION_NOT_STATIC = (1 << 13),
  DW_OBSTACLE_REGION_UNKNOWN = (1 << 14)
}
 
enum  dwObstacleState {
  DW_OBSTACLE_STATE_INVALID = 0,
  DW_OBSTACLE_STATE_INACTIVE = DW_OBSTACLE_STATE_NOTMOVING + 0,
  DW_OBSTACLE_STATE_PARKED = DW_OBSTACLE_STATE_NOTMOVING + 1,
  DW_OBSTACLE_STATE_STOPPED = DW_OBSTACLE_STATE_NOTMOVING + 2,
  DW_OBSTACLE_STATE_FORWARD = DW_OBSTACLE_STATE_MOVING + 0,
  DW_OBSTACLE_STATE_REVERSE = DW_OBSTACLE_STATE_MOVING + 1,
  DW_OBSTACLE_STATE_TURNING_RIGHT = DW_OBSTACLE_STATE_MOVING + 2,
  DW_OBSTACLE_STATE_TURNING_LEFT = DW_OBSTACLE_STATE_MOVING + 3,
  DW_OBSTACLE_STATE_CHANGING_RIGHT = DW_OBSTACLE_STATE_MOVING + 4,
  DW_OBSTACLE_STATE_CHANGING_LEFT = DW_OBSTACLE_STATE_MOVING + 5,
  DW_OBSTACLE_STATE_UTURNING = DW_OBSTACLE_STATE_MOVING + 6
}
 
enum  dwObstacleStateFlags {
  DW_OBSTACLE_STATE_FLAG_INVALID = 0,
  DW_OBSTACLE_STATE_FLAG_TURN_RIGHT = (1 << 1),
  DW_OBSTACLE_STATE_FLAG_TURN_LEFT = (1 << 2),
  DW_OBSTACLE_STATE_FLAG_BRAKING = (1 << 3),
  DW_OBSTACLE_STATE_FLAG_REVERSE = (1 << 4),
  DW_OBSTACLE_STATE_FLAG_HAZARD_FLASHING = (1 << 5),
  DW_OBSTACLE_STATE_FLAG_RED_LIGHT_FLASHING = (1 << 6),
  DW_OBSTACLE_STATE_FLAG_BLUE_LIGHT_FLASHING = (1 << 7),
  DW_OBSTACLE_STATE_FLAG_IS_ATTENTIVE = (1 << 8),
  DW_OBSTACLE_STATE_FLAG_SIGNALING = (1 << 9)
}
 

Functions

DW_API_PUBLIC dwStatus dwObstacle_reset (dwObstacle *obstacle)
 Resets the fields of dwObstacle. More...