/// <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; }
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); }
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; }
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>(); }
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(); } }
public DeleteRunsTask( IAuditEventRepository auditEventRepository, IRunManager runManager, IRepositoryFactory repositoryFactory, TimeSpan runRetention) { _auditEventRepository = auditEventRepository; _runManager = runManager; _repositoryFactory = repositoryFactory; _runRetention = runRetention; }
public SystemTasksManager( RootFolder rootFolder, IAuditEventRepository auditEventRepository, IRepositoryFactory repositoryFactory, IRunManager runManager, IAccessTokensRepository accessTokensRepository ) { _rootFolder = rootFolder; _auditEventRepository = auditEventRepository; _repositoryFactory = repositoryFactory; _accessTokenRepository = accessTokensRepository; _runManager = runManager; }
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; }
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; }
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)); } }
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 ); })); }
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; }
/// <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); }
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); }
/// <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; } }
public Terrain(Heightmap heightmap, IRunManager manager) : this(heightmap.image, heightmap.minHeight, heightmap.maxHeight, heightmap.pointsPerMeter, manager) { }
public RenderManager(IRunManager manager, Control output) : base(manager) { Output = output; Content = new RenderablesList(); }
/// <summary> /// Default constructor /// </summary> /// <param name="manager">The RunManager instance to be used</param> public CollabServerView(IRunManager manager) : base(manager) { }
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; }
public CrashedRunsTask(IRunManager runManager) { _runManager = runManager; }
protected View(IRunManager manager) : base(manager) { }
/// <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) { }
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); }
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>>(); }
public StartNextScenarioTaskExecutor(IRunManager runManager, IRepositoryFactory repositoryFactory, IAuditEventRepository auditEventRepository) { _runManager = runManager; _repositoryFactory = repositoryFactory; _auditEventRepository = auditEventRepository; }
/// <summary> /// Default constructor /// </summary> /// <param name="manager">Current runmanager</param> protected Base(IRunManager manager) { Manager = manager; NotifyHandlers = new List<ValueChangedHandler>(); }