-
Notifications
You must be signed in to change notification settings - Fork 25
Description
double mid13=cpuSecond();
printf("Process Triangle indices takes:%lfs\n",mid13-mid12);
CoredVectorMeshData mesh;
insertTriangle(VertexBuffer,allVexNums,
TriangleBuffer,allTriNums,
mesh);
host void insertTriangle(Point3D *VertexBuffer,const int &allVexNums,
int TriangleBuffer,const int &allTriNums,
CoredVectorMeshData &mesh)
{
int previousVertex = mesh.inCorePoints.size();
for(int i=0;i<allVexNums;++i){
if(abs(VertexBuffer[i].coords[0])<EPSILON)
printf("error\n");
mesh.inCorePoints.push_back(VertexBuffer[i]);
}
int inCoreFlag=0;
for(int i=0;i<3;++i){
inCoreFlag|=CoredMeshData::IN_CORE_FLAG[i];
}
for(int i=0;i<allTriNums;++i){
TriangleIndex tri;
for(int j=0;j<3;++j) {
tri.idx[j] = TriangleBuffer[3i+j] + previousVertex;
if(tri.idx[j]<0 || tri.idx[j]>=allVexNums + previousVertex){
printf("%d %d\n",tri.idx[j]-previousVertex,allVexNums);
printf("tri error\n");
}
}
mesh.addTriangle(tri,inCoreFlag);
}
}