Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEA] Programa itf2bin para converter arquivo de texto em um formato binário #26

Open
Dirack opened this issue Apr 5, 2020 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@Dirack
Copy link
Collaborator

Dirack commented Apr 5, 2020

🎉 Solicitar nova Feature

Sua solicitação de nova feature está relacionada a algum problema?

Transformar o arquivo de texto itf em um formato binário, mais leve.

Descreva qual a solução que você gostaria

Um parseer para ler os arquivos de texto itf e dar como saída um arquivo binário.

Descreva as alternativas de solução que você considera

Ler nos arquivos de texto itf, os pares chave=valor e guardar em uma tabela de parâmetros (Uma pilha com os pares chave=valor) e preencher uma estrutura de dados que represente os modelo: As dimensões dos modelos e as interfaces.

Adione contexto

@Dirack Dirack added the enhancement New feature or request label Apr 5, 2020
@Dirack Dirack self-assigned this Apr 5, 2020
Dirack added a commit that referenced this issue Apr 6, 2020
O programa itf2bin lê um arquivo itf e procura pelas tags que delimitam a
informação utilizada pelo programa trimodel para gerar as interfaces
Dirack added a commit that referenced this issue Apr 6, 2020
O modelo é uma estrutura de dados com xmin, xmax, zmin e zmax definidos,
e com uma outra estrutura que aponta para a primeira interface. Seguindo
esta lógica, basta com que as interfaces do modelo formem uma lista ligada
que aponta para a próxima interface.

Assim, adicionar e remover intefaces do modelo é apagar o último item da
lista
Dirack added a commit that referenced this issue Apr 6, 2020
O programa 'interfaceBin.c' é um estudo sobre como ler e escrever
os modelos de interfaces em formato binário utilizando estruturas de dados.

O modelo é dividido em duas estruturas, um header com as dimensões e o
número de interfaces e uma estrutura interfaces, um vetor de interfaces,
com xedge, zedge e o sfill das camadas delimitadas pelas interfaces.
Dirack added a commit that referenced this issue Apr 6, 2020
A estratégia de leitura será ler os pares chave=valor no arquivo itf
e armazenar em uma estrutura de dados que represente o modelo e as
interfaces.

A leitura dos pares poderá ser feita formando uma tabela de parâmetros.
Ua busca dos valores dos parâmetros a partir de sua chave permite preencher
a estrutura de dados que representa o modelo e depois gravar esta estrutura em
binário
Dirack added a commit that referenced this issue Apr 6, 2020
Estabelece a estrutura de dados tabela, para guardar os parâmetros
lidos do arquivo itf em pares chave=valor e ler os valores a partir
da chave com a função getvalue.

Esta função irá permitir buscar os valores da tabela e preencher a
estrutura de dados que modela o arquivo itf. Após preencher esta
estrutura com todos os parâmetros necessários, a conversão para binário
poderá ser realizada.
Dirack added a commit that referenced this issue Apr 6, 2020
O modelo itf será representado por duas estruturas de dados: O header
com as dimensões do modelo e número de interfaces e um vetor de interfaces.

A função initHeader faz a allocação dinâmica da estrutura header do modelo
e retorna um ponteiro do tipo header para esta memória alocada.
Dirack added a commit that referenced this issue Apr 6, 2020
A estrutura interface representa a interface do modelo, com os vetores
xedge, zedge e o sfill.
Dirack added a commit that referenced this issue Apr 7, 2020
As estruturas da tabela de parâmetros e do modelo são carregadas no
programa principal, o conversor itf2bin.c

Lê os pares chave=valor do arquivo itf em looping
Dirack added a commit that referenced this issue Apr 7, 2020
A leitura das interfaces a partir do arquivo binário gerado ainda não
é possível, pois não há como saber de antemão quantos pontos são utilizados
para amostrar cada interface, estes podem variar para cada interface,
dependendo do nível de detalhe necessário para amostrar a interface.

Por isso, acrescentamos um vetor de testes em 'interfaceBin.c' para simular a
leitura de uma única interface com dois pontos nos vetores xedge e zedge. O vetor
sedge terá sempre 3 pontos, independente da interface.
Dirack added a commit that referenced this issue Apr 7, 2020
Teste de funcionamento do programa itf2bin a partir de arquivo Makefile
e um arquivo teste 'modelo.itf'. Basta rodar o comando na pasta do programa:

~$ make test
@Dirack Dirack added this to To do in processamentoSismicoSU versão 1.0 - beta via automation Apr 8, 2020
@Dirack Dirack added this to the proSU v1.0-beta.1 milestone Apr 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

No branches or pull requests

1 participant