- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我正在尝试用 C++ 编写一小段代码,它将读取一个文件(顶点、vect 法线、顶点纹理坐标和面(v/vt/vn v/vt/vn v/vt/vn) 等 ),我有点迷失了自己。
我从小开始,只读取一个只有顶点、颜色和面的立方体,但现在我掌握了一个更高的多边形模型(126 个面),其中面的描述不同(之前有没有 vect normasl 或 vert 纹理),所以我认为结构中的结构是存储此信息的好方法。
inFile >> NUM_POLY;
indices = new polygon[NUM_POLY];
for (int i=0; i < NUM_POLY; i++)
{
inFile >> indices[i].a;
inFile >> indices[i].b;
inFile >> indices[i].c;
}
这是我目前的代码,使用旧系统,但我将结构更改为...
struct vertA {
int v;
int vt;
int vn;
};
struct vertB {
int v;
int vt;
int vn;
};
struct vertC {
int v;
int vt;
int vn;
};
struct polygon {
struct vertA;
struct vertB;
struct vertC;
};
所以让我感到困惑的是我如何将前 3 个整数存储到 vertA 结构中,接下来的 3 个存储在 vertB 中,然后是 vertC 并再次循环直到文件结束...
如果有人能提供帮助,那将是非常感谢!
最佳答案
这是错误的
struct polygon {
struct vertA;
struct vertB;
struct vertC;
};
我猜你的意思是
struct polygon {
vertA va;
vertB vb;
vertC vc;
};
那就很简单了(假设我没看错)
for (int i=0; i < NUM_POLY; i++)
{
inFile >> indices[i].va.v;
inFile >> indices[i].va.vt;
inFile >> indices[i].va.vn;
inFile >> indices[i].vb.v;
inFile >> indices[i].vb.vt;
inFile >> indices[i].vb.vn;
inFile >> indices[i].vc.v;
inFile >> indices[i].vc.vt;
inFile >> indices[i].vc.vn;
}
您的代码中有一件奇怪的事情是 struct vertA
和 struct vertB
以及 struct vertC
都是相同的。所以也许您不需要三个不同的结构。
关于c++ - 对从文件读取到结构中的结构感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16022685/
我正在尝试学习Rust。我正在阅读一本书online,该书实现了unix程序cat。现在,我试图读取作为像cargo run file1.txt file2.txt这样的参数传递的文件的内容,但是程序
我在 GHC 8.0.1 中遇到了一个带有种类索引 (?) GADT 的奇怪情况,其中在类型与种类签名中引入 foralls 会产生不同的类型检查行为。 考虑以下数据类型: {-# LANGUAGE
我正在使用 Perl 5.10 开发应用程序,HTML::Mason和 Apache 2.2。这是我第一次在大型项目中使用 Perl 5.10。我每隔一段时间就会出现奇怪的行为。应用程序因一个非常奇怪
我正在尝试将文件上传到aws中的rust中,因为我使用的是 rusoto_s3 的s3 rust客户端,当这些部分从单个线程发送时,我设法使分段上传代码正常工作不是我想要的,我想上传大文件,并且希望能
我是一名优秀的程序员,十分优秀!