Skip to content

LaneExit

Type ISIAPILaneExit · Interface
Namespace SIDRASolutions.SI.API
Assembly SIDRASolutions.SI.API.dll
COM CLSID 68B59D28-C877-4FDA-9110-D3CDCD5DBEFF

Declaration

[Guid("68B59D28-C877-4FDA-9110-D3CDCD5DBEFF")]
public interface ISIAPILaneExit

Members

Properties

Property Type Summary
Laneno int Exit Lane Number, a one-based integer, counts Exit Lanes only from left to right looking in the direction of departure.
Position int Postion in the Leg, a one-based integer, counts Approach Lanes, Exit Lanes and Islands from left to right looking to the centre of the Intersection.
Configuration int Lane Configuration
Length float Lane Length
Width float
Grade float
LaneMovements ISIAPILaneMovements
Segment1 ISIAPILaneSegment Lane Segement 1
Segment2 ISIAPILaneSegment Lane Segement 2
Leg ISIAPILeg
Is_merge_applied bool
Merge_type int The Merge Type applied to this Exit Lane
PriorityMergeParam ISIAPILaneExitMergeParam Merge Parameters that apply when Merge_type = 1 (Priority Merge).
ZipperMergeParam ISIAPILaneExitMergeParam Merge Parameters that apply when Merge_type = 2 (Zipper Merge).
Width_midblock float Lane Width (Downstream) of this Exit Lane

Properties

Laneno

Exit Lane Number, a one-based integer, counts Exit Lanes only from left to right looking in the direction of departure.

int Laneno { get; }

Type int

Code samples
int laneno = laneExit.Laneno;
long laneno;
laneExit->get_Laneno(&laneno);
laneno = laneExit.Laneno
$laneno = $laneExit.Laneno

Position

Postion in the Leg, a one-based integer, counts Approach Lanes, Exit Lanes and Islands from left to right looking to the centre of the Intersection.

int Position { get; }

Type int

Code samples
int position = laneExit.Position;
long position;
laneExit->get_Position(&position);
position = laneExit.Position
$position = $laneExit.Position

Configuration

Lane Configuration

int Configuration { get; set; }

Type int

Value

One of:

  • 1 - Full-Length Lane
  • 2 - Short Lane
  • 3 - Short Lane with Parking
  • 4 - Two-Segment Lane
Code samples
int configuration = laneExit.Configuration;
laneExit.Configuration = 0;
long configuration;
laneExit->get_Configuration(&configuration);
laneExit->put_Configuration(0);
configuration = laneExit.Configuration
laneExit.Configuration = 0
$configuration = $laneExit.Configuration
$laneExit.Configuration = 0

Length

Lane Length

float Length { get; set; }

Type float

Remarks

For Full-Length Lane or Two-Segment Lane, this is the Full Lane Length; for Short Lane or Short Lane with Parking, this is synchronized with the Segment 1 Length

Code samples
float length = laneExit.Length;
laneExit.Length = 0.0;
double length;
laneExit->get_Length(&length);
laneExit->put_Length(0.0);
length = laneExit.Length
laneExit.Length = 0.0
$length = $laneExit.Length
$laneExit.Length = 0.0

Width

float Width { get; set; }

Type float

Code samples
float width = laneExit.Width;
laneExit.Width = 0.0;
double width;
laneExit->get_Width(&width);
laneExit->put_Width(0.0);
width = laneExit.Width
laneExit.Width = 0.0
$width = $laneExit.Width
$laneExit.Width = 0.0

Grade

float Grade { get; set; }

Type float

Code samples
float grade = laneExit.Grade;
laneExit.Grade = 0.0;
double grade;
laneExit->get_Grade(&grade);
laneExit->put_Grade(0.0);
grade = laneExit.Grade
laneExit.Grade = 0.0
$grade = $laneExit.Grade
$laneExit.Grade = 0.0

LaneMovements

ISIAPILaneMovements LaneMovements { get; }

Type ISIAPILaneMovements

Code samples
var laneMovements = laneExit.LaneMovements;
CComPtr<ISIAPILaneMovements> laneMovements;
laneExit->get_LaneMovements(&laneMovements);
lane_movements = laneExit.LaneMovements
$laneMovements = $laneExit.LaneMovements

Segment1

Lane Segement 1

ISIAPILaneSegment Segment1 { get; }

Type ISIAPILaneSegment

Code samples
var segment1 = laneExit.Segment1;
CComPtr<ISIAPILaneSegment> segment1;
laneExit->get_Segment1(&segment1);
segment1 = laneExit.Segment1
$segment1 = $laneExit.Segment1

Segment2

Lane Segement 2

ISIAPILaneSegment Segment2 { get; }

Type ISIAPILaneSegment

Code samples
var segment2 = laneExit.Segment2;
CComPtr<ISIAPILaneSegment> segment2;
laneExit->get_Segment2(&segment2);
segment2 = laneExit.Segment2
$segment2 = $laneExit.Segment2

Leg

ISIAPILeg Leg { get; }

Type ISIAPILeg

Code samples
var leg = laneExit.Leg;
CComPtr<ISIAPILeg> leg;
laneExit->get_Leg(&leg);
leg = laneExit.Leg
$leg = $laneExit.Leg

Is_merge_applied

bool Is_merge_applied { get; set; }

Type bool

Code samples
bool is_merge_applied = laneExit.Is_merge_applied;
laneExit.Is_merge_applied = true;
VARIANT_BOOL is_merge_applied;
laneExit->get_Is_merge_applied(&is_merge_applied);
laneExit->put_Is_merge_applied(VARIANT_TRUE);
is_merge_applied = laneExit.Is_merge_applied
laneExit.Is_merge_applied = True
$is_merge_applied = $laneExit.Is_merge_applied
$laneExit.Is_merge_applied = $true

Merge_type

The Merge Type applied to this Exit Lane

int Merge_type { get; set; }

Type int

Value

One of:

  • 1 - Priority Merge
  • 2 - Zipper Merge
Code samples
int merge_type = laneExit.Merge_type;
laneExit.Merge_type = 0;
long merge_type;
laneExit->get_Merge_type(&merge_type);
laneExit->put_Merge_type(0);
merge_type = laneExit.Merge_type
laneExit.Merge_type = 0
$merge_type = $laneExit.Merge_type
$laneExit.Merge_type = 0

PriorityMergeParam

Merge Parameters that apply when Merge_type = 1 (Priority Merge).

ISIAPILaneExitMergeParam PriorityMergeParam { get; }

Type ISIAPILaneExitMergeParam

Code samples
var priorityMergeParam = laneExit.PriorityMergeParam;
CComPtr<ISIAPILaneExitMergeParam> priorityMergeParam;
laneExit->get_PriorityMergeParam(&priorityMergeParam);
priority_merge_param = laneExit.PriorityMergeParam
$priorityMergeParam = $laneExit.PriorityMergeParam

ZipperMergeParam

Merge Parameters that apply when Merge_type = 2 (Zipper Merge).

ISIAPILaneExitMergeParam ZipperMergeParam { get; }

Type ISIAPILaneExitMergeParam

Code samples
var zipperMergeParam = laneExit.ZipperMergeParam;
CComPtr<ISIAPILaneExitMergeParam> zipperMergeParam;
laneExit->get_ZipperMergeParam(&zipperMergeParam);
zipper_merge_param = laneExit.ZipperMergeParam
$zipperMergeParam = $laneExit.ZipperMergeParam

Width_midblock

Lane Width (Downstream) of this Exit Lane

float Width_midblock { get; set; }

Type float

Code samples
float width_midblock = laneExit.Width_midblock;
laneExit.Width_midblock = 0.0;
double width_midblock;
laneExit->get_Width_midblock(&width_midblock);
laneExit->put_Width_midblock(0.0);
width_midblock = laneExit.Width_midblock
laneExit.Width_midblock = 0.0
$width_midblock = $laneExit.Width_midblock
$laneExit.Width_midblock = 0.0