Skip to content

Network

Type ISIAPINetwork · Interface
Namespace SIDRASolutions.SI.API
Assembly SIDRASolutions.SI.API.dll
COM CLSID 6D6D19FC-A076-43CE-BBCB-003F18F1A852

Declaration

[Guid("6D6D19FC-A076-43CE-BBCB-003F18F1A852")]
public interface ISIAPINetwork

Members

Properties

Property Type Summary
Network_id string The GUID of the Network object.
Name string
NetworkID string Network ID in the Network Data dialog and reports.
Position int The Network Position in the Network Folder's Networks collection. It is a zero-base integer.
Title string
ModelSignature string
ModelName string
DriveOnLeft bool
Units int General unit system used for data within the Network
Description string
CostUnit string
IsShortlaneQueueStorageRatioIncl bool Flag indicating if Short Lanes are included in determining Queue Storage Ratio
LOSMethod int Network Level of Service Method
LOSTarget int Network Level of Service Target
HoursPerYear int
MaxIterations int
StoppingDxPercent float Percentage Stopping Condition for the One-Loop Convergence Method.
SignalOffsetOption int Signal Offset Option
OffsetDefinition int Signal Offset Definition
IsPlatoonDispersionApplied bool
Cycle_time_option int Cycle Time Option
NetworkCycleTime float
Practical_max_cycle_time float
Practical_cycle_rounding_applied bool
Practical_cycle_rounding int
SitePhaseTimesOption int Site or CCG Phase Times Option. It is applied when Cycle Time Option is User-Given Cycle Time.
MultiRoutesSummaryOption int Network Output by Routes Option
Created_date DateTime
Created_by string
Created_by_company string
Created_version string
Modified_date DateTime
Modified_by string
Modified_by_company string
Modified_version string
ProcessingError string Error nessage after a failed call to Process
NetworkSites ISIAPINetworkSites Collection of Sites in the Network
NetworkLegConnections ISIAPINetworkLegConnections Collection of Leg Connections between the Sites in the Network
OutputNetwork ISIAPIOutputNetwork Network Output Data for the summary of the Whole Network
OutputNetworkByRoutes ISIAPIOutputNetwork Network Output Data for the statistics summary of the selected Routes
Site_los_method int
Performance_measure int
Percentile_queue_option int
Percentile_queue int
LastErrorMessage string
DiagnosticStatus int Diagnostic Status
DiagnosticMsgs ISIAPIDiagnosticMsgs
Project ISIAPIProject
NetworkCCGs ISIAPINetworkCCGs Collection of Common Control Group (CCG) in the Network
Routes ISIAPIRoutes Collection of Routes in the Network
Category string Network Category
Peakflowperiod int
Lane_blockage_effect_option int Lane Blockage Effect Option: In Network analysis, include Lane Blockage effects in determining Phase Times.
Optimum_cycle_time_lower_user bool
Optimum_cycle_time_lower int
Optimum_cycle_time_upper int
Optimum_cycle_time_increment int
Optimum_cycle_time_perf_measure int
Optimum_cycle_time_optim_method int
Optimum_max_green_percent_lower int
Optimum_max_green_percent_upper int
Optimum_max_green_percent_increment int
Optimum_max_green_perf_measure int
Optimum_max_green_optim_method int
Variable_phasing_perf_measure int
Green_split_priority_option int Green Split Priority
Is_timing_optimised_for_selected_result bool
IsIncludedInProjectSummary bool
DemandSensitivity ISIAPINetworkDemandSensitivity
NetworkFolder ISIAPINetworkFolder
SpeedEfficiencyLOSUpperLimit_B float
SpeedEfficiencyLOSUpperLimit_C float
SpeedEfficiencyLOSUpperLimit_D float
SpeedEfficiencyLOSUpperLimit_E float
SpeedEfficiencyLOSUpperLimit_F float
Is_geometric_delay_excluded bool
Is_hcm_delay_formula_applied bool
Is_hcm_queue_formula_applied bool
IsLaneBlockageModelApplied bool
NetworkMCs ISIAPINetworkMCs
IsUserModel bool Flag indicating whether the internal SIDRA INTERSECTION Software Setup that is used by this Network is a User Software Setup or a Standard Software Setup.
NetworkType int Network Type
NetworkScenarios ISIAPINetworkScenarios Collection of the Network Scenarios
IsInputDataCompatible bool
IsOutputDataCompatible bool
MinViableVersionL1 string Minimum Viable SIDRA INTERSECTION Version for this Network's Level 1 Compatibility
MinViableVersionL2 string Minimum Viable SIDRA INTERSECTION Version for this Network's Level 2 Compatibility
MinViableVersionL3 string Minimum Viable SIDRA INTERSECTION Version for this Network's Level 3 Compatibility
ConvergenceMethod int Network Convergence Method
TwoLoops_OuterMaxIterations int Maximum number of iterations for the Outer Loop in the Two-Loop Convergence Method.
TwoLoops_InnerMaxIterations int Maximum number of iterations for the Inner Loop in the Two-Loop Convergence Method.
TwoLoops_StoppingPercent float Percentage Stopping Condition for the Outer Loop in the Two-Loop Convergence Method.
TwoLoops_ApplyMinStoppingPercent bool Flag indicating if the Outer Loop's Minimum Percentage Stopping Condition is applied in the Two-Loop Convergence Method. If true, the result of the Outer Iteration with the Minimum Percentage Stopping Condition is provided when the Iterations do not settle.
TwoLoops_InnerStoppingPercent float Percentage Stopping Condition for the Inner Loop in the Two-Loop Convergence Method.

Methods

Method Returns Summary
Process() bool Processes the Whole Network This method generates the SIDRASolutions.SI.API.ISIAPINetwork.OutputNetwork data.
UpdateModifiedInfo() bool Update the Last Modified Information, such as Date, User Name, Organisation Name, Software Version Number
AddNetworkSite(ISIAPISite, float, float) ISIAPINetworkSite Add a Site into the Network. The Site's Drive Rule and Units must match this Network's ones.
RemoveNetworkSite(ISIAPINetworkSite) bool Remove a NetworkSite from the Network. If the NetworkSite is used in any Route(s), remove the Route(s) before removing the NetworkSite.
AddNetworkLegConnection(ISIAPINetworkSite, int, ISIAPINetworkSite, int) ISIAPINetworkLegConnection
RemoveNetworkLegConnection(ISIAPINetworkLegConnection) bool
AddNetworkCCG() ISIAPINetworkCCG Add a new Common Control Group (CCG) into the Network.
RemoveNetworkCCG(ISIAPINetworkCCG) bool Remove a Common Control Group (CCG) from the Network.
AddRoute() ISIAPIRoute Add a new Route into the Network.
RemoveRoute(ISIAPIRoute) bool Remove a Route from the Network.
ProcessByRoutes() bool Process this Network by selected Routes. The Whole Network needs to be processed before Network by selected Routes statistics can be calculated. If the Network has not been processed, process the Network. The Network by selected Routes statistics will be calculated as well. It is not required to call this method again. If Route(s) are set to be included into Network by Routes after the Network is processed, call this method to calculate the Network by selected Routes statistics. This method generates the SIDRASolutions.SI.API.ISIAPINetwork.OutputNetworkByRoutes data.
MoveNetworkCCGTo(ISIAPINetworkCCG, int) bool Move a Common Control Group (CCG) to a new position.
ResetRouteSignalOffsetPriority() bool Reset the Offset Priority of all valid Routes for the program calculation of Signal Offsets.
CloneRoute(ISIAPIRoute) ISIAPIRoute Clone a Route.
MoveRouteTo(ISIAPIRoute, int) bool Move a Route to a new position.
CreateLayoutPngData() byte[]
CreateLayoutPngFile(string) bool
RemoveOutputData() bool Remove this Network and its Routes Output data.
AddNetworkScenario() ISIAPINetworkScenario Add a new Network Scenario.
RemoveNetworkScenario(ISIAPINetworkScenario) bool Remove a Network Scenario from this Network.
CloneNetworkScenario(ISIAPINetworkScenario) ISIAPINetworkScenario Clone a Network Scenario.
MoveNetworkScenarioTo(ISIAPINetworkScenario, int) bool Move a Network Scenario to a new position in the collection.

Properties

Network_id

The GUID of the Network object.

string Network_id { get; }

Type string

Code samples
string network_id = network.Network_id;
CComBSTR network_id;
network->get_Network_id(&network_id);
network_id = network.Network_id
$network_id = $network.Network_id

Name

string Name { get; set; }

Type string

Code samples
string name = network.Name;
network.Name = @"Example";
CComBSTR name;
network->get_Name(&name);
network->put_Name(CComBSTR(L"Example"));
name = network.Name
network.Name = r"Example"
$name = $network.Name
$network.Name = "Example"

NetworkID

Network ID in the Network Data dialog and reports.

string NetworkID { get; set; }

Type string

Code samples
string networkID = network.NetworkID;
network.NetworkID = @"id-1";
CComBSTR networkID;
network->get_NetworkID(&networkID);
network->put_NetworkID(CComBSTR(L"id-1"));
network_id = network.NetworkID
network.NetworkID = r"id-1"
$networkID = $network.NetworkID
$network.NetworkID = "id-1"

Position

The Network Position in the Network Folder's Networks collection. It is a zero-base integer.

int Position { get; }

Type int

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

Title

string Title { get; set; }

Type string

Code samples
string title = network.Title;
network.Title = @"value";
CComBSTR title;
network->get_Title(&title);
network->put_Title(CComBSTR(L"value"));
title = network.Title
network.Title = r"value"
$title = $network.Title
$network.Title = "value"

ModelSignature

string ModelSignature { get; }

Type string

Code samples
string modelSignature = network.ModelSignature;
CComBSTR modelSignature;
network->get_ModelSignature(&modelSignature);
model_signature = network.ModelSignature
$modelSignature = $network.ModelSignature

ModelName

string ModelName { get; }

Type string

Code samples
string modelName = network.ModelName;
CComBSTR modelName;
network->get_ModelName(&modelName);
model_name = network.ModelName
$modelName = $network.ModelName

DriveOnLeft

bool DriveOnLeft { get; }

Type bool

Code samples
bool driveOnLeft = network.DriveOnLeft;
VARIANT_BOOL driveOnLeft;
network->get_DriveOnLeft(&driveOnLeft);
drive_on_left = network.DriveOnLeft
$driveOnLeft = $network.DriveOnLeft

Units

General unit system used for data within the Network

int Units { get; }

Type int

Value

One of:

  • 0 - Metric
  • 1 - US Units
Code samples
int units = network.Units;
long units;
network->get_Units(&units);
units = network.Units
$units = $network.Units

Description

string Description { get; set; }

Type string

Code samples
string description = network.Description;
network.Description = @"value";
CComBSTR description;
network->get_Description(&description);
network->put_Description(CComBSTR(L"value"));
description = network.Description
network.Description = r"value"
$description = $network.Description
$network.Description = "value"

CostUnit

string CostUnit { get; set; }

Type string

Code samples
string costUnit = network.CostUnit;
network.CostUnit = @"value";
CComBSTR costUnit;
network->get_CostUnit(&costUnit);
network->put_CostUnit(CComBSTR(L"value"));
cost_unit = network.CostUnit
network.CostUnit = r"value"
$costUnit = $network.CostUnit
$network.CostUnit = "value"

IsShortlaneQueueStorageRatioIncl

Flag indicating if Short Lanes are included in determining Queue Storage Ratio

bool IsShortlaneQueueStorageRatioIncl { get; set; }

Type bool

Code samples
bool isShortlaneQueueStorageRatioIncl = network.IsShortlaneQueueStorageRatioIncl;
network.IsShortlaneQueueStorageRatioIncl = true;
VARIANT_BOOL isShortlaneQueueStorageRatioIncl;
network->get_IsShortlaneQueueStorageRatioIncl(&isShortlaneQueueStorageRatioIncl);
network->put_IsShortlaneQueueStorageRatioIncl(VARIANT_TRUE);
is_shortlane_queue_storage_ratio_incl = network.IsShortlaneQueueStorageRatioIncl
network.IsShortlaneQueueStorageRatioIncl = True
$isShortlaneQueueStorageRatioIncl = $network.IsShortlaneQueueStorageRatioIncl
$network.IsShortlaneQueueStorageRatioIncl = $true

LOSMethod

Network Level of Service Method

int LOSMethod { get; set; }

Type int

Value

One of:

  • 1 - SIDRA Speed Efficiency
  • 2 - HCM 2010 Speed Efficiency
  • 3 - HCM 6 Speed Efficiency
Code samples
int lOSMethod = network.LOSMethod;
network.LOSMethod = 0;
long lOSMethod;
network->get_LOSMethod(&lOSMethod);
network->put_LOSMethod(0);
los_method = network.LOSMethod
network.LOSMethod = 0
$lOSMethod = $network.LOSMethod
$network.LOSMethod = 0

LOSTarget

Network Level of Service Target

int LOSTarget { get; set; }

Type int

Value

One of:

  • 1 - LOS A
  • 2 - LOS B
  • 3 - LOS C
  • 4 - LOS D
  • 5 - LOS E
  • 6 - LOS F
Code samples
int lOSTarget = network.LOSTarget;
network.LOSTarget = 0;
long lOSTarget;
network->get_LOSTarget(&lOSTarget);
network->put_LOSTarget(0);
los_target = network.LOSTarget
network.LOSTarget = 0
$lOSTarget = $network.LOSTarget
$network.LOSTarget = 0

HoursPerYear

int HoursPerYear { get; set; }

Type int

Code samples
int hoursPerYear = network.HoursPerYear;
network.HoursPerYear = 0;
long hoursPerYear;
network->get_HoursPerYear(&hoursPerYear);
network->put_HoursPerYear(0);
hours_per_year = network.HoursPerYear
network.HoursPerYear = 0
$hoursPerYear = $network.HoursPerYear
$network.HoursPerYear = 0

MaxIterations

int MaxIterations { get; set; }

Type int

Code samples
int maxIterations = network.MaxIterations;
network.MaxIterations = 0;
long maxIterations;
network->get_MaxIterations(&maxIterations);
network->put_MaxIterations(0);
max_iterations = network.MaxIterations
network.MaxIterations = 0
$maxIterations = $network.MaxIterations
$network.MaxIterations = 0

StoppingDxPercent

Percentage Stopping Condition for the One-Loop Convergence Method.

float StoppingDxPercent { get; set; }

Type float

Code samples
float stoppingDxPercent = network.StoppingDxPercent;
network.StoppingDxPercent = 0.0;
double stoppingDxPercent;
network->get_StoppingDxPercent(&stoppingDxPercent);
network->put_StoppingDxPercent(0.0);
stopping_dx_percent = network.StoppingDxPercent
network.StoppingDxPercent = 0.0
$stoppingDxPercent = $network.StoppingDxPercent
$network.StoppingDxPercent = 0.0

SignalOffsetOption

Signal Offset Option

int SignalOffsetOption { get; set; }

Type int

Value

One of:

  • 0 - Program
  • 1 - User-Given
Code samples
int signalOffsetOption = network.SignalOffsetOption;
network.SignalOffsetOption = 0;
long signalOffsetOption;
network->get_SignalOffsetOption(&signalOffsetOption);
network->put_SignalOffsetOption(0);
signal_offset_option = network.SignalOffsetOption
network.SignalOffsetOption = 0
$signalOffsetOption = $network.SignalOffsetOption
$network.SignalOffsetOption = 0

OffsetDefinition

Signal Offset Definition

int OffsetDefinition { get; set; }

Type int

Value

One of:

  • 0 - Offsets (Phase Start)
  • 1 - Offsets (Green Start)
Code samples
int offsetDefinition = network.OffsetDefinition;
network.OffsetDefinition = 0;
long offsetDefinition;
network->get_OffsetDefinition(&offsetDefinition);
network->put_OffsetDefinition(0);
offset_definition = network.OffsetDefinition
network.OffsetDefinition = 0
$offsetDefinition = $network.OffsetDefinition
$network.OffsetDefinition = 0

IsPlatoonDispersionApplied

bool IsPlatoonDispersionApplied { get; set; }

Type bool

Code samples
bool isPlatoonDispersionApplied = network.IsPlatoonDispersionApplied;
network.IsPlatoonDispersionApplied = true;
VARIANT_BOOL isPlatoonDispersionApplied;
network->get_IsPlatoonDispersionApplied(&isPlatoonDispersionApplied);
network->put_IsPlatoonDispersionApplied(VARIANT_TRUE);
is_platoon_dispersion_applied = network.IsPlatoonDispersionApplied
network.IsPlatoonDispersionApplied = True
$isPlatoonDispersionApplied = $network.IsPlatoonDispersionApplied
$network.IsPlatoonDispersionApplied = $true

Cycle_time_option

Cycle Time Option

int Cycle_time_option { get; set; }

Type int

Value

One of:

  • 0 - Program
  • 2 - User-Given Cycle Time
Code samples
int cycle_time_option = network.Cycle_time_option;
network.Cycle_time_option = 0;
long cycle_time_option;
network->get_Cycle_time_option(&cycle_time_option);
network->put_Cycle_time_option(0);
cycle_time_option = network.Cycle_time_option
network.Cycle_time_option = 0
$cycle_time_option = $network.Cycle_time_option
$network.Cycle_time_option = 0

NetworkCycleTime

float NetworkCycleTime { get; set; }

Type float

Code samples
float networkCycleTime = network.NetworkCycleTime;
network.NetworkCycleTime = 0.0;
double networkCycleTime;
network->get_NetworkCycleTime(&networkCycleTime);
network->put_NetworkCycleTime(0.0);
network_cycle_time = network.NetworkCycleTime
network.NetworkCycleTime = 0.0
$networkCycleTime = $network.NetworkCycleTime
$network.NetworkCycleTime = 0.0

Practical_max_cycle_time

float Practical_max_cycle_time { get; set; }

Type float

Code samples
float practical_max_cycle_time = network.Practical_max_cycle_time;
network.Practical_max_cycle_time = 0.0;
double practical_max_cycle_time;
network->get_Practical_max_cycle_time(&practical_max_cycle_time);
network->put_Practical_max_cycle_time(0.0);
practical_max_cycle_time = network.Practical_max_cycle_time
network.Practical_max_cycle_time = 0.0
$practical_max_cycle_time = $network.Practical_max_cycle_time
$network.Practical_max_cycle_time = 0.0

Practical_cycle_rounding_applied

bool Practical_cycle_rounding_applied { get; set; }

Type bool

Code samples
bool practical_cycle_rounding_applied = network.Practical_cycle_rounding_applied;
network.Practical_cycle_rounding_applied = true;
VARIANT_BOOL practical_cycle_rounding_applied;
network->get_Practical_cycle_rounding_applied(&practical_cycle_rounding_applied);
network->put_Practical_cycle_rounding_applied(VARIANT_TRUE);
practical_cycle_rounding_applied = network.Practical_cycle_rounding_applied
network.Practical_cycle_rounding_applied = True
$practical_cycle_rounding_applied = $network.Practical_cycle_rounding_applied
$network.Practical_cycle_rounding_applied = $true

Practical_cycle_rounding

int Practical_cycle_rounding { get; set; }

Type int

Code samples
int practical_cycle_rounding = network.Practical_cycle_rounding;
network.Practical_cycle_rounding = 0;
long practical_cycle_rounding;
network->get_Practical_cycle_rounding(&practical_cycle_rounding);
network->put_Practical_cycle_rounding(0);
practical_cycle_rounding = network.Practical_cycle_rounding
network.Practical_cycle_rounding = 0
$practical_cycle_rounding = $network.Practical_cycle_rounding
$network.Practical_cycle_rounding = 0

SitePhaseTimesOption

Site or CCG Phase Times Option. It is applied when Cycle Time Option is User-Given Cycle Time.

int SitePhaseTimesOption { get; set; }

Type int

Value

One of:

  • 0 - Program
  • 1 - User-Given
Code samples
int sitePhaseTimesOption = network.SitePhaseTimesOption;
network.SitePhaseTimesOption = 0;
long sitePhaseTimesOption;
network->get_SitePhaseTimesOption(&sitePhaseTimesOption);
network->put_SitePhaseTimesOption(0);
site_phase_times_option = network.SitePhaseTimesOption
network.SitePhaseTimesOption = 0
$sitePhaseTimesOption = $network.SitePhaseTimesOption
$network.SitePhaseTimesOption = 0

MultiRoutesSummaryOption

Network Output by Routes Option

int MultiRoutesSummaryOption { get; set; }

Type int

Value

One of:

  • 2 - Approaches
  • 3 - Sites
Code samples
int multiRoutesSummaryOption = network.MultiRoutesSummaryOption;
network.MultiRoutesSummaryOption = 0;
long multiRoutesSummaryOption;
network->get_MultiRoutesSummaryOption(&multiRoutesSummaryOption);
network->put_MultiRoutesSummaryOption(0);
multi_routes_summary_option = network.MultiRoutesSummaryOption
network.MultiRoutesSummaryOption = 0
$multiRoutesSummaryOption = $network.MultiRoutesSummaryOption
$network.MultiRoutesSummaryOption = 0

Created_date

DateTime Created_date { get; }

Type DateTime

Code samples
var created_date = network.Created_date;
VARIANT created_date;
network->get_Created_date(&created_date);
created_date = network.Created_date
$created_date = $network.Created_date

Created_by

string Created_by { get; }

Type string

Code samples
string created_by = network.Created_by;
CComBSTR created_by;
network->get_Created_by(&created_by);
created_by = network.Created_by
$created_by = $network.Created_by

Created_by_company

string Created_by_company { get; }

Type string

Code samples
string created_by_company = network.Created_by_company;
CComBSTR created_by_company;
network->get_Created_by_company(&created_by_company);
created_by_company = network.Created_by_company
$created_by_company = $network.Created_by_company

Created_version

string Created_version { get; }

Type string

Code samples
string created_version = network.Created_version;
CComBSTR created_version;
network->get_Created_version(&created_version);
created_version = network.Created_version
$created_version = $network.Created_version

Modified_date

DateTime Modified_date { get; }

Type DateTime

Code samples
var modified_date = network.Modified_date;
VARIANT modified_date;
network->get_Modified_date(&modified_date);
modified_date = network.Modified_date
$modified_date = $network.Modified_date

Modified_by

string Modified_by { get; }

Type string

Code samples
string modified_by = network.Modified_by;
CComBSTR modified_by;
network->get_Modified_by(&modified_by);
modified_by = network.Modified_by
$modified_by = $network.Modified_by

Modified_by_company

string Modified_by_company { get; }

Type string

Code samples
string modified_by_company = network.Modified_by_company;
CComBSTR modified_by_company;
network->get_Modified_by_company(&modified_by_company);
modified_by_company = network.Modified_by_company
$modified_by_company = $network.Modified_by_company

Modified_version

string Modified_version { get; }

Type string

Code samples
string modified_version = network.Modified_version;
CComBSTR modified_version;
network->get_Modified_version(&modified_version);
modified_version = network.Modified_version
$modified_version = $network.Modified_version

ProcessingError

Error nessage after a failed call to Process

string ProcessingError { get; }

Type string

Value

Error message

Code samples
string processingError = network.ProcessingError;
CComBSTR processingError;
network->get_ProcessingError(&processingError);
processing_error = network.ProcessingError
$processingError = $network.ProcessingError

NetworkSites

Collection of Sites in the Network

ISIAPINetworkSites NetworkSites { get; }

Type ISIAPINetworkSites

Code samples
var networkSites = network.NetworkSites;
CComPtr<ISIAPINetworkSites> networkSites;
network->get_NetworkSites(&networkSites);
network_sites = network.NetworkSites
$networkSites = $network.NetworkSites

NetworkLegConnections

Collection of Leg Connections between the Sites in the Network

ISIAPINetworkLegConnections NetworkLegConnections { get; }

Type ISIAPINetworkLegConnections

Code samples
var networkLegConnections = network.NetworkLegConnections;
CComPtr<ISIAPINetworkLegConnections> networkLegConnections;
network->get_NetworkLegConnections(&networkLegConnections);
network_leg_connections = network.NetworkLegConnections
$networkLegConnections = $network.NetworkLegConnections

OutputNetwork

Network Output Data for the summary of the Whole Network

ISIAPIOutputNetwork OutputNetwork { get; }

Type ISIAPIOutputNetwork

Code samples
var outputNetwork = network.OutputNetwork;
CComPtr<ISIAPIOutputNetwork> outputNetwork;
network->get_OutputNetwork(&outputNetwork);
output_network = network.OutputNetwork
$outputNetwork = $network.OutputNetwork

OutputNetworkByRoutes

Network Output Data for the statistics summary of the selected Routes

ISIAPIOutputNetwork OutputNetworkByRoutes { get; }

Type ISIAPIOutputNetwork

Code samples
var outputNetworkByRoutes = network.OutputNetworkByRoutes;
CComPtr<ISIAPIOutputNetwork> outputNetworkByRoutes;
network->get_OutputNetworkByRoutes(&outputNetworkByRoutes);
output_network_by_routes = network.OutputNetworkByRoutes
$outputNetworkByRoutes = $network.OutputNetworkByRoutes

Site_los_method

int Site_los_method { get; set; }

Type int

Code samples
int site_los_method = network.Site_los_method;
network.Site_los_method = 0;
long site_los_method;
network->get_Site_los_method(&site_los_method);
network->put_Site_los_method(0);
site_los_method = network.Site_los_method
network.Site_los_method = 0
$site_los_method = $network.Site_los_method
$network.Site_los_method = 0

Performance_measure

int Performance_measure { get; set; }

Type int

Code samples
int performance_measure = network.Performance_measure;
network.Performance_measure = 0;
long performance_measure;
network->get_Performance_measure(&performance_measure);
network->put_Performance_measure(0);
performance_measure = network.Performance_measure
network.Performance_measure = 0
$performance_measure = $network.Performance_measure
$network.Performance_measure = 0

Percentile_queue_option

int Percentile_queue_option { get; set; }

Type int

Code samples
int percentile_queue_option = network.Percentile_queue_option;
network.Percentile_queue_option = 0;
long percentile_queue_option;
network->get_Percentile_queue_option(&percentile_queue_option);
network->put_Percentile_queue_option(0);
percentile_queue_option = network.Percentile_queue_option
network.Percentile_queue_option = 0
$percentile_queue_option = $network.Percentile_queue_option
$network.Percentile_queue_option = 0

Percentile_queue

int Percentile_queue { get; set; }

Type int

Code samples
int percentile_queue = network.Percentile_queue;
network.Percentile_queue = 0;
long percentile_queue;
network->get_Percentile_queue(&percentile_queue);
network->put_Percentile_queue(0);
percentile_queue = network.Percentile_queue
network.Percentile_queue = 0
$percentile_queue = $network.Percentile_queue
$network.Percentile_queue = 0

LastErrorMessage

string LastErrorMessage { get; }

Type string

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

DiagnosticStatus

Diagnostic Status

int DiagnosticStatus { get; }

Type int

Value

One of:

  • 1 - Processed
  • 2 - Not Processed
  • 3 - Input Warning
  • 4 - Processing Warning
  • 5 - Error
Code samples
int diagnosticStatus = network.DiagnosticStatus;
long diagnosticStatus;
network->get_DiagnosticStatus(&diagnosticStatus);
diagnostic_status = network.DiagnosticStatus
$diagnosticStatus = $network.DiagnosticStatus

DiagnosticMsgs

ISIAPIDiagnosticMsgs DiagnosticMsgs { get; }

Type ISIAPIDiagnosticMsgs

Code samples
var diagnosticMsgs = network.DiagnosticMsgs;
CComPtr<ISIAPIDiagnosticMsgs> diagnosticMsgs;
network->get_DiagnosticMsgs(&diagnosticMsgs);
diagnostic_msgs = network.DiagnosticMsgs
$diagnosticMsgs = $network.DiagnosticMsgs

Project

ISIAPIProject Project { get; }

Type ISIAPIProject

Code samples
var project = network.Project;
CComPtr<ISIAPIProject> project;
network->get_Project(&project);
project = network.Project
$project = $network.Project

NetworkCCGs

Collection of Common Control Group (CCG) in the Network

ISIAPINetworkCCGs NetworkCCGs { get; }

Type ISIAPINetworkCCGs

Code samples
var networkCCGs = network.NetworkCCGs;
CComPtr<ISIAPINetworkCCGs> networkCCGs;
network->get_NetworkCCGs(&networkCCGs);
network_cc_gs = network.NetworkCCGs
$networkCCGs = $network.NetworkCCGs

Routes

Collection of Routes in the Network

ISIAPIRoutes Routes { get; }

Type ISIAPIRoutes

Code samples
var routes = network.Routes;
CComPtr<ISIAPIRoutes> routes;
network->get_Routes(&routes);
routes = network.Routes
$routes = $network.Routes

Category

Network Category

string Category { get; set; }

Type string

Value

Network Category, max length = 100.

Code samples
string category = network.Category;
network.Category = @"value";
CComBSTR category;
network->get_Category(&category);
network->put_Category(CComBSTR(L"value"));
category = network.Category
network.Category = r"value"
$category = $network.Category
$network.Category = "value"

Peakflowperiod

int Peakflowperiod { get; set; }

Type int

Code samples
int peakflowperiod = network.Peakflowperiod;
network.Peakflowperiod = 0;
long peakflowperiod;
network->get_Peakflowperiod(&peakflowperiod);
network->put_Peakflowperiod(0);
peakflowperiod = network.Peakflowperiod
network.Peakflowperiod = 0
$peakflowperiod = $network.Peakflowperiod
$network.Peakflowperiod = 0

Lane_blockage_effect_option

Lane Blockage Effect Option:
In Network analysis, include Lane Blockage effects in determining Phase Times.

int Lane_blockage_effect_option { get; set; }

Type int

Value

One of:

  • 0 - Without Lane Blockage Effects
  • 1 - With Lane Blockage Effects
Code samples
int lane_blockage_effect_option = network.Lane_blockage_effect_option;
network.Lane_blockage_effect_option = 0;
long lane_blockage_effect_option;
network->get_Lane_blockage_effect_option(&lane_blockage_effect_option);
network->put_Lane_blockage_effect_option(0);
lane_blockage_effect_option = network.Lane_blockage_effect_option
network.Lane_blockage_effect_option = 0
$lane_blockage_effect_option = $network.Lane_blockage_effect_option
$network.Lane_blockage_effect_option = 0

Optimum_cycle_time_lower_user

bool Optimum_cycle_time_lower_user { get; set; }

Type bool

Code samples
bool optimum_cycle_time_lower_user = network.Optimum_cycle_time_lower_user;
network.Optimum_cycle_time_lower_user = true;
VARIANT_BOOL optimum_cycle_time_lower_user;
network->get_Optimum_cycle_time_lower_user(&optimum_cycle_time_lower_user);
network->put_Optimum_cycle_time_lower_user(VARIANT_TRUE);
optimum_cycle_time_lower_user = network.Optimum_cycle_time_lower_user
network.Optimum_cycle_time_lower_user = True
$optimum_cycle_time_lower_user = $network.Optimum_cycle_time_lower_user
$network.Optimum_cycle_time_lower_user = $true

Optimum_cycle_time_lower

int Optimum_cycle_time_lower { get; set; }

Type int

Code samples
int optimum_cycle_time_lower = network.Optimum_cycle_time_lower;
network.Optimum_cycle_time_lower = 0;
long optimum_cycle_time_lower;
network->get_Optimum_cycle_time_lower(&optimum_cycle_time_lower);
network->put_Optimum_cycle_time_lower(0);
optimum_cycle_time_lower = network.Optimum_cycle_time_lower
network.Optimum_cycle_time_lower = 0
$optimum_cycle_time_lower = $network.Optimum_cycle_time_lower
$network.Optimum_cycle_time_lower = 0

Optimum_cycle_time_upper

int Optimum_cycle_time_upper { get; set; }

Type int

Code samples
int optimum_cycle_time_upper = network.Optimum_cycle_time_upper;
network.Optimum_cycle_time_upper = 0;
long optimum_cycle_time_upper;
network->get_Optimum_cycle_time_upper(&optimum_cycle_time_upper);
network->put_Optimum_cycle_time_upper(0);
optimum_cycle_time_upper = network.Optimum_cycle_time_upper
network.Optimum_cycle_time_upper = 0
$optimum_cycle_time_upper = $network.Optimum_cycle_time_upper
$network.Optimum_cycle_time_upper = 0

Optimum_cycle_time_increment

int Optimum_cycle_time_increment { get; set; }

Type int

Code samples
int optimum_cycle_time_increment = network.Optimum_cycle_time_increment;
network.Optimum_cycle_time_increment = 0;
long optimum_cycle_time_increment;
network->get_Optimum_cycle_time_increment(&optimum_cycle_time_increment);
network->put_Optimum_cycle_time_increment(0);
optimum_cycle_time_increment = network.Optimum_cycle_time_increment
network.Optimum_cycle_time_increment = 0
$optimum_cycle_time_increment = $network.Optimum_cycle_time_increment
$network.Optimum_cycle_time_increment = 0

Optimum_cycle_time_perf_measure

int Optimum_cycle_time_perf_measure { get; set; }

Type int

Code samples
int optimum_cycle_time_perf_measure = network.Optimum_cycle_time_perf_measure;
network.Optimum_cycle_time_perf_measure = 0;
long optimum_cycle_time_perf_measure;
network->get_Optimum_cycle_time_perf_measure(&optimum_cycle_time_perf_measure);
network->put_Optimum_cycle_time_perf_measure(0);
optimum_cycle_time_perf_measure = network.Optimum_cycle_time_perf_measure
network.Optimum_cycle_time_perf_measure = 0
$optimum_cycle_time_perf_measure = $network.Optimum_cycle_time_perf_measure
$network.Optimum_cycle_time_perf_measure = 0

Optimum_cycle_time_optim_method

int Optimum_cycle_time_optim_method { get; set; }

Type int

Code samples
int optimum_cycle_time_optim_method = network.Optimum_cycle_time_optim_method;
network.Optimum_cycle_time_optim_method = 0;
long optimum_cycle_time_optim_method;
network->get_Optimum_cycle_time_optim_method(&optimum_cycle_time_optim_method);
network->put_Optimum_cycle_time_optim_method(0);
optimum_cycle_time_optim_method = network.Optimum_cycle_time_optim_method
network.Optimum_cycle_time_optim_method = 0
$optimum_cycle_time_optim_method = $network.Optimum_cycle_time_optim_method
$network.Optimum_cycle_time_optim_method = 0

Optimum_max_green_percent_lower

int Optimum_max_green_percent_lower { get; set; }

Type int

Code samples
int optimum_max_green_percent_lower = network.Optimum_max_green_percent_lower;
network.Optimum_max_green_percent_lower = 0;
long optimum_max_green_percent_lower;
network->get_Optimum_max_green_percent_lower(&optimum_max_green_percent_lower);
network->put_Optimum_max_green_percent_lower(0);
optimum_max_green_percent_lower = network.Optimum_max_green_percent_lower
network.Optimum_max_green_percent_lower = 0
$optimum_max_green_percent_lower = $network.Optimum_max_green_percent_lower
$network.Optimum_max_green_percent_lower = 0

Optimum_max_green_percent_upper

int Optimum_max_green_percent_upper { get; set; }

Type int

Code samples
int optimum_max_green_percent_upper = network.Optimum_max_green_percent_upper;
network.Optimum_max_green_percent_upper = 0;
long optimum_max_green_percent_upper;
network->get_Optimum_max_green_percent_upper(&optimum_max_green_percent_upper);
network->put_Optimum_max_green_percent_upper(0);
optimum_max_green_percent_upper = network.Optimum_max_green_percent_upper
network.Optimum_max_green_percent_upper = 0
$optimum_max_green_percent_upper = $network.Optimum_max_green_percent_upper
$network.Optimum_max_green_percent_upper = 0

Optimum_max_green_percent_increment

int Optimum_max_green_percent_increment { get; set; }

Type int

Code samples
int optimum_max_green_percent_increment = network.Optimum_max_green_percent_increment;
network.Optimum_max_green_percent_increment = 0;
long optimum_max_green_percent_increment;
network->get_Optimum_max_green_percent_increment(&optimum_max_green_percent_increment);
network->put_Optimum_max_green_percent_increment(0);
optimum_max_green_percent_increment = network.Optimum_max_green_percent_increment
network.Optimum_max_green_percent_increment = 0
$optimum_max_green_percent_increment = $network.Optimum_max_green_percent_increment
$network.Optimum_max_green_percent_increment = 0

Optimum_max_green_perf_measure

int Optimum_max_green_perf_measure { get; set; }

Type int

Code samples
int optimum_max_green_perf_measure = network.Optimum_max_green_perf_measure;
network.Optimum_max_green_perf_measure = 0;
long optimum_max_green_perf_measure;
network->get_Optimum_max_green_perf_measure(&optimum_max_green_perf_measure);
network->put_Optimum_max_green_perf_measure(0);
optimum_max_green_perf_measure = network.Optimum_max_green_perf_measure
network.Optimum_max_green_perf_measure = 0
$optimum_max_green_perf_measure = $network.Optimum_max_green_perf_measure
$network.Optimum_max_green_perf_measure = 0

Optimum_max_green_optim_method

int Optimum_max_green_optim_method { get; set; }

Type int

Code samples
int optimum_max_green_optim_method = network.Optimum_max_green_optim_method;
network.Optimum_max_green_optim_method = 0;
long optimum_max_green_optim_method;
network->get_Optimum_max_green_optim_method(&optimum_max_green_optim_method);
network->put_Optimum_max_green_optim_method(0);
optimum_max_green_optim_method = network.Optimum_max_green_optim_method
network.Optimum_max_green_optim_method = 0
$optimum_max_green_optim_method = $network.Optimum_max_green_optim_method
$network.Optimum_max_green_optim_method = 0

Variable_phasing_perf_measure

int Variable_phasing_perf_measure { get; set; }

Type int

Code samples
int variable_phasing_perf_measure = network.Variable_phasing_perf_measure;
network.Variable_phasing_perf_measure = 0;
long variable_phasing_perf_measure;
network->get_Variable_phasing_perf_measure(&variable_phasing_perf_measure);
network->put_Variable_phasing_perf_measure(0);
variable_phasing_perf_measure = network.Variable_phasing_perf_measure
network.Variable_phasing_perf_measure = 0
$variable_phasing_perf_measure = $network.Variable_phasing_perf_measure
$network.Variable_phasing_perf_measure = 0

Green_split_priority_option

Green Split Priority

int Green_split_priority_option { get; set; }

Type int

Value

One of:

  • 0 - None
  • 1 - Coordinated Movements
  • 2 - User-Specified Movements
Code samples
int green_split_priority_option = network.Green_split_priority_option;
network.Green_split_priority_option = 0;
long green_split_priority_option;
network->get_Green_split_priority_option(&green_split_priority_option);
network->put_Green_split_priority_option(0);
green_split_priority_option = network.Green_split_priority_option
network.Green_split_priority_option = 0
$green_split_priority_option = $network.Green_split_priority_option
$network.Green_split_priority_option = 0

Is_timing_optimised_for_selected_result

bool Is_timing_optimised_for_selected_result { get; set; }

Type bool

Code samples
bool is_timing_optimised_for_selected_result = network.Is_timing_optimised_for_selected_result;
network.Is_timing_optimised_for_selected_result = true;
VARIANT_BOOL is_timing_optimised_for_selected_result;
network->get_Is_timing_optimised_for_selected_result(&is_timing_optimised_for_selected_result);
network->put_Is_timing_optimised_for_selected_result(VARIANT_TRUE);
is_timing_optimised_for_selected_result = network.Is_timing_optimised_for_selected_result
network.Is_timing_optimised_for_selected_result = True
$is_timing_optimised_for_selected_result = $network.Is_timing_optimised_for_selected_result
$network.Is_timing_optimised_for_selected_result = $true

IsIncludedInProjectSummary

bool IsIncludedInProjectSummary { get; set; }

Type bool

Code samples
bool isIncludedInProjectSummary = network.IsIncludedInProjectSummary;
network.IsIncludedInProjectSummary = true;
VARIANT_BOOL isIncludedInProjectSummary;
network->get_IsIncludedInProjectSummary(&isIncludedInProjectSummary);
network->put_IsIncludedInProjectSummary(VARIANT_TRUE);
is_included_in_project_summary = network.IsIncludedInProjectSummary
network.IsIncludedInProjectSummary = True
$isIncludedInProjectSummary = $network.IsIncludedInProjectSummary
$network.IsIncludedInProjectSummary = $true

DemandSensitivity

ISIAPINetworkDemandSensitivity DemandSensitivity { get; }

Type ISIAPINetworkDemandSensitivity

Code samples
var demandSensitivity = network.DemandSensitivity;
CComPtr<ISIAPINetworkDemandSensitivity> demandSensitivity;
network->get_DemandSensitivity(&demandSensitivity);
demand_sensitivity = network.DemandSensitivity
$demandSensitivity = $network.DemandSensitivity

NetworkFolder

ISIAPINetworkFolder NetworkFolder { get; }

Type ISIAPINetworkFolder

Code samples
var networkFolder = network.NetworkFolder;
CComPtr<ISIAPINetworkFolder> networkFolder;
network->get_NetworkFolder(&networkFolder);
network_folder = network.NetworkFolder
$networkFolder = $network.NetworkFolder

SpeedEfficiencyLOSUpperLimit_B

float SpeedEfficiencyLOSUpperLimit_B { get; set; }

Type float

Code samples
float speedEfficiencyLOSUpperLimit_B = network.SpeedEfficiencyLOSUpperLimit_B;
network.SpeedEfficiencyLOSUpperLimit_B = 0.0;
double speedEfficiencyLOSUpperLimit_B;
network->get_SpeedEfficiencyLOSUpperLimit_B(&speedEfficiencyLOSUpperLimit_B);
network->put_SpeedEfficiencyLOSUpperLimit_B(0.0);
speed_efficiency_los_upper_limit_b = network.SpeedEfficiencyLOSUpperLimit_B
network.SpeedEfficiencyLOSUpperLimit_B = 0.0
$speedEfficiencyLOSUpperLimit_B = $network.SpeedEfficiencyLOSUpperLimit_B
$network.SpeedEfficiencyLOSUpperLimit_B = 0.0

SpeedEfficiencyLOSUpperLimit_C

float SpeedEfficiencyLOSUpperLimit_C { get; set; }

Type float

Code samples
float speedEfficiencyLOSUpperLimit_C = network.SpeedEfficiencyLOSUpperLimit_C;
network.SpeedEfficiencyLOSUpperLimit_C = 0.0;
double speedEfficiencyLOSUpperLimit_C;
network->get_SpeedEfficiencyLOSUpperLimit_C(&speedEfficiencyLOSUpperLimit_C);
network->put_SpeedEfficiencyLOSUpperLimit_C(0.0);
speed_efficiency_los_upper_limit_c = network.SpeedEfficiencyLOSUpperLimit_C
network.SpeedEfficiencyLOSUpperLimit_C = 0.0
$speedEfficiencyLOSUpperLimit_C = $network.SpeedEfficiencyLOSUpperLimit_C
$network.SpeedEfficiencyLOSUpperLimit_C = 0.0

SpeedEfficiencyLOSUpperLimit_D

float SpeedEfficiencyLOSUpperLimit_D { get; set; }

Type float

Code samples
float speedEfficiencyLOSUpperLimit_D = network.SpeedEfficiencyLOSUpperLimit_D;
network.SpeedEfficiencyLOSUpperLimit_D = 0.0;
double speedEfficiencyLOSUpperLimit_D;
network->get_SpeedEfficiencyLOSUpperLimit_D(&speedEfficiencyLOSUpperLimit_D);
network->put_SpeedEfficiencyLOSUpperLimit_D(0.0);
speed_efficiency_los_upper_limit_d = network.SpeedEfficiencyLOSUpperLimit_D
network.SpeedEfficiencyLOSUpperLimit_D = 0.0
$speedEfficiencyLOSUpperLimit_D = $network.SpeedEfficiencyLOSUpperLimit_D
$network.SpeedEfficiencyLOSUpperLimit_D = 0.0

SpeedEfficiencyLOSUpperLimit_E

float SpeedEfficiencyLOSUpperLimit_E { get; set; }

Type float

Code samples
float speedEfficiencyLOSUpperLimit_E = network.SpeedEfficiencyLOSUpperLimit_E;
network.SpeedEfficiencyLOSUpperLimit_E = 0.0;
double speedEfficiencyLOSUpperLimit_E;
network->get_SpeedEfficiencyLOSUpperLimit_E(&speedEfficiencyLOSUpperLimit_E);
network->put_SpeedEfficiencyLOSUpperLimit_E(0.0);
speed_efficiency_los_upper_limit_e = network.SpeedEfficiencyLOSUpperLimit_E
network.SpeedEfficiencyLOSUpperLimit_E = 0.0
$speedEfficiencyLOSUpperLimit_E = $network.SpeedEfficiencyLOSUpperLimit_E
$network.SpeedEfficiencyLOSUpperLimit_E = 0.0

SpeedEfficiencyLOSUpperLimit_F

float SpeedEfficiencyLOSUpperLimit_F { get; set; }

Type float

Code samples
float speedEfficiencyLOSUpperLimit_F = network.SpeedEfficiencyLOSUpperLimit_F;
network.SpeedEfficiencyLOSUpperLimit_F = 0.0;
double speedEfficiencyLOSUpperLimit_F;
network->get_SpeedEfficiencyLOSUpperLimit_F(&speedEfficiencyLOSUpperLimit_F);
network->put_SpeedEfficiencyLOSUpperLimit_F(0.0);
speed_efficiency_los_upper_limit_f = network.SpeedEfficiencyLOSUpperLimit_F
network.SpeedEfficiencyLOSUpperLimit_F = 0.0
$speedEfficiencyLOSUpperLimit_F = $network.SpeedEfficiencyLOSUpperLimit_F
$network.SpeedEfficiencyLOSUpperLimit_F = 0.0

Is_geometric_delay_excluded

bool Is_geometric_delay_excluded { get; set; }

Type bool

Code samples
bool is_geometric_delay_excluded = network.Is_geometric_delay_excluded;
network.Is_geometric_delay_excluded = true;
VARIANT_BOOL is_geometric_delay_excluded;
network->get_Is_geometric_delay_excluded(&is_geometric_delay_excluded);
network->put_Is_geometric_delay_excluded(VARIANT_TRUE);
is_geometric_delay_excluded = network.Is_geometric_delay_excluded
network.Is_geometric_delay_excluded = True
$is_geometric_delay_excluded = $network.Is_geometric_delay_excluded
$network.Is_geometric_delay_excluded = $true

Is_hcm_delay_formula_applied

bool Is_hcm_delay_formula_applied { get; set; }

Type bool

Code samples
bool is_hcm_delay_formula_applied = network.Is_hcm_delay_formula_applied;
network.Is_hcm_delay_formula_applied = true;
VARIANT_BOOL is_hcm_delay_formula_applied;
network->get_Is_hcm_delay_formula_applied(&is_hcm_delay_formula_applied);
network->put_Is_hcm_delay_formula_applied(VARIANT_TRUE);
is_hcm_delay_formula_applied = network.Is_hcm_delay_formula_applied
network.Is_hcm_delay_formula_applied = True
$is_hcm_delay_formula_applied = $network.Is_hcm_delay_formula_applied
$network.Is_hcm_delay_formula_applied = $true

Is_hcm_queue_formula_applied

bool Is_hcm_queue_formula_applied { get; set; }

Type bool

Code samples
bool is_hcm_queue_formula_applied = network.Is_hcm_queue_formula_applied;
network.Is_hcm_queue_formula_applied = true;
VARIANT_BOOL is_hcm_queue_formula_applied;
network->get_Is_hcm_queue_formula_applied(&is_hcm_queue_formula_applied);
network->put_Is_hcm_queue_formula_applied(VARIANT_TRUE);
is_hcm_queue_formula_applied = network.Is_hcm_queue_formula_applied
network.Is_hcm_queue_formula_applied = True
$is_hcm_queue_formula_applied = $network.Is_hcm_queue_formula_applied
$network.Is_hcm_queue_formula_applied = $true

IsLaneBlockageModelApplied

bool IsLaneBlockageModelApplied { get; set; }

Type bool

Code samples
bool isLaneBlockageModelApplied = network.IsLaneBlockageModelApplied;
network.IsLaneBlockageModelApplied = true;
VARIANT_BOOL isLaneBlockageModelApplied;
network->get_IsLaneBlockageModelApplied(&isLaneBlockageModelApplied);
network->put_IsLaneBlockageModelApplied(VARIANT_TRUE);
is_lane_blockage_model_applied = network.IsLaneBlockageModelApplied
network.IsLaneBlockageModelApplied = True
$isLaneBlockageModelApplied = $network.IsLaneBlockageModelApplied
$network.IsLaneBlockageModelApplied = $true

NetworkMCs

ISIAPINetworkMCs NetworkMCs { get; }

Type ISIAPINetworkMCs

Code samples
var networkMCs = network.NetworkMCs;
CComPtr<ISIAPINetworkMCs> networkMCs;
network->get_NetworkMCs(&networkMCs);
network_m_cs = network.NetworkMCs
$networkMCs = $network.NetworkMCs

IsUserModel

Flag indicating whether the internal SIDRA INTERSECTION Software Setup that is used by this Network is a User Software Setup or a Standard Software Setup.

bool IsUserModel { get; }

Type bool

Value

True if the Software Setup is a User Software Setup. False if the Software Setup is a Standard Software Setup.

Code samples
bool isUserModel = network.IsUserModel;
VARIANT_BOOL isUserModel;
network->get_IsUserModel(&isUserModel);
is_user_model = network.IsUserModel
$isUserModel = $network.IsUserModel

NetworkType

Network Type

int NetworkType { get; }

Type int

Value

One of:

  • 0 - Basic Network
  • 1 - Assign Network
Code samples
int networkType = network.NetworkType;
long networkType;
network->get_NetworkType(&networkType);
network_type = network.NetworkType
$networkType = $network.NetworkType

NetworkScenarios

Collection of the Network Scenarios

ISIAPINetworkScenarios NetworkScenarios { get; }

Type ISIAPINetworkScenarios

Remarks

The first Network Local Scenario is created when creating a Network. This Scenario's Volume Type == 0 (Local). The Local Site Scenario of each Site in this Network is applied.

More Network Scenarios that link to different Site Scenarios can be added into a Network.

Code samples
var networkScenarios = network.NetworkScenarios;
CComPtr<ISIAPINetworkScenarios> networkScenarios;
network->get_NetworkScenarios(&networkScenarios);
network_scenarios = network.NetworkScenarios
$networkScenarios = $network.NetworkScenarios

IsInputDataCompatible

bool IsInputDataCompatible { get; }

Type bool

Code samples
bool isInputDataCompatible = network.IsInputDataCompatible;
VARIANT_BOOL isInputDataCompatible;
network->get_IsInputDataCompatible(&isInputDataCompatible);
is_input_data_compatible = network.IsInputDataCompatible
$isInputDataCompatible = $network.IsInputDataCompatible

IsOutputDataCompatible

bool IsOutputDataCompatible { get; }

Type bool

Code samples
bool isOutputDataCompatible = network.IsOutputDataCompatible;
VARIANT_BOOL isOutputDataCompatible;
network->get_IsOutputDataCompatible(&isOutputDataCompatible);
is_output_data_compatible = network.IsOutputDataCompatible
$isOutputDataCompatible = $network.IsOutputDataCompatible

MinViableVersionL1

Minimum Viable SIDRA INTERSECTION Version for this Network's Level 1 Compatibility

string MinViableVersionL1 { get; }

Type string

Remarks

Level 1 Compatibility means that this Network's Input and Output data are fully compatible with the current SIDRA INTERSECTION version.

Code samples
string minViableVersionL1 = network.MinViableVersionL1;
CComBSTR minViableVersionL1;
network->get_MinViableVersionL1(&minViableVersionL1);
min_viable_version_l1 = network.MinViableVersionL1
$minViableVersionL1 = $network.MinViableVersionL1

MinViableVersionL2

Minimum Viable SIDRA INTERSECTION Version for this Network's Level 2 Compatibility

string MinViableVersionL2 { get; }

Type string

Remarks

Level 2 Compatibility means that some of this Network's Input and Output data are incompatible with the current SIDRA INTERSECTION version but the current version is still able to edit these Input data, proccess the Network,
and access the Output data.

If the current SIDRA INTERSECTION Version is smaller than the MinViableVersionL2, ISIAPINetwork.IsInputDataCompatible return false.

Code samples
string minViableVersionL2 = network.MinViableVersionL2;
CComBSTR minViableVersionL2;
network->get_MinViableVersionL2(&minViableVersionL2);
min_viable_version_l2 = network.MinViableVersionL2
$minViableVersionL2 = $network.MinViableVersionL2

MinViableVersionL3

Minimum Viable SIDRA INTERSECTION Version for this Network's Level 3 Compatibility

string MinViableVersionL3 { get; }

Type string

Remarks

Level 3 Compatibility means that this Network's Input data are not compatible with the current SIDRA INTERSECTION version but the Output data are compatible. The current version cannot access the Input data or process the Network but can access the Output data that were prepared by a later version of SIDRA INTERSECTION.

If the current SIDRA INTERSECTION Version is smaller than the MinViableVersionL3, this Network's Input and Output data are not accessible. The Network cannot be processed. ISIAPINetwork.IsOutputDataCompatible return false.

Code samples
string minViableVersionL3 = network.MinViableVersionL3;
CComBSTR minViableVersionL3;
network->get_MinViableVersionL3(&minViableVersionL3);
min_viable_version_l3 = network.MinViableVersionL3
$minViableVersionL3 = $network.MinViableVersionL3

ConvergenceMethod

Network Convergence Method

int ConvergenceMethod { get; set; }

Type int

Value

One of:

  • 0 - One-Loop Convergence Method (Default)
  • 1 - Two-Loop Convergence Method
Code samples
int convergenceMethod = network.ConvergenceMethod;
network.ConvergenceMethod = 0;
long convergenceMethod;
network->get_ConvergenceMethod(&convergenceMethod);
network->put_ConvergenceMethod(0);
convergence_method = network.ConvergenceMethod
network.ConvergenceMethod = 0
$convergenceMethod = $network.ConvergenceMethod
$network.ConvergenceMethod = 0

TwoLoops_OuterMaxIterations

Maximum number of iterations for the Outer Loop in the Two-Loop Convergence Method.

int TwoLoops_OuterMaxIterations { get; set; }

Type int

Code samples
int twoLoops_OuterMaxIterations = network.TwoLoops_OuterMaxIterations;
network.TwoLoops_OuterMaxIterations = 0;
long twoLoops_OuterMaxIterations;
network->get_TwoLoops_OuterMaxIterations(&twoLoops_OuterMaxIterations);
network->put_TwoLoops_OuterMaxIterations(0);
two_loops__outer_max_iterations = network.TwoLoops_OuterMaxIterations
network.TwoLoops_OuterMaxIterations = 0
$twoLoops_OuterMaxIterations = $network.TwoLoops_OuterMaxIterations
$network.TwoLoops_OuterMaxIterations = 0

TwoLoops_InnerMaxIterations

Maximum number of iterations for the Inner Loop in the Two-Loop Convergence Method.

int TwoLoops_InnerMaxIterations { get; set; }

Type int

Code samples
int twoLoops_InnerMaxIterations = network.TwoLoops_InnerMaxIterations;
network.TwoLoops_InnerMaxIterations = 0;
long twoLoops_InnerMaxIterations;
network->get_TwoLoops_InnerMaxIterations(&twoLoops_InnerMaxIterations);
network->put_TwoLoops_InnerMaxIterations(0);
two_loops__inner_max_iterations = network.TwoLoops_InnerMaxIterations
network.TwoLoops_InnerMaxIterations = 0
$twoLoops_InnerMaxIterations = $network.TwoLoops_InnerMaxIterations
$network.TwoLoops_InnerMaxIterations = 0

TwoLoops_StoppingPercent

Percentage Stopping Condition for the Outer Loop in the Two-Loop Convergence Method.

float TwoLoops_StoppingPercent { get; set; }

Type float

Code samples
float twoLoops_StoppingPercent = network.TwoLoops_StoppingPercent;
network.TwoLoops_StoppingPercent = 0.0;
double twoLoops_StoppingPercent;
network->get_TwoLoops_StoppingPercent(&twoLoops_StoppingPercent);
network->put_TwoLoops_StoppingPercent(0.0);
two_loops__stopping_percent = network.TwoLoops_StoppingPercent
network.TwoLoops_StoppingPercent = 0.0
$twoLoops_StoppingPercent = $network.TwoLoops_StoppingPercent
$network.TwoLoops_StoppingPercent = 0.0

TwoLoops_ApplyMinStoppingPercent

Flag indicating if the Outer Loop's Minimum Percentage Stopping Condition is applied in the Two-Loop Convergence Method. If true, the result of the Outer Iteration with the Minimum Percentage Stopping Condition is provided when the Iterations do not settle.

bool TwoLoops_ApplyMinStoppingPercent { get; set; }

Type bool

Code samples
bool twoLoops_ApplyMinStoppingPercent = network.TwoLoops_ApplyMinStoppingPercent;
network.TwoLoops_ApplyMinStoppingPercent = true;
VARIANT_BOOL twoLoops_ApplyMinStoppingPercent;
network->get_TwoLoops_ApplyMinStoppingPercent(&twoLoops_ApplyMinStoppingPercent);
network->put_TwoLoops_ApplyMinStoppingPercent(VARIANT_TRUE);
two_loops__apply_min_stopping_percent = network.TwoLoops_ApplyMinStoppingPercent
network.TwoLoops_ApplyMinStoppingPercent = True
$twoLoops_ApplyMinStoppingPercent = $network.TwoLoops_ApplyMinStoppingPercent
$network.TwoLoops_ApplyMinStoppingPercent = $true

TwoLoops_InnerStoppingPercent

Percentage Stopping Condition for the Inner Loop in the Two-Loop Convergence Method.

float TwoLoops_InnerStoppingPercent { get; set; }

Type float

Code samples
float twoLoops_InnerStoppingPercent = network.TwoLoops_InnerStoppingPercent;
network.TwoLoops_InnerStoppingPercent = 0.0;
double twoLoops_InnerStoppingPercent;
network->get_TwoLoops_InnerStoppingPercent(&twoLoops_InnerStoppingPercent);
network->put_TwoLoops_InnerStoppingPercent(0.0);
two_loops__inner_stopping_percent = network.TwoLoops_InnerStoppingPercent
network.TwoLoops_InnerStoppingPercent = 0.0
$twoLoops_InnerStoppingPercent = $network.TwoLoops_InnerStoppingPercent
$network.TwoLoops_InnerStoppingPercent = 0.0

Methods

Process()

Processes the Whole Network

This method generates the SIDRASolutions.SI.API.ISIAPINetwork.OutputNetwork data.

bool Process()

Returns bool - True, if processing was successful. False, if errors were generated during processing - check SIDRASolutions.SI.API.ISIAPINetwork.ProcessingError for details.

Code samples
bool result = network.Process();
VARIANT_BOOL result;
network->Process(&result);
result = network.Process()
$result = $network.Process()

UpdateModifiedInfo()

Update the Last Modified Information, such as Date, User Name, Organisation Name, Software Version Number

bool UpdateModifiedInfo()

Returns bool

Code samples
bool result = network.UpdateModifiedInfo();
VARIANT_BOOL result;
network->UpdateModifiedInfo(&result);
result = network.UpdateModifiedInfo()
$result = $network.UpdateModifiedInfo()

AddNetworkSite(ISIAPISite, float, float)

Add a Site into the Network. The Site's Drive Rule and Units must match this Network's ones.

ISIAPINetworkSite AddNetworkSite(ISIAPISite site, float layoutX, float layoutY)

Parameters

Name Type Description
site ISIAPISite The Site to add.
layoutX float The X-coordinate value of the Site position in the Network Configuration Layout.
layoutY float The Y-coordinate value of the Site position in the Network Configuration Layout.

Returns ISIAPINetworkSite - The new added NetworkSite.

Remarks

The Network Configuration Layout is used in the Network Configuration Dialog in the SIDRA INTERSECTION program. The dimension of any Site in the Network Configuration Layout is 200 x 200 pixels. In the Network Configuration Dialog, the start point of view is (5000, 5000). So the NetworkSites created through this dialog are usually located around the point (5000, 5000). For example, Site1 (5200, 5100), Site2 (5550, 5100). The Sites' positions in the detailed Network Layout Display are based on the relative ratio of the Sites' positions in the Network Configuration Layout.

We suggest the layoutX and layoutY values to be around 5000, and between 0 and 10000.

Code samples
var result = network.AddNetworkSite(null, 0.0, 0.0);
CComPtr<ISIAPINetworkSite> result;
network->AddNetworkSite(NULL, 0.0, 0.0, &result);
result = network.AddNetworkSite(None, 0.0, 0.0)
$result = $network.AddNetworkSite($null, 0.0, 0.0)

RemoveNetworkSite(ISIAPINetworkSite)

Remove a NetworkSite from the Network. If the NetworkSite is used in any Route(s), remove the Route(s) before removing the NetworkSite.

bool RemoveNetworkSite(ISIAPINetworkSite networkSite)

Parameters

Name Type Description
networkSite ISIAPINetworkSite The NetworkSite to remove.

Returns bool - true if the NetworkSite is successfully removed; otherwise, false. This method also returns false if the NetworkSite does not exist in this Network.

Code samples
bool result = network.RemoveNetworkSite(null);
VARIANT_BOOL result;
network->RemoveNetworkSite(NULL, &result);
result = network.RemoveNetworkSite(None)
$result = $network.RemoveNetworkSite($null)

AddNetworkLegConnection(ISIAPINetworkSite, int, ISIAPINetworkSite, int)

ISIAPINetworkLegConnection AddNetworkLegConnection(ISIAPINetworkSite nwSite1, int legOrientation1, ISIAPINetworkSite nwSite2, int legOrientation2)

Parameters

Name Type Description
nwSite1 ISIAPINetworkSite
legOrientation1 int
nwSite2 ISIAPINetworkSite
legOrientation2 int

Returns ISIAPINetworkLegConnection

Code samples
var result = network.AddNetworkLegConnection(null, 0, null, 0);
CComPtr<ISIAPINetworkLegConnection> result;
network->AddNetworkLegConnection(NULL, 0, NULL, 0, &result);
result = network.AddNetworkLegConnection(None, 0, None, 0)
$result = $network.AddNetworkLegConnection($null, 0, $null, 0)

RemoveNetworkLegConnection(ISIAPINetworkLegConnection)

bool RemoveNetworkLegConnection(ISIAPINetworkLegConnection nwLegConn)

Parameters

Name Type Description
nwLegConn ISIAPINetworkLegConnection

Returns bool

Code samples
bool result = network.RemoveNetworkLegConnection(null);
VARIANT_BOOL result;
network->RemoveNetworkLegConnection(NULL, &result);
result = network.RemoveNetworkLegConnection(None)
$result = $network.RemoveNetworkLegConnection($null)

AddNetworkCCG()

Add a new Common Control Group (CCG) into the Network.

ISIAPINetworkCCG AddNetworkCCG()

Returns ISIAPINetworkCCG - The new added Common Control Group (CCG).

Code samples
var result = network.AddNetworkCCG();
CComPtr<ISIAPINetworkCCG> result;
network->AddNetworkCCG(&result);
result = network.AddNetworkCCG()
$result = $network.AddNetworkCCG()

RemoveNetworkCCG(ISIAPINetworkCCG)

Remove a Common Control Group (CCG) from the Network.

bool RemoveNetworkCCG(ISIAPINetworkCCG ccg)

Parameters

Name Type Description
ccg ISIAPINetworkCCG The Common Control Group (CCG) to remove.

Returns bool - true if the Common Control Group (CCG) is successfully removed; otherwise, false. This method also returns false if the CCG does not exist in this Network.

Code samples
bool result = network.RemoveNetworkCCG(null);
VARIANT_BOOL result;
network->RemoveNetworkCCG(NULL, &result);
result = network.RemoveNetworkCCG(None)
$result = $network.RemoveNetworkCCG($null)

AddRoute()

Add a new Route into the Network.

ISIAPIRoute AddRoute()

Returns ISIAPIRoute - The new added Route

Code samples
var result = network.AddRoute();
CComPtr<ISIAPIRoute> result;
network->AddRoute(&result);
result = network.AddRoute()
$result = $network.AddRoute()

RemoveRoute(ISIAPIRoute)

Remove a Route from the Network.

bool RemoveRoute(ISIAPIRoute route)

Parameters

Name Type Description
route ISIAPIRoute The Route to remove.

Returns bool - true if the Route is successfully removed; otherwise, false. This method also returns false if the Route does not exist in this Network.

Code samples
bool result = network.RemoveRoute(null);
VARIANT_BOOL result;
network->RemoveRoute(NULL, &result);
result = network.RemoveRoute(None)
$result = $network.RemoveRoute($null)

ProcessByRoutes()

Process this Network by selected Routes. The Whole Network needs to be processed before Network by selected Routes statistics can be calculated.
If the Network has not been processed, process the Network. The Network by selected Routes statistics will be calculated as well. It is not required to call this method again.
If Route(s) are set to be included into Network by Routes after the Network is processed, call this method to calculate the Network by selected Routes statistics.

This method generates the SIDRASolutions.SI.API.ISIAPINetwork.OutputNetworkByRoutes data.

bool ProcessByRoutes()

Returns bool - true if this is processed successfully.

Code samples
bool result = network.ProcessByRoutes();
VARIANT_BOOL result;
network->ProcessByRoutes(&result);
result = network.ProcessByRoutes()
$result = $network.ProcessByRoutes()

MoveNetworkCCGTo(ISIAPINetworkCCG, int)

Move a Common Control Group (CCG) to a new position.

bool MoveNetworkCCGTo(ISIAPINetworkCCG ccg, int newPosition)

Parameters

Name Type Description
ccg ISIAPINetworkCCG The Common Control Group to move.
newPosition int The zero-based position that the CCG should be moved to.

Returns bool - true if the CCG is successfully moved; otherwise, false. This method also returns false if the CCG does not exist in this Network.

Code samples
bool result = network.MoveNetworkCCGTo(null, 0);
VARIANT_BOOL result;
network->MoveNetworkCCGTo(NULL, 0, &result);
result = network.MoveNetworkCCGTo(None, 0)
$result = $network.MoveNetworkCCGTo($null, 0)

ResetRouteSignalOffsetPriority()

Reset the Offset Priority of all valid Routes for the program calculation of Signal Offsets.

bool ResetRouteSignalOffsetPriority()

Returns bool

Code samples
bool result = network.ResetRouteSignalOffsetPriority();
VARIANT_BOOL result;
network->ResetRouteSignalOffsetPriority(&result);
result = network.ResetRouteSignalOffsetPriority()
$result = $network.ResetRouteSignalOffsetPriority()

CloneRoute(ISIAPIRoute)

Clone a Route.

ISIAPIRoute CloneRoute(ISIAPIRoute route)

Parameters

Name Type Description
route ISIAPIRoute The Route to be cloned.

Returns ISIAPIRoute - The new cloned Route.

Code samples
var result = network.CloneRoute(null);
CComPtr<ISIAPIRoute> result;
network->CloneRoute(NULL, &result);
result = network.CloneRoute(None)
$result = $network.CloneRoute($null)

MoveRouteTo(ISIAPIRoute, int)

Move a Route to a new position.

bool MoveRouteTo(ISIAPIRoute route, int newPosition)

Parameters

Name Type Description
route ISIAPIRoute The Route to move.
newPosition int The zero-based position that the Route should be moved to.

Returns bool - true if the Route is successfully moved; otherwise, false. This method also returns false if the Route does not exist in this Network.

Code samples
bool result = network.MoveRouteTo(null, 0);
VARIANT_BOOL result;
network->MoveRouteTo(NULL, 0, &result);
result = network.MoveRouteTo(None, 0)
$result = $network.MoveRouteTo($null, 0)

CreateLayoutPngData()

byte[] CreateLayoutPngData()

Returns byte[]

Code samples
var result = network.CreateLayoutPngData();
VARIANT result;
network->CreateLayoutPngData(&result);
result = network.CreateLayoutPngData()
$result = $network.CreateLayoutPngData()

CreateLayoutPngFile(string)

bool CreateLayoutPngFile(string filename)

Parameters

Name Type Description
filename string

Returns bool

Code samples
bool result = network.CreateLayoutPngFile(@"C:\path\to\project.sipx");
VARIANT_BOOL result;
network->CreateLayoutPngFile(CComBSTR(L"C:\\path\\to\\project.sipx"), &result);
result = network.CreateLayoutPngFile(r"C:\path\to\project.sipx")
$result = $network.CreateLayoutPngFile("C:\path\to\project.sipx")

RemoveOutputData()

Remove this Network and its Routes Output data.

bool RemoveOutputData()

Returns bool - true if the Output data are successfully removed

Code samples
bool result = network.RemoveOutputData();
VARIANT_BOOL result;
network->RemoveOutputData(&result);
result = network.RemoveOutputData()
$result = $network.RemoveOutputData()

AddNetworkScenario()

Add a new Network Scenario.

ISIAPINetworkScenario AddNetworkScenario()

Returns ISIAPINetworkScenario - The new added Network Scenario. Its Volume Type is 2 = Custom, the Site Scenarios defined in the ISIAPINetworkScenario.NetworkSiteScenarios collection are applied.

Code samples
var result = network.AddNetworkScenario();
CComPtr<ISIAPINetworkScenario> result;
network->AddNetworkScenario(&result);
result = network.AddNetworkScenario()
$result = $network.AddNetworkScenario()

RemoveNetworkScenario(ISIAPINetworkScenario)

Remove a Network Scenario from this Network.

bool RemoveNetworkScenario(ISIAPINetworkScenario networkScenario)

Parameters

Name Type Description
networkScenario ISIAPINetworkScenario The Network Scenario to remove.

Returns bool - true if the Network Scenario is successfully removed; otherwise, false. This method also returns false if the Network Scenario does not exist in this Network.

Remarks

The first Network Local Scenario that links to the Sites' Local Scenarios cannot be removed.

Code samples
bool result = network.RemoveNetworkScenario(null);
VARIANT_BOOL result;
network->RemoveNetworkScenario(NULL, &result);
result = network.RemoveNetworkScenario(None)
$result = $network.RemoveNetworkScenario($null)

CloneNetworkScenario(ISIAPINetworkScenario)

Clone a Network Scenario.

ISIAPINetworkScenario CloneNetworkScenario(ISIAPINetworkScenario networkScenario)

Parameters

Name Type Description
networkScenario ISIAPINetworkScenario The Network Scenario to be cloned.

Returns ISIAPINetworkScenario - The new cloned Network Scenario.

Remarks

The first Network Local Scenario that links to the Sites' Local Scenarios cannot be cloned.

Code samples
var result = network.CloneNetworkScenario(null);
CComPtr<ISIAPINetworkScenario> result;
network->CloneNetworkScenario(NULL, &result);
result = network.CloneNetworkScenario(None)
$result = $network.CloneNetworkScenario($null)

MoveNetworkScenarioTo(ISIAPINetworkScenario, int)

Move a Network Scenario to a new position in the collection.

bool MoveNetworkScenarioTo(ISIAPINetworkScenario networkScenario, int newPosition)

Parameters

Name Type Description
networkScenario ISIAPINetworkScenario The Network Scenario to move.
newPosition int The zero-based position that the Network Scenario should be moved to. The newPosition cannot be 0 because it is for the Network Local Scenario that links to the Site Local Scenarios.

Returns bool - true if the Network Scenario is successfully moved; otherwise, false. This method also returns false if the Network Scenario does not exist in this Network.

Remarks

The first Network Local Scenario that links to the Sites' Local Scenarios cannot be moved. The other Scenarios cannot be moved to the first, i.e. Position 0.

Code samples
bool result = network.MoveNetworkScenarioTo(null, 0);
VARIANT_BOOL result;
network->MoveNetworkScenarioTo(NULL, 0, &result);
result = network.MoveNetworkScenarioTo(None, 0)
$result = $network.MoveNetworkScenarioTo($null, 0)