示例#1
0
        public void LoadProject(string projectFileName)
        {
            if (string.IsNullOrWhiteSpace(projectFileName))
            {
                return;
            }

            if (!File.Exists(projectFileName))
            {
                if (LoadProjectFailed != null)
                {
                    LoadProjectFailed(this, new ProjectEventArgs(projectFileName));
                }
                return;
            }

            projectDir = Path.GetDirectoryName(projectFileName);
            Project    = Project.Load(projectFileName);
            experiment = Experiment.Load(Path.Combine(projectDir, project.Files.ExperimentFileName), project.CurrentExperimentId);

            string modelDir = Path.Combine(projectDir, project.Files.ModelDirectory);

            if (vissim.Instance.GetWorkingDirectory() != string.Format("{0}\\", modelDir))
            {
                var filesList = Directory.GetFiles(modelDir, "*.inp");
                if (filesList.Length == 0)
                {
                    throw new FileNotFoundException("There are no input file in the model directory");
                }

                string modelName = Path.GetFileName(filesList[0]);

                vissim.Instance.LoadNet(string.Format("{0}\\{1}{2}", modelDir, modelName,
                                                      modelName.EndsWith(".inp") ? string.Empty : ".inp"));

                string layoutFileName = string.Format("{0}\\vissim.ini", modelDir);
                if (File.Exists(layoutFileName))
                {
                    vissim.Instance.LoadLayout(layoutFileName);
                }
            }

            SaveProjectToSettings(projectFileName);

            OnProjectLoaded(projectFileName);
        }
示例#2
0
        public void Initialize(string projectFileName)
        {
            ThreadPool.QueueUserWorkItem(o =>
            {
                OnInitialization();

                projectDir = Path.GetDirectoryName(projectFileName);

                Project = Project.Load(projectFileName);
                Experiment.Load(ExperimentFileName, LastSnapshotId);
                tree = ExperimentsTree.Load(SnapshotTreeFileName);

                LoadModel();

                if (Experiment.GetInstance(LastSnapshotId).HasBackup)
                {
                    TakeBackup(LastSnapshotId);
                }

                OnInitialized();
            });
        }
示例#3
0
 public void LoadExperiment(Guid id)
 {
     experiment = Experiment.Load(ExperimentFileName, id);
 }