public override void OnLoad(string name, LookingGlassBase lgbase)
 {
     base.OnLoad(name, lgbase);
     m_apiName = "LLLP";
     ModuleParams.AddDefaultParameter(ModuleName + ".Comm.Name", "Comm", "Name of comm module to connect to");
     ModuleParams.AddDefaultParameter(ModuleName + ".APIName", m_apiName, "Name of api for this comm control");
 }
Example #2
0
        override public bool AfterAllModulesLoaded()
        {
            m_log.Log(LogLevel.DINIT, "entered AfterAllModulesLoaded()");

            // m_baseURL = "http://127.0.0.1:PORT/"
            m_port    = ModuleParams.ParamInt(m_moduleName + ".Port");
            m_baseURL = ModuleParams.ParamString(m_moduleName + ".BaseURL");
            m_baseURL = m_baseURL + ":" + m_port.ToString();

            m_listener = new HttpListener();
            m_listener.Prefixes.Add(m_baseURL + "/");

            // m_baseUIDIR = "/.../bin/LookingGlassUI/"
            string baseUIDir = ModuleParams.ParamString(m_moduleName + ".UIContentDir");

            if (!baseUIDir.EndsWith("/"))
            {
                baseUIDir += "/";
            }

            // things referenced as static are from the skinning directory below the UI dir
            // m_staticDir = "/.../bin/LookingGlassUI/Default/"
            string staticDir = baseUIDir;

            if (ModuleParams.HasParameter(m_moduleName + ".Skin"))
            {
                string skinName = ModuleParams.ParamString(m_moduleName + ".Skin");
                skinName.Replace("/", ""); // skin names shouldn't fool with directories
                skinName.Replace("\\", "");
                skinName.Replace("..", "");
                staticDir = staticDir + skinName;
            }
            if (!staticDir.EndsWith("/"))
            {
                staticDir += "/";
            }

            // stdDir = "/.../bin/LookingGlassUI/std/";
            string stdDir = baseUIDir + "std/";

            m_log.Log(LogLevel.DINITDETAIL, "Registering FileHandler {0} -> {1}", "/static/", staticDir);
            m_staticHandler = new RestHandler("/static/", staticDir);

            m_log.Log(LogLevel.DINITDETAIL, "Registering FileHandler {0} -> {1}", "/std/", stdDir);
            m_stdHandler     = new RestHandler("/std/", stdDir);
            m_faviconHandler = new RestHandler("/favicon.ico", baseUIDir);

            // some Framework structures that can be referenced
            m_log.Log(LogLevel.DINITDETAIL, "Registering work queue stats at 'api/stats/workQueues'");
            m_workQueueRestHandler = new RestHandler("/stats/workQueues", WorkQueueManager.Instance);

            m_log.Log(LogLevel.DINITDETAIL, "Registering parmeters at 'api/params/Default' and 'Ini', 'User', 'Override'");
            m_paramDefaultRestHandler  = new RestHandler("/params/Default", m_lgb.AppParams.DefaultParameters);
            m_paramIniRestHandler      = new RestHandler("/params/Ini", m_lgb.AppParams.IniParameters);
            m_paramUserRestHandler     = new RestHandler("/params/User", m_lgb.AppParams.UserParameters);
            m_paramOverrideRestHandler = new RestHandler("/params/Override", m_lgb.AppParams.OverrideParameters);

            m_log.Log(LogLevel.DINIT, "exiting AfterAllModulesLoaded()");
            return(true);
        }
Example #3
0
 public override void OnLoad(string modName, LookingGlassBase lgbase)
 {
     base.OnLoad(modName, lgbase);
     ModuleParams.AddDefaultParameter(m_moduleName + ".Port", "9144",
                                      "Local port used for rest interfaces");
     ModuleParams.AddDefaultParameter(m_moduleName + ".BaseURL", "http://127.0.0.1",
                                      "Base URL for rest interfaces");
     ModuleParams.AddDefaultParameter(m_moduleName + ".CSSLocalURL", "/std/LookingGlass.css",
                                      "CSS file for rest display");
     ModuleParams.AddDefaultParameter(m_moduleName + ".UIContentDir",
                                      Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "./LookingGlassUI"),
                                      "Directory for static HTML content");
     ModuleParams.AddDefaultParameter(m_moduleName + ".Skin", "Default",
                                      "If specified, the subdirectory under StaticContentDir to take files from");
 }
Example #4
0
        public override void OnLoad(string name, LookingGlassBase lgbase)
        {
            base.OnLoad(name, lgbase);
            ModuleParams.AddDefaultParameter(m_moduleName + ".Renderer.Name", "Renderer", "");
            // todo: make this variable so there can be multiple viewers

            ModuleParams.AddDefaultParameter(m_moduleName + ".Camera.Speed", "5", "Units per second to move camera");
            ModuleParams.AddDefaultParameter(m_moduleName + ".Camera.RotationSpeed", "0.100", "Degrees to rotate camera");
            ModuleParams.AddDefaultParameter(m_moduleName + ".Camera.ServerFar", "300.0", "Far distance sent to server");

            ModuleParams.AddDefaultParameter(m_moduleName + ".Camera.BehindAgent", "4.0", "Distance camera is behind agent");
            ModuleParams.AddDefaultParameter(m_moduleName + ".Camera.AboveAgent", "2.0", "Distance camera is above agent (combined with behind)");

            // m_EntitySlot = EntityBase.AddAdditionSubsystem("VIEWER");        // used by anyone?
        }
        public override void Start()
        {
            string commName = ModuleParams.ParamString(ModuleName + ".Comm.Name");

            try {
                m_comm = (CommLLLP)ModuleManager.Instance.Module(commName);
            }
            catch (Exception e) {
                m_log.Log(LogLevel.DBADERROR, "CommLLLPRest COULD NOT CONNECT TO COMM MODULE NAMED " + commName);
                m_log.Log(LogLevel.DBADERROR, "CommLLLPRest error = " + e.ToString());
            }
            try {
                m_apiName = ModuleParams.ParamString(ModuleName + ".APIName");

                ParameterSet connParams = m_comm.ConnectionParams;
                m_paramGetHandler = new RestHandler("/" + m_apiName + "/status", ref connParams, false);
                m_actionHandler   = new RestHandler("/" + m_apiName + "/connect", null, ProcessPost);
            }
            catch (Exception e) {
                m_log.Log(LogLevel.DBADERROR, "CommLLLPRest COULD NOT REGISTER REST OPERATION: " + e.ToString());
            }
        }
Example #6
0
        override public bool AfterAllModulesLoaded()
        {
            m_log.Log(LogLevel.DINIT, "entered AfterAllModulesLoaded()");

            Renderer = (IRenderProvider)ModuleManager.Instance.Module(ModuleParams.ParamString(m_moduleName + ".Renderer.Name"));
            if (Renderer == null)
            {
                m_log.Log(LogLevel.DBADERROR, "UNABLE TO FIND RENDERER!!!! ");
                return(false);
            }

            m_cameraSpeed               = ModuleParams.ParamFloat(m_moduleName + ".Camera.Speed");
            m_cameraRotationSpeed       = ModuleParams.ParamFloat(m_moduleName + ".Camera.RotationSpeed");
            m_agentCameraBehind         = ModuleParams.ParamFloat(m_moduleName + ".Camera.BehindAgent");
            m_agentCameraAbove          = ModuleParams.ParamFloat(m_moduleName + ".Camera.AboveAgent");
            m_mainCamera                = new CameraControl();
            m_mainCamera.GlobalPosition = new OMV.Vector3d(1000d, 1000d, 40d); // World coordinates (Z up)
            // camera starts pointing down Y axis
            m_mainCamera.Heading = new OMV.Quaternion(OMV.Vector3.UnitZ, Constants.PI / 2);
            m_mainCamera.Zoom    = 1.0f;
            m_mainCamera.Far     = ModuleParams.ParamFloat(m_moduleName + ".Camera.ServerFar");
            m_cameraMode         = CameraMode.TrackingAgent;
            m_cameraLookAt       = new OMV.Vector3d(0d, 0d, 0d);

            // connect me to the world so I can know when things change in the world
            TheWorld.OnWorldRegionNew     += new WorldRegionNewCallback(World_OnRegionNew);
            TheWorld.OnWorldRegionUpdated += new WorldRegionUpdatedCallback(World_OnRegionUpdated);
            TheWorld.OnWorldRegionRemoved += new WorldRegionRemovedCallback(World_OnRegionRemoved);
            TheWorld.OnWorldEntityNew     += new WorldEntityNewCallback(World_OnEntityNew);
            TheWorld.OnWorldEntityUpdate  += new WorldEntityUpdateCallback(World_OnEntityUpdate);
            TheWorld.OnWorldEntityRemoved += new WorldEntityRemovedCallback(World_OnEntityRemoved);
            TheWorld.OnAgentNew           += new WorldAgentNewCallback(World_OnAgentNew);
            TheWorld.OnAgentUpdate        += new WorldAgentUpdateCallback(World_OnAgentUpdate);
            TheWorld.OnAgentRemoved       += new WorldAgentRemovedCallback(World_OnAgentRemoved);

            m_log.Log(LogLevel.DINIT, "exiting AfterAllModulesLoaded()");
            return(true);
        }
Example #7
0
 public void Init(ModuleParams parameters)
 {
     TestModule_Params paramss = (TestModule_Params) parameters;
 }
Example #8
0
 public void Init(ModuleParams parameters)
 {
     throw new NotImplementedException();
 }
Example #9
0
        public void Init(ModuleParams parameters)
        {
            Params = parameters as R_Peaks_Params;
            Aborted = false;
            if (!Runnable()) _ended = true;
            else
            {
                _ended = false;

                InputWorker_basic = new Basic_Data_Worker(Params.AnalysisName);
                InputWorker_basic.Load();
                InputData_basic = InputWorker_basic.BasicData;

                InputWorker = new ECG_Baseline_Data_Worker(Params.AnalysisName);
                InputWorker.Load();
                InputData = InputWorker.Data;

                OutputWorker = new R_Peaks_Data_Worker(Params.AnalysisName);
                OutputData = new R_Peaks_Data();

                _currentChannelIndex = 0;
                _samplesProcessed = 0;
                _lastRPeak = 0;
                _numRPeaks = 0;
                NumberOfChannels = InputData.SignalsFiltered.Count;
                _currentChannelLength = InputData.SignalsFiltered[_currentChannelIndex].Item2.Count;
                _currentVector = Vector<Double>.Build.Dense(_currentChannelLength);
                _currentVectorRRInterval = Vector<Double>.Build.Dense(_currentChannelLength);
                _totalVector = Vector<Double>.Build.Dense(_currentChannelLength);

            }
        }
Example #10
0
        public void Init(ModuleParams parameters)
        {
            Params = parameters as TestModule3_Params;
            Aborted = false;
            if (!Runnable()) _ended = true;
            else
            {
                _ended = false;

                InputWorker = new Basic_Data_Worker(Params.AnalysisName);
                InputWorker.Load();
                InputData = InputWorker.BasicData;

                OutputWorker = new TestModule3_Data_Worker(Params.AnalysisName);
                OutputData = new TestModule3_Data(InputData.Frequency, InputData.SampleAmount);

                _currentChannelIndex = 0;
                _samplesProcessed = 0;
                NumberOfChannels = InputData.Signals.Count;
                _currentChannelLength = InputData.Signals[_currentChannelIndex].Item2.Count;
                _currentVector = Vector<Double>.Build.Dense(_currentChannelLength);

            }
        }
Example #11
0
        public void Init(ModuleParams parameters)
        {
            Params = parameters as ECG_Baseline_Params;
            Aborted = false;
            if (!Runnable()) _ended = true;
            else
            {
                _ended = false;

                InputWorker = new Basic_Data_Worker(Params.AnalysisName);
                InputWorker.Load();
                InputData = InputWorker.BasicData;

                OutputWorker = new ECG_Baseline_Data_Worker(Params.AnalysisName);
                OutputData = new ECG_Baseline_Data();

                _currentChannelIndex = 0;
                _samplesProcessed = 0;
                NumberOfChannels = InputData.Signals.Count;
                _currentChannelLength = InputData.Signals[_currentChannelIndex].Item2.Count;
                //_currentVector = InputData.Signals[_currentChannelIndex].Item2.CopySubVectorTo(_currentVector,0,0, _currentChannelLength); //Vector<Double>.Build.Dense(_currentChannelLength);
                //InputData.Signals[_currentChannelIndex].Item2.CopySubVectorTo(_currentVector, 0, 0, _currentChannelLength);
                _currentVector = Vector<Double>.Build.Dense(_currentChannelLength);
                _temporaryVector2 = Vector<Double>.Build.Dense(_currentChannelLength);
            }
        }
Example #12
0
 public void Init(ModuleParams parameters)
 {
     _moduleParams = (Test_Module2_Param)parameters;
 }
Example #13
0
        private void moduleMenager_OnActivateModule(ModuleObject moduleObject)
        {
            Assembly assembly       = null;
            Type     pluginType     = null;
            IModule  moduleInstance = null;

            try
            {
                if (moduleManager.IsActive(moduleObject.Instance) == true)
                {
                    MessageBox.Show("Aktivane vec");
                    return;
                }

                //AppDomainSetup info = new AppDomainSetup();

                //moduleObject.AppDomain = AppDomain.CreateDomain("ModuleActive" + new Random().Next(100), null, info);
                assembly = null;
                assembly = Assembly.LoadFile(moduleObject.Path);
                ///
                ////ModuleLoader lp = (ModuleLoader)moduleObject.AppDomain.CreateInstanceAndUnwrap("UberToolsPlugins", "DamirM.Module.ModuleLoader");
                //ModuleLoader lp = (ModuleLoader)moduleObject.AppDomain.CreateInstanceAndUnwrap("UberTools", "UberTools.Class.ModuleLoader");
                ////assembly = lp.LoadAssambly(moduleObject.Path);

                ////    - - - - fix neki -    -- -- - -temp
                //FileStream fs = new FileStream(moduleObject.Path, FileMode.Open);
                //byte[] buffer = new byte[(int)fs.Length];
                //fs.Read(buffer, 0, buffer.Length);
                //fs.Close();

                //assembly = Assembly.Load(buffer);

                if (assembly != null)
                {
                    foreach (Type type in assembly.GetTypes())
                    {
                        if (type.IsAbstract)
                        {
                            continue;
                        }
                        // if this type have Module attribute then this is ubertools module
                        if (type.IsDefined(typeof(ModuleAttribute), true))
                        {
                            pluginType = type;
                            break;
                        }
                    }


                    if (pluginType != null)
                    {
                        Log.Write("Loading module: " + moduleObject.Name, this, "moduleMenager_OnActivateModule", Log.LogType.DEBUG);
                        // crete new domain, TEST
                        //AppDomain domain = AppDomain.CreateDomain("NewAppDomain");
                        //domain.CreateInstance(assembly.GetName,

                        //domain.CreateInstance(assembly.GetName().ToString(), pluginType.FullName);

                        // Create module instace
                        moduleInstance = (IModule)Activator.CreateInstance(pluginType);
                        // subscribe to module unload event
                        moduleInstance.Unload += new ModuleManager.delModule(plugin_Unload);

                        // save instance of this module
                        moduleObject.Instance = moduleInstance;

                        // set moduleobject to module instance
                        //moduleInstance.ModuleObject = moduleObject;

                        ModuleParams uberToolsPluginParams = new ModuleParams();
                        uberToolsPluginParams.DataPath = Common.BuildPath(Application.StartupPath, "data");
                        moduleInstance.ModuleParams    = uberToolsPluginParams;

                        moduleInstance.GetModuleLog.OnLog += new ModuleLog.delLog(Log.Write);

                        ModuleMainFormBase moduleMainForm = moduleInstance.ShowDialog(this, true);
                        // subscribe to events
                        moduleMainForm.Enter      += new EventHandler(toolsWindowsMenager.Activate);
                        moduleMainForm.Deactivate += new EventHandler(toolsWindowsMenager.LostFocus);

                        moduleMainForm.WindowState = FormWindowState.Maximized;
                        if (moduleMainForm.ToolsWindows() != null)
                        {
                            toolsWindowsMenager.AddControls(moduleMainForm.ToolsWindows());
                        }
                    }
                    else
                    {
                        Log.Write(new string[] { "Error loading module: " + moduleObject.Path, "Invalid module type" }, this, "moduleMenager_OnActivateModule", Log.LogType.ERROR);
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Write("Error loading plugin " + moduleObject.Path, this, "moduleMenager_OnActivateModule", Log.LogType.DEBUG);
                Log.Write(ex, this, "moduleMenager_OnActivateModule", Log.LogType.ERROR, true);
            }
        }
Example #14
0
        public void Init(ModuleParams parameters)
        {
            Params = parameters as Heart_Class_Params;

            Aborted = false;
            if (!Runnable()) _ended = true;
            else
            {
                _ended = false;

                InputEcGbaselineWorker = new ECG_Baseline_Data_Worker(Params.AnalysisName);
                InputEcGbaselineWorker.Load();
                InputECGbaselineData = InputEcGbaselineWorker.Data;

                InputRpeaksWorker = new R_Peaks_Data_Worker(Params.AnalysisName);
                InputRpeaksWorker.Load();
                InputRpeaksData = InputRpeaksWorker.Data;

                InputWavesWorker = new Waves_Data_Worker(Params.AnalysisName);
                InputWavesWorker.Load();
                InputWavesData = InputWavesWorker.Data;

                OutputWorker = new Heart_Class_Data_Worker(Params.AnalysisName);
                OutputData = new Heart_Class_Data();

                _currentChannelIndex = 0;
                _samplesProcessed = 0;
                NumberOfChannels = InputECGbaselineData.SignalsFiltered.Count;
                _currentChannelLength = InputECGbaselineData.SignalsFiltered[_currentChannelIndex].Item2.Count;
                _currentVector = Vector<Double>.Build.Dense(_currentChannelLength);
                qrsEndStep = 10;
                i = 10;
                step = InputWavesData.QRSEnds[_currentChannelIndex].Item2[qrsEndStep]; //ilośc próbek, aż do indeksu końca 10 załamka
                _tempClassResult = new List<Tuple<int, int>>();

            }
        }