Event Utilities. Sequencer Nodes. Event Utility Nodes

Documentos relacionados
INF 1366 Computação Gráfica Interativa. X3D Iluminação, Environment Sensors e Protótipos

Linguagens de Domínio Específico

Maquetes Tridimensionais Interativas

Referência Básica. X3D (Extensible 3D) X3D Browser X3D.

Computação Gráfica e Áreas Correlatas

VRML - Estrutura Hierárquica da Cena

XNA. Introdução ao XNA

Welington R. Monteiro Fatea Segurança 09/2016

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Abstract Node Types. X3D Profiles. X3DChildNode. X3DChildNode X3DBoundedObject X3DGroupingNode X3DInfoNode X3DUrlObject (Interface)

Tutorial 132 CP DUO Configuração MODBUS Escravo

Estudo de viabilidade para o desenvolvimento de jogos em Java 3D em ambiente web

Introdução ao Javascript

Construção de Sites 2. Prof. Christiano Lima Santos

Prof Evandro Manara Miletto. parte 1

Arquiteturas de Protocolos. Aplicação. Redes. Aplicações cliente-servidor. Aplicações peer-to-peer

Documentação SC501GER.DLL V2.4

Desenvolvimento Web II

Programação Gráfica Parte 3 Versão em C 2006 PUCPR Tutoria de Jogos 1º Ano

Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

VRML Virtual Reality Modeling Language

Notas da Aula 14 - Fundamentos de Sistemas Operacionais

Computação Gráfica e Áreas Correlatas

Novidades da Plataforma de suporte remoto 3.0

Desenvolvimento Web. Introdução Geral. Prof. Vicente Paulo de Camargo

Aula 09. Módulos de Entrada e Saída

Geração de eventos para atuação do dispositivo IoT via Node-Red utilizando cloud USP

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

igrpweb Índice gráfico Cliente NOSi igrpweb Referência Versão 1.00 Status

Computação Gráfica e Áreas Correlatas

Configurando Interface de Rede. IPTABLES Firewall em Linux Kernel 2.4 em diante. Regras do Iptables. Iptables. Regras do Iptables. Comandos Principais

Sensory Rotator Última Atualização 22 de Agosto, 2014

Tutorial NFS-e. 1 Configurar Provedor de Nota Fiscal de Serviço NFS-e Configuração de Conta Corrente Gerar NFS-e...

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

UTILIZANDO ROBÔTICA NO ENSINO DE PROGRAMAÇÃO DE COMPUTADORES UTILIZAÇÃO DO ROBÔ LEGO MINDSTORMS

Capítulo 9 - Imagens. Imagens

Introdução à Informática

AJAX (Asynchronous Javascript And XML)

SSC0611 Arquitetura de Computadores

Tutorial 133 DUO Criação de telas e utilização do teclado

Capítulo 7. A camada de aplicação

Aula 17 Introdução ao jquery

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Hibernate Anotations

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

JavaScript Introdução e Sintaxe

APÊNDICE D O Projeto do javaplay

Web Presentation Patterns - Controllers

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

SIMULADOS & TUTORIAIS

e commerces DOCUMENTO DE INTEGRAÇÃO Sumário Dúvidas: Atualizado em: 10/09/2014

Introdução. Surge em 1995 (Brendan Eich, programador da Netscape) com o nome de Livescript

Por Fernando Koyanagi

Introdução a Programação Web com PHP

1. O QUE É MESSAGEWAY?

Clicando nesse botão aparecerá um menu no qual deve ser selecionada a porta serial em que o Rasther está ligada. Depois clique em OK.

Manual Converte-MV S_Line

Elaine Chen, Gerente de Produto. Como usar o R e o Tableau

Geração de eventos para atuação do disposi1vo IoT via Node-Red

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Repetição. Prof. César Melo

Informática I. Aula 2. Ementa

Por Sergio Genilson Pfleger PLATAFORMA ROBÓTICA GENÉRICA BASEADA EM ARDUINO.

Manual de Uso - Melhor Envio

Aula 22 Eventos. Desenvolvimento Web I Prof. Filipe Arantes Fernandes

Aula 2: Arquitetura em Três Camadas e APIs

Sistema de Importação de Avaliações PAINT (Integrador)

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores

INFORMATIVO DE RELEASE MASTERSAF DFE VERSÃO

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof.

Changelog 25/01/2019. Importante: é necessário limpar o cache do seu navegador antes de acessar a interface web do sistema.

A Figura 3.12 elucida o mapa conceitual do experimento de Lançamento Oblíquo.

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Desenvolvimento de Aplicações para Internet Aula 10

Instrumentação do NEON via WebSocket Especificação dos serviços de instrumentação do NEON através de conexões WebSocket.

Compiladores Geração de Código

JAVASCRIPT Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes

INTRODUÇÃO AO JQUERY PROF. ME. HÉLIO ESPERIDIÃO

Capítulo 7. A camada de aplicação

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

Tutorial 1 Configuração Apache Tomcat no NetBeans 8.0 (passo a passo)

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação

Introdução ao roteamento e encaminhamento de pacotes

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo

Portal de Serviços HSBC 1.0

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

Escrever scripts de PHP com HTML

SAÚDE CONNECT FATURAMENTO ODONTOLOGIA

Cross-Site Scripting (XSS): Entendendo o conceito e seus tipos

SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

Interrupção. Prof. Adilson Gonzaga

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO IMPRESSORA GC420T - ZEBRA

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Organização e Arquitetura de Computadores I

PROGRAMAÇÃO ORIENTADA A OBJETOS II -CRIANDO UM BD POSTGRESQL. Prof. Angelo Augusto Frozza, M.Sc.

Linguagens de Programação

Prof. Adilson Gonzaga

Transcrição:

Event Utilities INF 1366 Computação Gráfica Interativa X3D Event Utilities e Scripting Alberto B. Raposo abraposo@tecgraf.puc-rio.br http://www.tecgraf.puc-rio.br/~abraposo/inf1366 Há muitos tipos de nós que podem gerar muitos tipos de eventos ROUTE pode ser usado para conectar diretamente 2 eventos do mesmo tipo Ex. não se pode conectar um SFFloat de um nó a um inteiro de outro nó; timestamp não pode se conectar direto com booleano, etc. Event utility nodes facilitam a conversão Event Utility Nodes Sequencer Nodes BooleanFilter BooleanToggle BooleanSequencer IntegerSequencer BooleanTrigger IntegerTrigger TimeTrigger Script 1

Exemplo Exemplo BooleanFilter, Toggle e Trigger BooleanFilter Normalmente usado para negar um valor booleano recebido (sem alternar) BooleanToggle Ao receber o set_boolean, alterna entre True e False BooleanTrigger Conecta eventos de tempo a booleanos (gera um true sempre que receber um evento de tempo IntegerTrigger Outros Triggers Converte eventos booleanos de entrada em um valor inteiro Ver 11_IntegerTrigger TimeTrigger Convert eventos booleanos de entrada em em eventos SFTime (timestamp) Exemplos: 11_IntegerSequencer, 11_BooleanFilter, 11_BooleanToggle e 11_BooleanTrigger 2

ScriptNode ScriptNode Permite embutir programas em X3D ECMAScript (JavaScript) Java Define conjunto de campos que serão usados para enviar e receber eventos Quando recebe um evento, chama um método correspondente a esse evento no programa para tratar o evento e, possivelmente, gerar um evento de saída. URL vs CDATA ScriptNode com CDATA url Indica arquivo externo onde está o script (.js ou.class ou.jar) No caso de script embutido no xml (.x3d), é melhor usar o bloco CDATA do XML, que não fica sujeito às interpretações do XML (por exemplo, < e > ). 3

Outros campos do Script directoutput Indica se Script pode acessar e alterar outros nós da cena sem usar o ROUTE Serve de alerta para o browser no que diz respeito à renderização mustevaluate Se falso, indica ao browser que ele pode esperar para mandar eventos para o Script até que outputs sejam necessários. Métodos do Script initialize( ) Chamado automaticamente quando o Script é carregado Usado para setup do código e de conexões remotas, inicialização de variáveis, etc shutdown( ) Chamado automaticamente quando a cena é fechada ou quando o nó Script é retirado da cena (ou substituído por um outro) Métodos do Script prepareevents( ) Opcional Chamado uma vez antes de executar qualquer ROUTE na cena Usos: ler buffers da rede, checar listeners externos, etc eventsprocessed( ) Opcional Chamado depois que o nó Script recebe todos os eventos de input Pode representar ganho de eficiência, se um output precisa ser calculado a partir de vários inputs (ao invés de chamar uma funcao específica para cada input event recebido). Modelo de execução A cada quadro gerado (i.e., pixels desenhados), o browser pára para a passagem de eventos e atualizações de estado. 4

Ciclo de eventos 1. Atualizar posição de câmera 2. Avaliar input dos sensores e de outros geradores de eventos, colocando esses eventos pilha para envio 3. Rotear eventos para seus destinos, atualizando os campos do nós 4. Se novos eventos forem gerados e roteados nos passos 2 e 3, voltar ao passo 2, até que não haja mais eventos pendentes Ciclo de renderização do quadro 5. O próximo quadro é gerado (desenhado, pixel a pixel) e buferizado até que esteja completo 6. Sistemas com double buffer fazem o swap do buffer recém criado com o anterior 7. Atualiza clock do browser 8. Retorna ao ciclo de eventos (passo 1) Para evitar loops infinitos no ciclo de eventos Ciclo do Script Node Só permite uma passagem por um ROUTE a cada quadro Evita ciclos no roteamento de eventos 5

Classe Browser Classe Browser Disponível em Java e ECMAScript Provê uma série de funções úteis Exemplos de Script Event Passing, directoutpu e SAI Mais exemplos http://www.web3d.org/x3d/content/example s/basic/ http://www.web3d.org/community/models/ 6

SAI Scene Access Interface Interface de programação usada para fazer comunicação entre X3D e Java SAI exemplos e tutoriais http://www.sal.ipg.pt/user/estg/martins/x3 d.htm http://www.xj3d.org/tutorials/general_sai. html http://www.web3d.org/x3d/specifications/ ISO-IEC-19775- X3DAbstractSpecification/ 7