Форум программистов, компьютерный форум CyberForum.ru

Распарсить файл 3Dmax - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структура - Окно c++ http://www.cyberforum.ru/cpp-beginners/thread1129213.html
Структура - Окно. Структура должна включать соответствующие поля: размер окна, его положение на экране, цвет, текст в окне. Простейшие функции: отображение окна, удаление окна, изменение цветов, смена текста в окне.
C++ Switch - case Доброго времени суток. Сделал меню по такой схеме: switch(a) { case 1: { case 1: case 2: switch(aa) { case 1: http://www.cyberforum.ru/cpp-beginners/thread1129208.html
Программа проверяет, содержится ли какой-либо предлог из массива в данной строчке C++
Дан массив с предлогами : in, and, is, a, an, or и дана пустая строчка char str, Пользователь вводит предложение, к примеру: Hello, my name is Anton. - оно записывается в строчку str Программа проверяет, содержится ли какой-либо предлог из массива в данной строчке и если да, то он удаляется из строчки. Как такое реализовать?
Какое число будет через n дней C++
Есть дата 01.01.2008. Вопрос какой день будет через n (0<= n <=1000) дней (c учётом високосных годов)? Пример: n=1 cout << 02.01.2008 n=0 cout << 01.01.2008 n=5 cout << 06.01.2008
C++ Алгоритм шифрования полей БД http://www.cyberforum.ru/cpp-beginners/thread1129186.html
Написать алгоритм шифрования ряда полей БД,осуществляемые при вводе и редактировании. Продумать алгоритм дешифрования
C++ Имеется информационный поток и написать алгоритм его шифрования при передаче данных по компьютерным сетям, чтобы поток не увеличивался в объеме Имеется информационный поток и написать алгоритм его шифрования при передаче данных по компьютерным сетям, так чтобы данный поток не увеличивался в объеме.. подробнее

Показать сообщение отдельно
x5reunion
3 / 3 / 1
Регистрация: 25.03.2014
Сообщений: 45
19.04.2014, 00:06  [ТС]     Распарсить файл 3Dmax
Заполняете динамический массив структур. Одна строка файла - один элемент массива.
Я воспользовался вектором и все считал из файла преобразовал в структуры все получилось осталось найти последнее решение проблемы. DirectX не понимает векторы при отображении моделей или я просто не знаю как ему их правильно передать и я пока забил на это. Поэтому я просто передаю элементы вектора структуре и потом загружаю ее DirectX.

Вопрос. Есть структура.

C++
1
2
3
4
5
struct SimpleVertex
{
    XMFLOAT3 Pos;   // Координаты точки в пространстве
    XMFLOAT4 Color; // Теперь каждая вершина будет содержать информацию о цвете
};
Я заношу в нее данные.

C++
1
2
3
4
5
6
7
    SimpleVertex vertices[6];
 
    for ( i = 0; i < vector_struct_vertex.size(); i++ )
    {
        vertices[i].Pos = vector_struct_vertex[i];
        vertices[i].Color = XMFLOAT4(vector_struct_vertex[i].x, vector_struct_vertex[i].y, vector_struct_vertex[i].z, 1 );
    }
Еще есть массив индексов.

C++
1
2
3
4
5
    WORD indices[24];
 
    for ( i = 0; i < vector_index_vertex.size(); i++ )
 
        indices[i] = vector_index_vertex[i];
После считывания файла известен объём, который надо выделить для массива структур и массива индексов. Как подставить размер динамически.

Допустим объявление

C++
1
2
SimpleVertex vertices[ vector_struct_vertex.size() ] 
 WORD indices[vector_index_vertex.size()]
не работает они требуют константу возникает вопрос как выделить для них размер в процессе выполнения после того как я считаю данные из файла.

Добавлено через 34 минуты
Решил проблему через оператор
C++
1
new      delete
C++
1
2
3
    int GET_VECTOR_STRUCT_VERTEX_SIZE = vector_struct_vertex.size();
 
    int GET_VECTOR_STRUCT_INDEX_SIZE = vector_index_vertex.size();

C++
1
SimpleVertex *vertices = new SimpleVertex[GET_VECTOR_STRUCT_VERTEX_SIZE];
//
//

C++
1
WORD *indices = new WORD[GET_VECTOR_STRUCT_INDEX_SIZE];
//
//

C++
1
2
3
    delete []vertices;
 
    delete []indices;
 
Текущее время: 23:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru