gpt4 book ai didi

c++ - 我的 Cuda Vector 怎么可能在填充之后是空的?

转载 作者:行者123 更新时间:2023-11-27 23:56:53 31 4
gpt4 key购买 nike

所以我有这段代码,它是 future 统一 Assets 的库插件。该库使用一组三维点用四面体填充网格。我通过了 Unity 的点,一切正常, vector 显然已填满,或者我的日志文本文件如此说......在写作之后,在我尝试调用四面体化方法之前,我检查 vector 是否为空,然后它转它是空的。我不明白。

我从来没有使用过dll通信所以我有点迷茫。感谢您的宝贵时间。

代码如下:

extern "C"{
const int deviceIdx = 0;
const int seed = 123456789;
const int pointNum = 15000;
const Distribution dist = UniformDistribution;

Point3HVec pointVec;
GDelOutput output;

EXPORT_API void makeInputFromMeshCoords(float x[] , float y[], float z[],int sizeOfArrays){
CudaSafeCall( cudaSetDevice( deviceIdx ) );
CudaSafeCall( cudaDeviceReset() );
std::ofstream StatisticsFile;
StatisticsFile.open ("E:/documentos/Videojuegos/Cuarto_curso/TFG/SimplestPluginExample/Unity Project Plugin/Assets/Logs/CoordinatesUnity.txt");

for(int i =0; i<sizeOfArrays;i++)
{

Point3 point = {x[i],y[i],z[i]};
pointVec.push_back(point);
StatisticsFile <<"("<<pointVec[i]._p[0]<<","<<pointVec[i]._p[1]<<","<<pointVec[i]._p[2]<<")"<< std::endl;
StatisticsFile<<pointVec.size()<<std::endl;
}
StatisticsFile<<"END OF LOOP; SIZE: "<<pointVec.size()<<"Empty " << (pointVec.empty()?"it is":"it is not")<<std::endl;
StatisticsFile.close();

assert(pointVec.empty());
GpuDel triangulator;
triangulator.compute( pointVec, &output );
}

以下是库类型定义:

typedef thrust::host_vector< Point3 >    Point3HVec;

最佳答案

assert 的参数是您断言在正确操作下为真的表达式。您断言该 vector 为空,但失败了,因为它实际上已被填充。删除 assert 或将其更改为 assert(!pointVec.empty());

关于c++ - 我的 Cuda Vector 怎么可能在填充之后是空的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42044348/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com