Skip to content

LaneApproach

Type ISIAPILaneApproach · Interface
Namespace SIDRASolutions.SI.API
Assembly SIDRASolutions.SI.API.dll
COM CLSID 0A26C311-D793-4562-87D2-C479DC7D4598

Declaration

[Guid("0A26C311-D793-4562-87D2-C479DC7D4598")]
public interface ISIAPILaneApproach

Members

Properties

Property Type Summary
Laneno int Approach Lane Number, a one-based integer, counts Approach 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
Type int Lane Type
Control_type int Lane Control Type
Length float Lane Length
Width float
Grade float
Slip_control_type int Slip/Bypass Lane Control Type, apply to exclusive Slip/Bypass Lane or the Slip/Bypass part of a Shared Slip/Bypass Lane.
Basic_saturation_flow int
Utilisation_user bool
Utilisation float
Saturation_speed_user bool
Saturation_speed float
Capacity_adjustment float
Is_capacity_adj_for_network bool
Is_dominant_lane bool
Is_sliplane_included_in_entry_lane_count bool
Buses_stopping_user bool
Buses_stopping int
Parking_manoeuvres_user bool
Parking_manoeuvres int
Is_sliplane_excluded_from_signal_analysis bool
LaneApproachMovements ISIAPILaneApproachMovements Approach Lane Movements, defines the Vehicle Approach Movements (per Movement Class) running on this Approach Lane. It always returns eight Movements to the eight destinations (0: South, 1: South East, ... 7: South West).
LaneMovements ISIAPILaneMovements
Segment1 ISIAPILaneSegment Lane Segement 1
Segment2 ISIAPILaneSegment Lane Segement 2
Leg ISIAPILeg
Is_departure_headway_awsc_applied bool
Departure_headway_awsc float
LastErrorMessage string
Is_satn_flow_estimation_applied bool
Shortlane_capacity_option int Short Lane Capacity (Calibration Options)
Shortlane_capacity_factor float
Delay_model_param_user bool
Delay_model_param float
Initial_demand_vol float
Width_midblock float Lane Width (Upstream) of this Approach Lane
Width_slip float

Methods

Method Returns Summary
RemoveDisciplines() bool Clear all Disciplines on this Approach Lane, i.e. all ISIAPILaneApproachMovementMC data of this Approach Lane are set to not existing (ISIAPILaneApproachMovementMC.Exists = false).

Properties

Laneno

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

int Laneno { get; }

Type int

Code samples
int laneno = laneApproach.Laneno;
long laneno;
laneApproach->get_Laneno(&laneno);
laneno = laneApproach.Laneno
$laneno = $laneApproach.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 = laneApproach.Position;
long position;
laneApproach->get_Position(&position);
position = laneApproach.Position
$position = $laneApproach.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 = laneApproach.Configuration;
laneApproach.Configuration = 0;
long configuration;
laneApproach->get_Configuration(&configuration);
laneApproach->put_Configuration(0);
configuration = laneApproach.Configuration
laneApproach.Configuration = 0
$configuration = $laneApproach.Configuration
$laneApproach.Configuration = 0

Type

Lane Type

int Type { get; set; }

Type int

Value

One of:

  • 1 - Normal
  • 2 - Slip/Bypass (High Angle)
  • 3 - Slip/Bypass (Low Angle)
Code samples
int type = laneApproach.Type;
laneApproach.Type = 0;
long type;
laneApproach->get_Type(&type);
laneApproach->put_Type(0);
type = laneApproach.Type
laneApproach.Type = 0
$type = $laneApproach.Type
$laneApproach.Type = 0

Control_type

Lane Control Type

int Control_type { get; set; }

Type int

Value

One of:

  • 1 - Signals
  • 2 - Giveway/Yield
  • 3 - Stop
  • 4 - Continuous
Code samples
int control_type = laneApproach.Control_type;
laneApproach.Control_type = 0;
long control_type;
laneApproach->get_Control_type(&control_type);
laneApproach->put_Control_type(0);
control_type = laneApproach.Control_type
laneApproach.Control_type = 0
$control_type = $laneApproach.Control_type
$laneApproach.Control_type = 0

Length

Lane Length

float Length { get; set; }

Type float

Remarks

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

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

Width

float Width { get; set; }

Type float

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

Grade

float Grade { get; set; }

Type float

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

Slip_control_type

Slip/Bypass Lane Control Type, apply to exclusive Slip/Bypass Lane or the Slip/Bypass part of a Shared Slip/Bypass Lane.

int Slip_control_type { get; set; }

Type int

Value

One of:

  • 1 - Signals
  • 2 - Giveway/Yield
  • 3 - Stop
  • 4 - Continuous
Code samples
int slip_control_type = laneApproach.Slip_control_type;
laneApproach.Slip_control_type = 0;
long slip_control_type;
laneApproach->get_Slip_control_type(&slip_control_type);
laneApproach->put_Slip_control_type(0);
slip_control_type = laneApproach.Slip_control_type
laneApproach.Slip_control_type = 0
$slip_control_type = $laneApproach.Slip_control_type
$laneApproach.Slip_control_type = 0

Basic_saturation_flow

int Basic_saturation_flow { get; set; }

Type int

Code samples
int basic_saturation_flow = laneApproach.Basic_saturation_flow;
laneApproach.Basic_saturation_flow = 0;
long basic_saturation_flow;
laneApproach->get_Basic_saturation_flow(&basic_saturation_flow);
laneApproach->put_Basic_saturation_flow(0);
basic_saturation_flow = laneApproach.Basic_saturation_flow
laneApproach.Basic_saturation_flow = 0
$basic_saturation_flow = $laneApproach.Basic_saturation_flow
$laneApproach.Basic_saturation_flow = 0

Utilisation_user

bool Utilisation_user { get; set; }

Type bool

Code samples
bool utilisation_user = laneApproach.Utilisation_user;
laneApproach.Utilisation_user = true;
VARIANT_BOOL utilisation_user;
laneApproach->get_Utilisation_user(&utilisation_user);
laneApproach->put_Utilisation_user(VARIANT_TRUE);
utilisation_user = laneApproach.Utilisation_user
laneApproach.Utilisation_user = True
$utilisation_user = $laneApproach.Utilisation_user
$laneApproach.Utilisation_user = $true

Utilisation

float Utilisation { get; set; }

Type float

Code samples
float utilisation = laneApproach.Utilisation;
laneApproach.Utilisation = 0.0;
double utilisation;
laneApproach->get_Utilisation(&utilisation);
laneApproach->put_Utilisation(0.0);
utilisation = laneApproach.Utilisation
laneApproach.Utilisation = 0.0
$utilisation = $laneApproach.Utilisation
$laneApproach.Utilisation = 0.0

Saturation_speed_user

bool Saturation_speed_user { get; set; }

Type bool

Code samples
bool saturation_speed_user = laneApproach.Saturation_speed_user;
laneApproach.Saturation_speed_user = true;
VARIANT_BOOL saturation_speed_user;
laneApproach->get_Saturation_speed_user(&saturation_speed_user);
laneApproach->put_Saturation_speed_user(VARIANT_TRUE);
saturation_speed_user = laneApproach.Saturation_speed_user
laneApproach.Saturation_speed_user = True
$saturation_speed_user = $laneApproach.Saturation_speed_user
$laneApproach.Saturation_speed_user = $true

Saturation_speed

float Saturation_speed { get; set; }

Type float

Code samples
float saturation_speed = laneApproach.Saturation_speed;
laneApproach.Saturation_speed = 0.0;
double saturation_speed;
laneApproach->get_Saturation_speed(&saturation_speed);
laneApproach->put_Saturation_speed(0.0);
saturation_speed = laneApproach.Saturation_speed
laneApproach.Saturation_speed = 0.0
$saturation_speed = $laneApproach.Saturation_speed
$laneApproach.Saturation_speed = 0.0

Capacity_adjustment

float Capacity_adjustment { get; set; }

Type float

Code samples
float capacity_adjustment = laneApproach.Capacity_adjustment;
laneApproach.Capacity_adjustment = 0.0;
double capacity_adjustment;
laneApproach->get_Capacity_adjustment(&capacity_adjustment);
laneApproach->put_Capacity_adjustment(0.0);
capacity_adjustment = laneApproach.Capacity_adjustment
laneApproach.Capacity_adjustment = 0.0
$capacity_adjustment = $laneApproach.Capacity_adjustment
$laneApproach.Capacity_adjustment = 0.0

Is_capacity_adj_for_network

bool Is_capacity_adj_for_network { get; set; }

Type bool

Code samples
bool is_capacity_adj_for_network = laneApproach.Is_capacity_adj_for_network;
laneApproach.Is_capacity_adj_for_network = true;
VARIANT_BOOL is_capacity_adj_for_network;
laneApproach->get_Is_capacity_adj_for_network(&is_capacity_adj_for_network);
laneApproach->put_Is_capacity_adj_for_network(VARIANT_TRUE);
is_capacity_adj_for_network = laneApproach.Is_capacity_adj_for_network
laneApproach.Is_capacity_adj_for_network = True
$is_capacity_adj_for_network = $laneApproach.Is_capacity_adj_for_network
$laneApproach.Is_capacity_adj_for_network = $true

Is_dominant_lane

bool Is_dominant_lane { get; set; }

Type bool

Code samples
bool is_dominant_lane = laneApproach.Is_dominant_lane;
laneApproach.Is_dominant_lane = true;
VARIANT_BOOL is_dominant_lane;
laneApproach->get_Is_dominant_lane(&is_dominant_lane);
laneApproach->put_Is_dominant_lane(VARIANT_TRUE);
is_dominant_lane = laneApproach.Is_dominant_lane
laneApproach.Is_dominant_lane = True
$is_dominant_lane = $laneApproach.Is_dominant_lane
$laneApproach.Is_dominant_lane = $true

Is_sliplane_included_in_entry_lane_count

bool Is_sliplane_included_in_entry_lane_count { get; set; }

Type bool

Code samples
bool is_sliplane_included_in_entry_lane_count = laneApproach.Is_sliplane_included_in_entry_lane_count;
laneApproach.Is_sliplane_included_in_entry_lane_count = true;
VARIANT_BOOL is_sliplane_included_in_entry_lane_count;
laneApproach->get_Is_sliplane_included_in_entry_lane_count(&is_sliplane_included_in_entry_lane_count);
laneApproach->put_Is_sliplane_included_in_entry_lane_count(VARIANT_TRUE);
is_sliplane_included_in_entry_lane_count = laneApproach.Is_sliplane_included_in_entry_lane_count
laneApproach.Is_sliplane_included_in_entry_lane_count = True
$is_sliplane_included_in_entry_lane_count = $laneApproach.Is_sliplane_included_in_entry_lane_count
$laneApproach.Is_sliplane_included_in_entry_lane_count = $true

Buses_stopping_user

bool Buses_stopping_user { get; set; }

Type bool

Code samples
bool buses_stopping_user = laneApproach.Buses_stopping_user;
laneApproach.Buses_stopping_user = true;
VARIANT_BOOL buses_stopping_user;
laneApproach->get_Buses_stopping_user(&buses_stopping_user);
laneApproach->put_Buses_stopping_user(VARIANT_TRUE);
buses_stopping_user = laneApproach.Buses_stopping_user
laneApproach.Buses_stopping_user = True
$buses_stopping_user = $laneApproach.Buses_stopping_user
$laneApproach.Buses_stopping_user = $true

Buses_stopping

int Buses_stopping { get; set; }

Type int

Code samples
int buses_stopping = laneApproach.Buses_stopping;
laneApproach.Buses_stopping = 0;
long buses_stopping;
laneApproach->get_Buses_stopping(&buses_stopping);
laneApproach->put_Buses_stopping(0);
buses_stopping = laneApproach.Buses_stopping
laneApproach.Buses_stopping = 0
$buses_stopping = $laneApproach.Buses_stopping
$laneApproach.Buses_stopping = 0

Parking_manoeuvres_user

bool Parking_manoeuvres_user { get; set; }

Type bool

Code samples
bool parking_manoeuvres_user = laneApproach.Parking_manoeuvres_user;
laneApproach.Parking_manoeuvres_user = true;
VARIANT_BOOL parking_manoeuvres_user;
laneApproach->get_Parking_manoeuvres_user(&parking_manoeuvres_user);
laneApproach->put_Parking_manoeuvres_user(VARIANT_TRUE);
parking_manoeuvres_user = laneApproach.Parking_manoeuvres_user
laneApproach.Parking_manoeuvres_user = True
$parking_manoeuvres_user = $laneApproach.Parking_manoeuvres_user
$laneApproach.Parking_manoeuvres_user = $true

Parking_manoeuvres

int Parking_manoeuvres { get; set; }

Type int

Code samples
int parking_manoeuvres = laneApproach.Parking_manoeuvres;
laneApproach.Parking_manoeuvres = 0;
long parking_manoeuvres;
laneApproach->get_Parking_manoeuvres(&parking_manoeuvres);
laneApproach->put_Parking_manoeuvres(0);
parking_manoeuvres = laneApproach.Parking_manoeuvres
laneApproach.Parking_manoeuvres = 0
$parking_manoeuvres = $laneApproach.Parking_manoeuvres
$laneApproach.Parking_manoeuvres = 0

Is_sliplane_excluded_from_signal_analysis

bool Is_sliplane_excluded_from_signal_analysis { get; set; }

Type bool

Code samples
bool is_sliplane_excluded_from_signal_analysis = laneApproach.Is_sliplane_excluded_from_signal_analysis;
laneApproach.Is_sliplane_excluded_from_signal_analysis = true;
VARIANT_BOOL is_sliplane_excluded_from_signal_analysis;
laneApproach->get_Is_sliplane_excluded_from_signal_analysis(&is_sliplane_excluded_from_signal_analysis);
laneApproach->put_Is_sliplane_excluded_from_signal_analysis(VARIANT_TRUE);
is_sliplane_excluded_from_signal_analysis = laneApproach.Is_sliplane_excluded_from_signal_analysis
laneApproach.Is_sliplane_excluded_from_signal_analysis = True
$is_sliplane_excluded_from_signal_analysis = $laneApproach.Is_sliplane_excluded_from_signal_analysis
$laneApproach.Is_sliplane_excluded_from_signal_analysis = $true

LaneApproachMovements

Approach Lane Movements, defines the Vehicle Approach Movements (per Movement Class) running on this Approach Lane. It always returns eight Movements to the eight destinations (0: South, 1: South East, ... 7: South West).

ISIAPILaneApproachMovements LaneApproachMovements { get; }

Type ISIAPILaneApproachMovements

Code samples
var laneApproachMovements = laneApproach.LaneApproachMovements;
CComPtr<ISIAPILaneApproachMovements> laneApproachMovements;
laneApproach->get_LaneApproachMovements(&laneApproachMovements);
lane_approach_movements = laneApproach.LaneApproachMovements
$laneApproachMovements = $laneApproach.LaneApproachMovements

LaneMovements

ISIAPILaneMovements LaneMovements { get; }

Type ISIAPILaneMovements

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

Segment1

Lane Segement 1

ISIAPILaneSegment Segment1 { get; }

Type ISIAPILaneSegment

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

Segment2

Lane Segement 2

ISIAPILaneSegment Segment2 { get; }

Type ISIAPILaneSegment

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

Leg

ISIAPILeg Leg { get; }

Type ISIAPILeg

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

Is_departure_headway_awsc_applied

bool Is_departure_headway_awsc_applied { get; set; }

Type bool

Code samples
bool is_departure_headway_awsc_applied = laneApproach.Is_departure_headway_awsc_applied;
laneApproach.Is_departure_headway_awsc_applied = true;
VARIANT_BOOL is_departure_headway_awsc_applied;
laneApproach->get_Is_departure_headway_awsc_applied(&is_departure_headway_awsc_applied);
laneApproach->put_Is_departure_headway_awsc_applied(VARIANT_TRUE);
is_departure_headway_awsc_applied = laneApproach.Is_departure_headway_awsc_applied
laneApproach.Is_departure_headway_awsc_applied = True
$is_departure_headway_awsc_applied = $laneApproach.Is_departure_headway_awsc_applied
$laneApproach.Is_departure_headway_awsc_applied = $true

Departure_headway_awsc

float Departure_headway_awsc { get; set; }

Type float

Code samples
float departure_headway_awsc = laneApproach.Departure_headway_awsc;
laneApproach.Departure_headway_awsc = 0.0;
double departure_headway_awsc;
laneApproach->get_Departure_headway_awsc(&departure_headway_awsc);
laneApproach->put_Departure_headway_awsc(0.0);
departure_headway_awsc = laneApproach.Departure_headway_awsc
laneApproach.Departure_headway_awsc = 0.0
$departure_headway_awsc = $laneApproach.Departure_headway_awsc
$laneApproach.Departure_headway_awsc = 0.0

LastErrorMessage

string LastErrorMessage { get; }

Type string

Code samples
string lastErrorMessage = laneApproach.LastErrorMessage;
CComBSTR lastErrorMessage;
laneApproach->get_LastErrorMessage(&lastErrorMessage);
last_error_message = laneApproach.LastErrorMessage
$lastErrorMessage = $laneApproach.LastErrorMessage

Is_satn_flow_estimation_applied

bool Is_satn_flow_estimation_applied { get; set; }

Type bool

Code samples
bool is_satn_flow_estimation_applied = laneApproach.Is_satn_flow_estimation_applied;
laneApproach.Is_satn_flow_estimation_applied = true;
VARIANT_BOOL is_satn_flow_estimation_applied;
laneApproach->get_Is_satn_flow_estimation_applied(&is_satn_flow_estimation_applied);
laneApproach->put_Is_satn_flow_estimation_applied(VARIANT_TRUE);
is_satn_flow_estimation_applied = laneApproach.Is_satn_flow_estimation_applied
laneApproach.Is_satn_flow_estimation_applied = True
$is_satn_flow_estimation_applied = $laneApproach.Is_satn_flow_estimation_applied
$laneApproach.Is_satn_flow_estimation_applied = $true

Shortlane_capacity_option

Short Lane Capacity (Calibration Options)

int Shortlane_capacity_option { get; set; }

Type int

Value

One of:

  • 0 - Program
  • 1 - Do Not Apply
  • 2 - Calibration Factor
Code samples
int shortlane_capacity_option = laneApproach.Shortlane_capacity_option;
laneApproach.Shortlane_capacity_option = 0;
long shortlane_capacity_option;
laneApproach->get_Shortlane_capacity_option(&shortlane_capacity_option);
laneApproach->put_Shortlane_capacity_option(0);
shortlane_capacity_option = laneApproach.Shortlane_capacity_option
laneApproach.Shortlane_capacity_option = 0
$shortlane_capacity_option = $laneApproach.Shortlane_capacity_option
$laneApproach.Shortlane_capacity_option = 0

Shortlane_capacity_factor

float Shortlane_capacity_factor { get; set; }

Type float

Code samples
float shortlane_capacity_factor = laneApproach.Shortlane_capacity_factor;
laneApproach.Shortlane_capacity_factor = 0.0;
double shortlane_capacity_factor;
laneApproach->get_Shortlane_capacity_factor(&shortlane_capacity_factor);
laneApproach->put_Shortlane_capacity_factor(0.0);
shortlane_capacity_factor = laneApproach.Shortlane_capacity_factor
laneApproach.Shortlane_capacity_factor = 0.0
$shortlane_capacity_factor = $laneApproach.Shortlane_capacity_factor
$laneApproach.Shortlane_capacity_factor = 0.0

Delay_model_param_user

bool Delay_model_param_user { get; set; }

Type bool

Code samples
bool delay_model_param_user = laneApproach.Delay_model_param_user;
laneApproach.Delay_model_param_user = true;
VARIANT_BOOL delay_model_param_user;
laneApproach->get_Delay_model_param_user(&delay_model_param_user);
laneApproach->put_Delay_model_param_user(VARIANT_TRUE);
delay_model_param_user = laneApproach.Delay_model_param_user
laneApproach.Delay_model_param_user = True
$delay_model_param_user = $laneApproach.Delay_model_param_user
$laneApproach.Delay_model_param_user = $true

Delay_model_param

float Delay_model_param { get; set; }

Type float

Code samples
float delay_model_param = laneApproach.Delay_model_param;
laneApproach.Delay_model_param = 0.0;
double delay_model_param;
laneApproach->get_Delay_model_param(&delay_model_param);
laneApproach->put_Delay_model_param(0.0);
delay_model_param = laneApproach.Delay_model_param
laneApproach.Delay_model_param = 0.0
$delay_model_param = $laneApproach.Delay_model_param
$laneApproach.Delay_model_param = 0.0

Initial_demand_vol

float Initial_demand_vol { get; set; }

Type float

Code samples
float initial_demand_vol = laneApproach.Initial_demand_vol;
laneApproach.Initial_demand_vol = 0.0;
double initial_demand_vol;
laneApproach->get_Initial_demand_vol(&initial_demand_vol);
laneApproach->put_Initial_demand_vol(0.0);
initial_demand_vol = laneApproach.Initial_demand_vol
laneApproach.Initial_demand_vol = 0.0
$initial_demand_vol = $laneApproach.Initial_demand_vol
$laneApproach.Initial_demand_vol = 0.0

Width_midblock

Lane Width (Upstream) of this Approach Lane

float Width_midblock { get; set; }

Type float

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

Width_slip

float Width_slip { get; set; }

Type float

Code samples
float width_slip = laneApproach.Width_slip;
laneApproach.Width_slip = 0.0;
double width_slip;
laneApproach->get_Width_slip(&width_slip);
laneApproach->put_Width_slip(0.0);
width_slip = laneApproach.Width_slip
laneApproach.Width_slip = 0.0
$width_slip = $laneApproach.Width_slip
$laneApproach.Width_slip = 0.0

Methods

RemoveDisciplines()

Clear all Disciplines on this Approach Lane, i.e. all ISIAPILaneApproachMovementMC data of this Approach Lane are set to not existing (ISIAPILaneApproachMovementMC.Exists = false).

bool RemoveDisciplines()

Returns bool - true if all Disciplines are removed successfully; otherwise, false.

Code samples
bool result = laneApproach.RemoveDisciplines();
VARIANT_BOOL result;
laneApproach->RemoveDisciplines(&result);
result = laneApproach.RemoveDisciplines()
$result = $laneApproach.RemoveDisciplines()