Introdução à VRML 2.0 (Profa. Isabel Harb Manssour) |
4. Construindo Shapes de TextoAtravés do nó Text, pode-se adicionar shapes de texto no "mundo" VRML. Para cada texto, pode-se especificar uma lista de strings com seus respectivos tamanhos. E usando o nó FontStyle, pode-se controlar o tipo de fonte, seu estilo, tamanho, espaçamento, etc. Assim como os nós Box, Sphere, etc. são usados para especificar a geometria dos shapes construídos através do nó Shape, o nó Text é usado para criar a geometria de textos no espaço. Os campos do nó Text permitem especificar os caracteres que devem ser construídos e os atributos que controlam como cada string é construído. Neste momento torna-se interessante comentar que, além dos nós shape e geometria, VRML suporta uma variedade de nós property que encapsulam settings que podem ser usados várias vezes para controlar como os nós são construídos. No caso de textos, o nó property é o FontStyle. O nó Text, que cria um texto e pode ser usado como o valor do campo geometry no nó Shape, tem a seguinte sintaxe: Text{ string [ ] # MFString length [ ] # MFFloat maxExtent 0.0 # SFFloat fontStyle NULL # SFNode } O valor do campo string especifica uma ou mais linhas de texto que serão exibidas. Cada linha ou coluna de texto aparece entre aspas e separada por vírgula, entre colchetes. O valor default para este campo é uma lista vazia de strings. O nó Text cria caracteres "planos", com a profundidade Z = 0.0. Por default, os caracteres são colocados lado a lado, ao longo do eixo X da esquerda para a direita. Linhas de strings consecutivos são colocadas uma embaixo da outra, descendo no eixo Y. Estes valores default podem ser trocados usando campos do nó FontStyle que são especificados como valores do campo fontStyle. O campo length especifica o tamanho desejado, em unidades VRML, de cada linha de texto. Para respeitar este tamanho, linhas ou colunas de texto são comprimidas ou expandidas através da alteração do tamanho do caracter ou do espaço entre os caracteres. O valor 0.0 especifica que o texto será escrito no seu tamanho natural, sem comprimir ou expandir. Cada linha de texto tem seu próprio tamanho através da inclusão de múltiplos valores de length entre colchetes e separados por vírgula. Já o valor do campo maxExtent especifica o tamanho máximo permitido, em unidades VRML, de qualquer linha ou coluna de texto, sendo que este valor deve maior ou igual a 0.0. Neste caso, linhas ou colunas mais longas do que a sua extensão máxima são comprimidas através da redução do tamanho ou espaçamento dos caracteres. Linhas ou colunas mais curtas não são afetadas. O valor default para este campo é 0.0, que indica que não há limite para ser usado. As características que definem a aparência de um texto criado com o nó Text são especificadas através do valor do campo fontStyle. Tipicamente, o valor deste campo é o nó FontStyle, e o valor default NULL indica que será usado o estilo de fonte default, que instrui o nó Text a exibir o texto alinhado à esquerda, fonte serif, tamanho 1.0 unidade de altura, espaçamento entre linhas de 1.0 unidade, da esquerda para a direita horizontalmente e de cima para baixo verticalmente. A seguir é apresentado um exemplo da utilização do nó Text com sua respectiva visualização na figura 4.1. #VRML V2.0 utf8 # Exemplo de utilização do nó Text Shape { appearance Appearance { material Material { diffuseColor 0.0 0.0 0.8 } } geometry Text { string [ "Linha Um", "Linha Dois" ] } } Figura 4.1 Exemplo da utilização do nó Text
O nó FontStyle, que controla as características que definem a aparência do texto criado através do nó Text, geralmente é usado como valor do campo fontStyle. Sua sintaxe é: FontStyle{ family "SERIF" # SFString style "PLAIN" # SFString size 1.0 # SFFloat spacing 1.0 # SFFloat justify "BEGIN" # SFString horizontal TRUE # SFBool leftToRight TRUE # SFBool topToBottom TRUE # SFBool language "" # SFString } O significado dos campos é o seguinte:
O exemplo a seguir é apresentado ilustra a utilização dos nós descritos (figura 4.2). #VRML V2.0 utf8 # Exemplo de utilização do nó Text Group { children [ Shape { appearance DEF White Appearance { material Material { } } geometry Text { string "First" fontStyle FontStyle { family "SERIF" style "ITALIC" justify "END" size 1.0 } } }, Shape { appearance USE White geometry Text { string "Second" fontStyle FontStyle { family "SANS" style "BOLD" justify "BEGIN" size 1.0 } } } ] } Figura 4.2 Dois nós Text com diferentes formatações
Comentários, dúvidas, sugestões, envie um mail para [email protected] |
Última alteração em 27 de julho de 2000.