Example #1
0
 /// <summary>
 /// Creates a flat terrain using the given width and depth
 /// </summary>
 /// <param name="width">Width of the created terrain in meters</param>
 /// <param name="depth">Depth of the created terrain in meters</param>
 /// <param name="pointsPerMeter">Density of terrain controlpoints</param>
 /// <param name="manager">The RunManager for this instance</param>
 public Terrain(float width, float depth, float pointsPerMeter, IRunManager manager)
     : base(manager)
 {
     PointsPerMeter = pointsPerMeter;
     PointsX = (int)Math.Ceiling(width*PointsPerMeter);
     PointsZ = (int)Math.Ceiling(depth*PointsPerMeter);
     Height = new float[PointsX*PointsZ];
 }
 public RunCompletionBackgroundJob(
     IRunManager runManager,
     IAuditEventRepository auditEventRepository,
     IRepositoryFactory repositoryFactory)
 {
     _runManager           = runManager;
     _auditEventRepository = auditEventRepository;
     _repositoryFactory    = repositoryFactory;
 }
Example #3
0
        public CustomMusicProvider(IRunManager manager)
        {
            Manager = manager;
            //ToDo: Save and recall analyzation results

            var musicPath = Manager.Opts.Get<string>("snd_ext_musicFolder");
            if (Manager.Opts.Get<bool>("snd_ext_useSpecialFolder"))
                musicPath = Path.Combine(Environment.GetFolderPath(Manager.Opts.Get<Environment.SpecialFolder>("snd_ext_specialFolder"))??"",musicPath);
        }
Example #4
0
 public SynthMusicProvider(IRunManager manager)
 {
     Manager = manager;
     Instruments = (manager.Opts.Get<Dictionary<int, string>>("snd_instruments")??new Dictionary<int, string>()).ToDictionary(val => val.Key, val => InstrumentSynth.Parse(val.Value));
     CurrentNotes = new List<InstrumentNoteInstance>();
     CurrentTime = 0;
     MusicVolume = 1;
     SecondsPerSample = 1 / (double)WaveFormat.SampleRate;
 }
Example #5
0
        public JobBase(SqlJobArguments args)
        {
            var container = JobRunner.GetDefaultContainer(args);

            _scope  = container.Build().BeginLifetimeScope();
            _logger = _scope.Resolve <IStatusLogger>();
            _logger.UpdateProcessId(args.ProcessId);
            _runManager = _scope.Resolve <IRunManager>();
        }
Example #6
0
 public EditorView(IRunManager manager)
     : base(manager)
 {
     StartSync = new AutoResetEvent(false);
     MainThread = ThreadHelper.Start(StartProcedure, "Editor_View");
     if (!StartSync.WaitOne(Manager.Opts.Get<int>("sys_initTimeout")))
     {
         Console.WriteLine("[Error] Renderer-init timed out");
         MainThread.Abort();
     }
 }
Example #7
0
 public DeleteRunsTask(
     IAuditEventRepository auditEventRepository,
     IRunManager runManager,
     IRepositoryFactory repositoryFactory,
     TimeSpan runRetention)
 {
     _auditEventRepository = auditEventRepository;
     _runManager           = runManager;
     _repositoryFactory    = repositoryFactory;
     _runRetention         = runRetention;
 }
Example #8
0
 public SystemTasksManager(
     RootFolder rootFolder,
     IAuditEventRepository auditEventRepository, IRepositoryFactory repositoryFactory, IRunManager runManager,
     IAccessTokensRepository accessTokensRepository
     )
 {
     _rootFolder = rootFolder;
     _auditEventRepository = auditEventRepository;
     _repositoryFactory = repositoryFactory;
     _accessTokenRepository = accessTokensRepository;
     _runManager = runManager;
 }
Example #9
0
 public RunExecuteTest(IRunManager runManager, IAutoBooks autoBooks, IRepositoryFactory repositoryFactory, Guid templateRunId,
                       IAuditEventRepository auditEventRepository, int scenarioCompleteTimeoutMins,
                       IIdentityGeneratorResolver identityGeneratorResolver)
 {
     _runManager                  = runManager;
     _autoBooks                   = autoBooks;
     _repositoryFactory           = repositoryFactory;
     _templateRunId               = templateRunId;
     _auditEventRepository        = auditEventRepository;
     _scenarioCompleteTimeoutMins = scenarioCompleteTimeoutMins;
     _identityGeneratorResolver   = identityGeneratorResolver;
 }
Example #10
0
 public SystemTestsManager(IConfiguration configuration, IRunManager runManager, AWSSettings awsSettings, ICloudStorage cloudStorage,
                           IAuditEventRepository auditEventRepository, IAutoBooks autoBooks, IRepositoryFactory repositoryFactory,
                           IIdentityGeneratorResolver identityGeneratorResolver)
 {
     _applicationConfiguration = configuration;
     _runManager                = runManager;
     _awsSettings               = awsSettings;
     _auditEventRepository      = auditEventRepository;
     _autoBooks                 = autoBooks;
     _cloudStorage              = cloudStorage;
     _repositoryFactory         = repositoryFactory;
     _identityGeneratorResolver = identityGeneratorResolver;
 }
Example #11
0
 public CustomMusicAnalyzer(IRunManager manager)
     : base(manager)
 {
     var musicDirPath = Manager.Opts.Get<bool>("snd_ext_useSpecialFolder")
         ? Environment.GetFolderPath(Manager.Opts.Get<Environment.SpecialFolder>("snd_ext_specialFolder"))
         : "";
     musicDirPath = Path.Combine(musicDirPath, Manager.Opts.Get<string>("snd_ext_musicFolder"));
     var musicDir = Manager.Files.GetDir(musicDirPath);
     foreach (var filename in musicDir.Files.Where(filename => filename.ToLowerInvariant().Substring(filename.Length - 4).Equals(".mp3")))
     {
         AnalyzeFileMP3(Manager.Files.Get(filename));
     }
 }
Example #12
0
 public FileManager(IRunManager manager)
     : base(manager)
 {
     Cache = new Dictionary<string, MemoryStreamMultiplexer>();
     Requests = new Dictionary<string, int>();
     CleanUpThread = ThreadHelper.Start(CleanUpLoop, "FileManager_CleanUp");
     FileNameComparer = new CaseinsensitiveEqualityComparer();
     DataFolder = Path.Combine(
             Manager.Opts.Get<bool>("sys_useDataSpecialFolder") ? Environment.GetFolderPath(Manager.Opts.Get<Environment.SpecialFolder>("sys_dataSpecialFolder")) : "",
             Manager.Opts.Get<string>("sys_dataFolder"));
     DirInfoMaxRecursionDepth = Manager.Opts.Get<int>("sys_dirInfo_maxRecursionDepth");
     NotifyHandlers.Add(
         Manager.Opts.RegisterChangeNotification("sys_dirInfo_maxRecursionDepth", delegate(string key, object value) { DirInfoMaxRecursionDepth = ( (int) value ); }));
 }
Example #13
0
        public Editor(EditorView view, IRunManager manager)
        {
            View = view;
            Manager = manager;
            InitializeComponent();
            toolStripStatusLabel1.Text = "GarmEdit v" + Assembly.GetExecutingAssembly().GetName().Version + "/Garm v" +
                                         Assembly.GetEntryAssembly().GetName().Version;
            comboBox1.Items.AddRange(Enum.GetNames(typeof(InstrumentSynth.FadeMode)));
            comboBox2.Items.AddRange(Enum.GetNames(typeof(InstrumentSynth.FreqgenMode)));
            comboBox3.Items.AddRange(Enum.GetNames(typeof(InstrumentSynth.FreqgenMode)));
            comboBox4.Items.AddRange(Enum.GetNames(typeof(InstrumentSynth.FreqgenMode)));

            Camera = new FreeflightCam();
            RenderTarget.KeyDown += RenderTarget_KeyDown;
        }
 public Controller(
     IModel model,
     IPlanManager planManager,
     IRobotManager robotManager,
     IDetectorManager detectorManager,
     IRunManager runManager,
     IDBManager dbManager
     )
 {
     m_model           = model;
     m_planmanager     = planManager;
     m_robotmanager    = robotManager;
     m_detectormanager = detectorManager;
     m_runmanager      = runManager;
     m_dbmanager       = dbManager;
 }
Example #15
0
        /// <summary>
        /// Creates a new DebugWindow
        /// </summary>
        /// <param name="runManager">RunManager reference</param>
        public DebugWindow(IRunManager runManager)
        {
            _runManager = runManager;
            _notifyHandlers = new List<ValueChangedHandler>();
            InitializeComponent();
            Text = _runManager.Opts.Get<string>("gui_windowTitle_debug");
            _notifyHandlers.Add(_runManager.Opts.RegisterChangeNotification("gui_windowTitle_debug",
                        (key, value) => BeginInvoke((Action)delegate { Text = (string)value; })));
            _runManager.OnExit += delegate { if(Created) BeginInvoke((Action) Close); };

            CurrentView = runManager.Opts.Get<View>("dbg_dbgWnd_openTab", true);
            if (CurrentView == View.Undefined)
                CurrentView = View.LLThreads;
            _updateTimer = new Timer {Enabled = true, Interval = 250};
            _updateTimer.Tick += delegate {update(false);};
            DebugWindow_Resize(this, null);
        }
Example #16
0
 public unsafe Terrain(Bitmap heightmap, float minHeight, float maxHeight, float pointsPerMeter, IRunManager manager)
     : base(manager)
 {
     PointsPerMeter = pointsPerMeter;
     PointsX = heightmap.Size.Width;
     PointsZ = heightmap.Size.Height;
     var bitmapData = heightmap.LockBits(new Rectangle(0, 0, PointsX, PointsZ), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
     Height = new float[PointsX * PointsZ];
     for (int i = 0; i < PointsZ; i++)
     {
         uint* row = (uint*)(bitmapData.Scan0+(i*bitmapData.Stride));
         for (int j = 0; j < PointsX; j++)
         {
             Height[j * PointsZ + i] = minHeight + ((float)((double)(maxHeight - minHeight) * (double)row[j] / (double)uint.MaxValue));
         }
     }
     heightmap.UnlockBits(bitmapData);
 }
Example #17
0
        /// <summary>
        /// Creates the default AudioManager and starts the default outputs
        /// </summary>
        /// <param name="manager">The runmanager instance to use for this instance</param>
        public AudioManager(IRunManager manager)
            : base(manager)
        {
            //Init SynthGen
            MusicSynthOut = new WaveOutEvent();
            MusicSynthGen = new SynthMusicProvider(manager);
            MusicSynthOut.Init(MusicSynthGen);
            //Init ExternalMusic
            MusicExternalOut = new WaveOutEvent();
            MusicExternalProvider = new CustomMusicProvider(manager);
            MusicExternalOut.Init(MusicExternalProvider);

            //Enable default music provider
            switch (manager.Opts.Get<short>("snd_musicProvider"))
            {
                case 1:
                    MusicExternal = true;
                    break;
                case 2:
                    MusicSynth = true;
                    break;
            }
        }
Example #18
0
 public Terrain(Heightmap heightmap, IRunManager manager)
     : this(heightmap.image, heightmap.minHeight, heightmap.maxHeight, heightmap.pointsPerMeter, manager)
 {
 }
Example #19
0
 public RenderManager(IRunManager manager, Control output)
     : base(manager)
 {
     Output = output;
     Content = new RenderablesList();
 }
Example #20
0
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="manager">The RunManager instance to be used</param>
 public CollabServerView(IRunManager manager)
     : base(manager)
 {
 }
Example #21
0
 public static Terrain GetRandomTerrain(IRunManager manager)
 {
     var ter = new Terrain(500, 500, manager);
     var r = new Random();
     for (int i = 0; i < ter.Height.Length; i++)
     {
         ter.Height[i] = (float)r.NextDouble();
     }
     return ter;
 }
Example #22
0
 public CrashedRunsTask(IRunManager runManager)
 {
     _runManager = runManager;
 }
Example #23
0
 protected View(IRunManager manager)
     : base(manager)
 {
 }
Example #24
0
 /// <summary>
 /// Creates a flat terrain using the given width and depth and the default density
 /// </summary>
 /// <param name="width">Width of the created terrain in meters</param>
 /// <param name="depth">Depth of the created terrain in meters</param>
 /// <param name="manager">The RunManager for this instance</param>
 public Terrain(float width, float depth, IRunManager manager)
     : this(width, depth, manager.Opts.Get<float>("terrain_defaultPointsPerMeter"), manager)
 {
 }
Example #25
0
        public unsafe Terrain(Stream terrainDefFile, IRunManager manager)
            : base(manager)
        {
            var heightmap = new Heightmap();
            using (var reader = XmlReader.Create(terrainDefFile))
            {
                while (reader.Read())
                {
                    if (!reader.IsStartElement())
                        continue;
                    switch (reader.Name)
                    {
                        case "heightmap":
                            var file = reader["file"];
                            if (String.IsNullOrWhiteSpace(file))
                            {
            #if DEBUG
                                Console.WriteLine("[Warning] No heightmapfile specified!");
            #endif
                                continue;
                            }
                            var filestream = Manager.Files.Get(file, false);
                            heightmap.image = new Bitmap(Image.FromStream(filestream));
                            filestream.Dispose();
                            break;
                        case "mapinfo":
                            while (!(reader.NodeType == XmlNodeType.EndElement && reader.Name == "mapinfo"))
                            {
                                reader.Read();
                                if(!reader.IsStartElement())
                                    continue;
                                switch (reader.Name)
                                {
                                    case "minheight":
                                        reader.Read();
                                        heightmap.minHeight = reader.ReadContentAsFloat();
                                        break;
                                    case "maxheight":
                                        reader.Read();
                                        heightmap.maxHeight = reader.ReadContentAsFloat();
                                        break;
                                    case "pointspermeter":
                                        reader.Read();
                                        heightmap.pointsPerMeter = reader.ReadContentAsFloat();
                                        break;
                                }
                            }
                            break;
                        case "renderinfo":

                            break;
                    }
                }
            }
            PointsX = heightmap.image.Size.Width;
            PointsZ = heightmap.image.Size.Height;
            var bitmapData = heightmap.image.LockBits(new Rectangle(0, 0, PointsX, PointsZ), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
            Height = new float[PointsX * PointsZ];
            for (int i = 0; i < PointsZ; i++)
            {
                uint* row = (uint*)(bitmapData.Scan0 + (i * bitmapData.Stride));
                for (int j = 0; j < PointsX; j++)
                {
                    Height[j * PointsZ + i] = heightmap.minHeight + ((float)((double)(heightmap.maxHeight - heightmap.minHeight) * (double)row[j] / (double)uint.MaxValue));
                }
            }
            heightmap.image.UnlockBits(bitmapData);
        }
Example #26
0
        public TerrainSubrender(BTerrain terrain, RenderManager renderer, IRunManager manager)
            : base(manager)
        {
            Renderer = renderer;

            FrustumCheck = Manager.Opts.Get<bool>("rndr_terrain_frustumCheck");
            NotifyHandlers.Add(Manager.Opts.RegisterChangeNotification("rndr_terrain_frustumCheck", delegate(string key, object value) { FrustumCheck = (bool)value; }));
            try
            {
                Lods = Manager.Opts.Get<int>("rndr_terrain_lods");
                if (Lods > 1)
                {
                    LodDistancesSquared = new float[Lods - 1];
                    LodFactors = new int[Lods -1];
                    var list = Manager.Opts.Get<List<float>>("rndr_terrain_lodDistances");
                    var list2 = Manager.Opts.Get<List<int>>("rndr_terrain_lodFactors");
                    for (int i = 0; i < Lods-1; i++)
                    {
                        LodDistancesSquared[i] = list[i] * list[i];
                        LodFactors[i] = list2[i];
                    }
                }
            }
            catch (Exception)
            {
                Console.WriteLine("[Error] Could not read terrain-LOD settings, LOD disabled!");
                Lods = 1;
                LodDistancesSquared = null;
            }
            var shaderdeffile = Manager.Files.Get(@"Shaders\Terrain.hlsl", false);
            var bbuffer = new byte[shaderdeffile.Length];
            shaderdeffile.Read(bbuffer, 0, bbuffer.Length);
            shaderdeffile.Dispose();
            var bytecode = ShaderBytecode.Compile(
                Encoding.ASCII.GetBytes(
                    Encoding.ASCII.GetString(bbuffer).Replace("%TEXTURECOUNT%", "2").Replace("%OVERLAYCOUNT%", "1"))
                , "fx_5_0");
            bbuffer = null;
            Effect = new Effect(Renderer.D3DDevice, bytecode);
            bytecode.Dispose();
            _technique = Effect.GetTechniqueByName("Terrain");
            _pass = _technique.GetPassByIndex(0);

            _vertexLayout = new InputLayout(Renderer.D3DDevice, _pass.Description.Signature, new[]
                { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0),
                new InputElement("NORMAL", 0, Format.R32G32B32_Float, 0),
                new InputElement("TEXCOORD",0,Format.R32G32_Float, 0) });

            Effect.GetVariableByName("texRepeat").AsScalar().Set(new[] { 0.1f, 0.1f });

            var sampleMode = SamplerState.FromDescription(Renderer.D3DDevice, new SamplerDescription()
            {
                AddressU = TextureAddressMode.Wrap,
                AddressV = TextureAddressMode.Wrap,
                AddressW = TextureAddressMode.Clamp,
                BorderColor = new Color4(0, 0, 0, 0),
                Filter = Filter.MinMagMipLinear,
                ComparisonFunction = Comparison.Always,
                MipLodBias = 0f,
                MaximumAnisotropy = 8,
                MinimumLod = 0f,
                MaximumLod = float.MaxValue
            });
            Effect.GetVariableByName("textureSampler").AsSampler().SetSamplerState(0, sampleMode);
            Effect.GetVariableByName("alphaSampler").AsSampler().SetSamplerState(0, sampleMode);

            UpdateStaticVars();

            CurrentTerrain = terrain;
            QuadEdgeLength = Manager.Opts.Get<int>("rndr_terrain_quadVerticesPerEdge");

            var verticesX = terrain.PointsX;
            var verticesZ = terrain.PointsZ;
            var quadsX = (int)Math.Ceiling((double)(verticesX - 1) / (QuadEdgeLength - 1));
            var quadsZ = (int)Math.Ceiling((double)(verticesZ - 1) / (QuadEdgeLength - 1));
            #if DEBUG
            if ((verticesX - 1) % (QuadEdgeLength - 1) != 0)
                Console.WriteLine("[Info] The terrain X-Vertices are no multiple of the quad-length, filling to fit IndexBuffers");
            if ((verticesZ - 1) % (QuadEdgeLength - 1) != 0)
                Console.WriteLine("[Info] The terrain Z-Vertices are no multiple of the quad-length, filling to fit IndexBuffers");
            #endif
            Quads = new Quad[quadsX*quadsZ];
            QuadCountZ = quadsZ;
            for (int i = 0; i < quadsX; i++)
            {
                for (int j = 0; j < quadsZ; j++)
                {
                    Quads[i * quadsZ + j] = new Quad(i * (QuadEdgeLength - 1), (i + 1) * (QuadEdgeLength - 1), j * (QuadEdgeLength - 1), (j + 1) * (QuadEdgeLength - 1), CurrentTerrain, Renderer);
                }
            }

            FrustumTree = new QuadContainer(0,quadsX-1, 0, quadsZ-1, ref Quads, QuadCountZ);

            QuadLods = new int[Quads.Length];
            Indexbuffers = new Dictionary<uint, KeyValuePair<Buffer, int>>();
        }
Example #27
0
 public StartNextScenarioTaskExecutor(IRunManager runManager, IRepositoryFactory repositoryFactory, IAuditEventRepository auditEventRepository)
 {
     _runManager           = runManager;
     _repositoryFactory    = repositoryFactory;
     _auditEventRepository = auditEventRepository;
 }
Example #28
0
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="manager">Current runmanager</param>
 protected Base(IRunManager manager)
 {
     Manager = manager;
     NotifyHandlers = new List<ValueChangedHandler>();
 }