首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用结构来迭代cmake中的坐标

使用结构来迭代cmake中的坐标
EN

Stack Overflow用户
提问于 2022-10-04 02:34:08
回答 1查看 71关注 0票数 0

我正在cmake中的一个网格系统上工作,我想用一个结构来自动创建抓地力,这里是我正在使用的一个例子

代码语言:javascript
复制
struct Vertex {
    float xyzw[4];
};

此结构将用于保存顶点。

代码语言:javascript
复制
Vertex verts[] = {}

目前,我的网格系统就是这样构建的。

代码语言:javascript
复制
Vertex L1 = { 1, 0, 0, 1 };
Vertex L2 = { -1, 0, 0, 1 };

L1和L2将以这样的方式进入我的verts

代码语言:javascript
复制
verts[] = {L1, L2}

这会创造出一条线。现在,我想不出用for循环自动化这个过程的方法了。任何建议都会很好

EN

回答 1

Stack Overflow用户

发布于 2022-10-04 11:22:42

您可以使用int指针,而不是使用数组,这些指针基本上是数组。我想你可以这样做:

在上帝的身上试试!

代码语言:javascript
复制
#include <iostream>
#include <cstdlib>

using namespace std;
int main(){
    int verts1[] = { 1, 0, 0, 1 };
    int verts2[] = { -1, 0, 0, 1 };

    int** vertsOut;
    vertsOut = (int**) malloc(sizeof(int*) * 4); // Initialize the out pointer to pointers, with 8 vertices
    for(int i = 0; i < 4; i++) {
        vertsOut[i] = (int*)malloc(sizeof(int) * 2); // Initialize each individual vertex
    }
    // Copy over the vertices
    for(int i = 0; i < 4; i++) {
        vertsOut[i][0] = verts1[i];
    }
    for(int i = 0; i < 4; i++) {
        vertsOut[i][1] = verts2[i];
    }

    for(int i = 0; i < 4; i++) {
        cout << "x: " << vertsOut[i][0] << "  y: " << vertsOut[i][1] << endl;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73942632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档