// Use this for initialization
        public override void utInit(SimpleFacade simpleFacade)
        {
            base.utInit(simpleFacade);



            switch (ubitrackEvent)
            {
            case UbitrackEventType.Pull:
            {
                throw new Exception("Pull not supported yet");
            }

            case UbitrackEventType.Push:
            {
                m_poseReciever = simpleFacade.getPushSourcePosition3D(patternID);

                if (m_poseReciever == null)
                {
                    throw new Exception("SimplePosition3DReceiver could not be set for POS3D ID:" + patternID);
                }



                break;
            }

            default:
                break;
            }
        }
예제 #2
0
        // Use this for initialization
        public override void utInit(SimpleFacade simpleFacade)
        {
            base.utInit(simpleFacade);

            switch (ubitrackEvent)
            {
            case UbitrackEventType.Pull:
            {
                throw new Exception("Pull event not yet supported");
            }

            case UbitrackEventType.Push:
            {
                m_listReceiver = new Unity2DListReceiver();

                if (!simpleFacade.setPosition2DListCallback(patternID, m_listReceiver))
                {
                    throw new Exception("Simple2DListReceiver could not be set for patternID:" + patternID);
                }

                break;
            }

            default:
                break;
            }
        }
예제 #3
0
        // Use this for initialization
        public override void utInit(SimpleFacade simpleFacade)
        {
            base.utInit(simpleFacade);

            switch (ubitrackEvent)
            {
            case UbitrackEventType.Pull: {
                m_posePull   = simpleFacade.getSimplePullSinkPose(patternID);
                m_simplePose = new SimplePose();

                if (m_posePull == null)
                {
                    throw new Exception("SimpleApplicationPullSinkPose not found for poseID:" + patternID);
                }
                break;
            }

            case UbitrackEventType.Push: {
                m_poseReceiver = new UnityPoseReceiver();

                if (!simpleFacade.setPoseCallback(patternID, m_poseReceiver))
                {
                    throw new Exception("SimplePoseReceiver could not be set for poseID:" + patternID);
                }

                break;
            }

            default:
                break;
            }
        }
예제 #4
0
    public string ExecuteService(string providerName, string pServiceName, string pData)
    {
        SimpleFacade wSimpleFacade = CreateSimpleFacade();
        string       wResult       = wSimpleFacade.ExecuteService(providerName, pServiceName, pData);

        return(wResult);
    }
예제 #5
0
        protected void CreateSimpleFacade()
        {
            if (simpleFacade == null)
            {
                simpleFacade = new Fwk.BusinessFacades.SimpleFacade();
            }
            if (hostContext == null)
            {
                string[] computer_name = null;
                hostContext = new HostContext();
                //OperationContext context = OperationContext.Current;
                //MessageProperties prop = context.IncomingMessageProperties;
                //RemoteEndpointMessageProperty endpoint = prop[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
                //computer_name = Dns.GetHostEntry(endpoint.Address).HostName.Split(new Char[] { '.' });

                //hostContext.HostIp = endpoint.Address;

                hostContext.HostIp = GetClientIp();
                if (string.IsNullOrEmpty(hostContext.HostName))
                {
                    computer_name = Dns.GetHostEntry("").HostName.Split(new Char[] { '.' });
                }
                else
                {
                    computer_name = Dns.GetHostEntry(hostContext.HostIp).HostName.Split(new Char[] { '.' });
                }
                if (computer_name.Count() > 0)
                {
                    hostContext.HostName = computer_name[0].ToString();
                }
            }
        }
예제 #6
0
        // Use this for initialization
        public override void utInit(SimpleFacade simpleFacade)
        {
            base.utInit(simpleFacade);

            switch (ubitrackEvent)
            {
            case UbitrackEventType.Pull: {
                throw new Exception("Pull not implemented yet");
            }

            case UbitrackEventType.Push: {
                m_imageReciever = new UnityImageReceiver(imageToGuiTexture, imageToMaterial, flipVertical, flipHorizontal);



                if (!simpleFacade.setImageCallback(patternID, m_imageReciever))
                {
                    throw new Exception("SimpleImageReceiver could not be set for poseID:");
                }

                break;
            }

            default:
                break;
            }
        }
예제 #7
0
        //private ulong lastTimestamp = 0;
        // Use this for initialization
        public override void utInit(SimpleFacade simpleFacade)
        {
            base.utInit(simpleFacade);

            switch (ubitrackEvent)
            {
            case UbitrackEventType.Pull:
            {
                throw new Exception("Pull not supported yet");
            }

            case UbitrackEventType.Push:
            {
                m_matrixReceiver = new Unity3x4MatrixReceiver();


                if (!simpleFacade.setMatrix3x4Callback(patternID, m_matrixReceiver))
                {
                    throw new Exception("UnityMatrixReciever could not be set for matrixID:" + patternID);
                }
                break;
            }

            default:
                break;
            }
        }
예제 #8
0
        /// <summary>
        /// Chequea la disponibilidad del despachador de servicio
        /// </summary>
        /// <returns>Mensaje en caso de que el servicio no esté disponible</returns>
        public string CheckServiceAvailability()
        {
            Console.WriteLine("Executing CheckServiceAvailability " + DateTime.Now.ToString());
            SimpleFacade wSimpleFacade = CreateSimpleFacade();

            return(wSimpleFacade.CheckServiceAvailability());
        }
예제 #9
0
        /// <summary>
        /// Recupera la configuración de un servicio de negocio.
        /// </summary>
        /// <param name="serviceName">Nombre del servicio.</param>
        /// <returns>configuración del servicio de negocio.</returns>
        /// <date>2008-04-07T00:00:00</date>
        /// <author>moviedo</author>
        public ServiceConfiguration GetServiceConfiguration(string serviceName)
        {
            SimpleFacade wSimpleFacade = CreateSimpleFacade();
            String       xmlServices   = wSimpleFacade.GetServiceConfiguration(_ServiceMetadataProviderName, serviceName);

            return(ServiceConfiguration.GetServiceConfigurationFromXml(xmlServices));
        }
        //private ulong lastTimestamp = 0;
        // Use this for initialization
        public override void utInit(SimpleFacade simpleFacade)
        {
            base.utInit(simpleFacade);

            switch (ubitrackEvent)
            {
            case UbitrackEventType.Pull:
            {
                throw new Exception("Pull not supported yet");
            }

            case UbitrackEventType.Push:
            {
                m_matrixReceiver = new Unity4x4MatrixReceiver();


                if (!simpleFacade.setMatrix4x4Callback(patternID, m_matrixReceiver))
                {
                    throw new Exception("UnityMatrixReciever could not be set for matrixID:" + patternID);
                }
                break;
            }

            default:
                break;
            }

            standardWidth  = Screen.width;
            standardHeight = Screen.height;
            //standardWidth =0.38f;
            //standardHeight =0.16f;
        }
예제 #11
0
        /// <summary>
        /// Obtiene la metadata de un servicio
        /// </summary>
        /// <param name="providerName">Proveedor de metadata</param>
        /// <param name="pServiceName">Nombre del servicio</param>
        /// <returns><see cref="ServiceConfiguration"/></returns>
        public ServiceConfiguration GetServiceConfiguration(string providerName, string pServiceName)
        {
            Console.WriteLine("Executing GetServiceConfiguration " + DateTime.Now.ToString());
            SimpleFacade wSimpleFacade = CreateSimpleFacade();
            String       xmlServices   = _SimpleFacade.GetServiceConfiguration(providerName, pServiceName);

            return(ServiceConfiguration.GetServiceConfigurationFromXml(xmlServices));
        }
 public virtual void utInit(SimpleFacade simpleFacade)
 {
     if (patternID == null || patternID.Length == 0)
     {
         throw new MissingMemberException("patternID is not set in gameobject: " + gameObject.name);
     }
     ubiFacade = simpleFacade;
 }
예제 #13
0
        public void ExecuteServiceJsonp(string providerName, string serviceName, string jsonRequets, string callback)
        {
            SimpleFacade wSimpleFacade = CreateSimpleFacade();

            string jsonRes = wSimpleFacade.ExecuteServiceJson_newtonjs(providerName, serviceName, jsonRequets, CreateHostContext());

            Context.Response.Write(string.Concat(callback, "(", jsonRes, ")"));
        }
예제 #14
0
 public Fwk.ConfigSection.DispatcherInfo RetriveDispatcherInfo()
 {
     if (_SimpleFacade == null)
     {
         _SimpleFacade = CreateSimpleFacade();
     }
     return(_SimpleFacade.RetriveDispatcherInfo());
 }
예제 #15
0
    /// <summary>
    /// Factory de SimpleFacade
    /// </summary>
    /// <returns></returns>
    SimpleFacade CreateSimpleFacade()
    {
        if (_SimpleFacade == null)
        {
            _SimpleFacade = new SimpleFacade();
        }

        return(_SimpleFacade);
    }
예제 #16
0
        /// <summary>
        /// Ejecuta un servicio
        /// </summary>
        /// <param name="providerName">Proveedor de metadata</param>
        /// <param name="pReq">Interfaz de contrato de servicio.- interfaz que implementan todos los request y responsees</param>
        /// <returns><see cref="IServiceContract"/></returns>
        public IServiceContract ExecuteService(string providerName, IServiceContract pReq)
        {
            Console.WriteLine("Executing " + pReq.ServiceName + " " + DateTime.Now.ToString());
            Console.WriteLine("--------Client IP  " + pReq.ContextInformation.HostIp + " Client Name" + pReq.ContextInformation.HostName);
            SimpleFacade     wSimpleFacade = CreateSimpleFacade();
            IServiceContract wRsponse      = wSimpleFacade.ExecuteService(providerName, pReq);

            return(wRsponse);
        }
예제 #17
0
 public override void utInit(SimpleFacade simpleFacade)
 {
     base.utInit(simpleFacade);
     m_button = simpleFacade.getPushSourceButton(patternID);
     if (m_button == null)
     {
         throw new Exception("SimpleApplicationPushSourceButton not found for ID:" + patternID);
     }
 }
예제 #18
0
        /// <summary>
        /// Recupera la configuración de todos los servicios de negocio.
        /// </summary>
        /// <returns>Lista de configuraciones de servicios de negocio.</returns>
        /// <date>2008-04-10T00:00:00</date>
        /// <author>moviedo</author>
        public ServiceConfigurationCollection GetAllServices()
        {
            SimpleFacade wSimpleFacade = CreateSimpleFacade();

            String xmlServices = wSimpleFacade.GetServicesList(_ServiceMetadataProviderName, true);
            ServiceConfigurationCollection wServiceConfigurationCollection = (ServiceConfigurationCollection)
                                                                             Fwk.HelperFunctions.SerializationFunctions.DeserializeFromXml(typeof(ServiceConfigurationCollection), xmlServices);

            return(wServiceConfigurationCollection);
        }
 public override void utInit(SimpleFacade simpleFacade)
 {
     base.utInit(simpleFacade);
     m_dummy = simpleFacade.getPullSinkPosition3D(patternID);
     if (m_dummy == null)
     {
         throw new Exception("SimpleApplicationPushSourceButton not found for ID:" + patternID);
     }
     this.m_screenHeight = Screen.height;
     this.m_screenWidth  = Screen.width;
     //initTexture();
 }
예제 #20
0
        /// <summary>
        /// Implementa la llamada al backend atravez de la ejecucion de la SimpleFacade.
        /// Al llamar directamente a la SimpleFacade funciona como un despachador de servicios, esto lo hace
        /// debido  a aque se trata de un wrapper local.
        /// </summary>
        /// <param name="pReq">Clase request que implementa IServiceContract. No nececita pasarce el representativo xml de tal
        /// objeto, esto es para evitar serializacion innecesaria</param>
        /// <returns>Response con los resultados del servicio</returns>
        private IServiceContract ExecuteService(IServiceContract pReq)
        {
            if (_SimpleFacade == null)
            {
                _SimpleFacade = CreateSimpleFacade();
            }

            pReq.InitializeHostContextInformation();
            IServiceContract wResponse = _SimpleFacade.ExecuteService(_ServiceMetadataProviderName, pReq);

            //wResponse.InitializeHostContextInformation();

            return(wResponse);
        }
    // Use this for initialization
    public override void utInit(SimpleFacade simpleFacade)
    {
        base.utInit(simpleFacade);

        switch (ubitrackEvent)
        {
        case UbitrackEventType.Pull:
        {
            break;
        }

        case UbitrackEventType.Push:
        {
            m_listReceiver = simpleFacade.getPushSourcePositionList3D(patternID);

            break;
        }

        default:
            break;
        }
    }
        /// <summary>
        /// http://localhost:47647/api/SingleServiceApi/ping/moviedo
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        //[HttpGet]
        ////[Route("api/SingleServiceApi/Ping/")]
        //public String Ping(string param)
        //{
        //    //CreateSimpleFacade();
        //    return "Hola " + param;
        //}
        /// <summary>
        /// Factory de SimpleFacade
        /// </summary>
        /// <returns></returns>
        void CreateSimpleFacade()
        {
            if (simpleFacade == null)
            {
                simpleFacade = new Fwk.BusinessFacades.SimpleFacade();
            }
            if (hostContext == null)
            {
                string[] computer_name = null;
                hostContext = new HostContext();
                OperationContext              context  = OperationContext.Current;
                MessageProperties             prop     = context.IncomingMessageProperties;
                RemoteEndpointMessageProperty endpoint = prop[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
                computer_name = Dns.GetHostEntry(endpoint.Address).HostName.Split(new Char[] { '.' });

                hostContext.HostIp = endpoint.Address;
                if (computer_name.Count() > 0)
                {
                    hostContext.HostName = computer_name[0].ToString();
                }
            }
        }
예제 #23
0
        public void stopUbiTrack()
        {
            if (m_facade == null || !initialized)
            {
                return;
            }

            Debug.Log("stopUbiTrack, Shutting down ubitrack, components:" + appComponents.Count);

            foreach (UbiTrackComponent comp in appComponents)
            {
                if (comp != null)
                {
                    comp.utStop();
                }
            }

            m_facade.stopDataflow();



            foreach (UbiTrackComponent comp in appComponents)
            {
                if (comp != null)
                {
                    comp.utDestroy();
                }
            }

            m_facade.clearDataflow();


            //m_facade.killEverything();
            m_facade    = null;
            initialized = false;
            Debug.Log("Ubitrack shut down");
        }
예제 #24
0
    public List <String> GetAllApplicationsId(string providerName)
    {
        SimpleFacade wSimpleFacade = CreateSimpleFacade();

        return(wSimpleFacade.GetAllApplicationsId(providerName));
    }
예제 #25
0
        /// <summary>
        /// Factory de SimpleFacade
        /// </summary>  
        /// <returns></returns>
        SimpleFacade CreateSimpleFacade()
        {
            if (_SimpleFacade == null)
                _SimpleFacade = new SimpleFacade();

            return _SimpleFacade;
        }
예제 #26
0
        void OnEnable()
        {
            if (initialized)
            {
                return;
            }

            string dfgString = "";

            if (ubitrackComponentsPath == null)
            {
                throw new MissingMemberException("ubitrack component path is empty, ubitrack can't work");
            }

                        #if !UNITY_ANDROID || UNITY_EDITOR
            string dir = Path.GetFullPath(Application.dataPath + Path.DirectorySeparatorChar + "..") + Path.DirectorySeparatorChar;

            DirectoryInfo dirInfo    = new DirectoryInfo(dir);
            FileInfo[]    filesInDir = dirInfo.GetFiles();

            foreach (FileInfo f in filesInDir)
            {
                if (f.Extension.Equals(".dfg"))
                {
                    Debug.Log("Found dfg in project folder:" + f.FullName);
                    StreamReader reader = f.OpenText();
                    dfgString = reader.ReadToEnd();
                    reader.Close();
                    break;
                }
            }



            if (logConfig.Length > 0)
            {
                string logfile = dir + logConfig;

                if (File.Exists(logfile))
                {
                    Debug.Log("Init UbiTrack Logging with file:" + logfile);
                    ubitrack.initLogging(logfile);
                }
                else
                {
                    Debug.LogError("UbiTrack log file does not exist: " + logfile);
                }
            }
                        #else
            var unity    = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            var activity = unity.GetStatic <AndroidJavaObject>("currentActivity");
            // Retrieve ApplicationInfo and nativeLibraryDir (N.B. API-9 or newer only!)
            var info = activity.Call <AndroidJavaObject>("getApplicationInfo");
            ubitrackComponentsPath = info.Get <String>("nativeLibraryDir");

            Ubitrack.ubitrack.initLogging("TRACE");
                        #endif



            if (dfgString.Length == 0)
            {
                if (dataflowFile != null)
                {
                    dfgString = dataflowFile.text;
                }
                else
                {
                    throw new MissingMemberException("ubitrack dataflow is empty, ubitrack can't work");
                }
            }



            m_facade        = new SimpleFacade(ubitrackComponentsPath);
            m_UbitrackError = m_facade.getLastError() != null;

            if (m_UbitrackError)
            {
                Debug.LogError("Error creating ubitrack simple facade, aborint starting ubitrack: " + m_facade.getLastError());
            }


            dfgParser = new DFGParser(dfgString);
        }
예제 #27
0
    public MetadataProvider GetProviderInfo(string providerName)
    {
        SimpleFacade wSimpleFacade = CreateSimpleFacade();

        return(wSimpleFacade.GetProviderInfo(providerName));
    }
예제 #28
0
    public void SetServiceConfiguration(string providerName, String pServiceName, ServiceConfiguration pServiceConfiguration)
    {
        SimpleFacade wSimpleFacade = CreateSimpleFacade();

        wSimpleFacade.SetServiceConfiguration(providerName, pServiceName, pServiceConfiguration);
    }
예제 #29
0
    public string GetServicesList(string providerName, Boolean ViewAsXml)
    {
        SimpleFacade wSimpleFacade = CreateSimpleFacade();

        return(wSimpleFacade.GetServicesList(providerName, ViewAsXml));
    }
예제 #30
0
    public string GetServiceConfiguration(string providerName, string serviceName)
    {
        SimpleFacade wSimpleFacade = CreateSimpleFacade();

        return(wSimpleFacade.GetServiceConfiguration(providerName, serviceName));
    }
예제 #31
0
    public void ExecuteService_OneWay(string providerName, string pServiceName, string pData)
    {
        SimpleFacade wSimpleFacade = CreateSimpleFacade();

        wSimpleFacade.ExecuteService(providerName, pServiceName, pData);
    }