![]() |
【转帖】mesh returns faces in any order
mesh returns faces in any order..
mesh returns faces in any order.. hi all, please see attached dwg file. it has single solid, i am using decomposetosave() to generate polyfacemesh out of it. it is returning me valid number of polyfacemeshes.. but for one face with 10 vertices, which is top face, the oddbpolyfacemeshptr::vertexiterator() returns faces in some odd order.. i mean to say that, adjacent oddbfacerecordptr don't share any vertex. what i understood is that adjacent faces should share at least one vertex(or vertex index). but in this case few adjacent faces don't share vertex(or vertex index).. suppose you have oddbpolyfacemeshptr ppoly which has 10 faces.. odarray<int> facevertexindex; odarray<float> vertexarray; odgepoint3d point; oddbobjectiteratorptr piter = ppoly->vertexiterator(); for(;!piter->done();piter->step()) { //retrieve vertices oddbpolyfacemeshvertexptr pvertex = piter->entity()->queryx(oddbpolyfacemeshvertex::desc()); if (!pvertex.isnull()) { point = pvertex->position(); for(int i=0;i<3;++i) vertexarray.push_back(point[i]); } //retrive vertex index information oddbfacerecordptr pface = piter->entity()->queryx(oddbfacerecord::desc()); if (!pface.isnull()) { facevertexindex.push_back(pface->getvertexat(0)); facevertexindex.push_back(pface->getvertexat(1)); facevertexindex.push_back(pface->getvertexat(2)); } } if you see facevertexindex, adjacent faces don't always share one vertex.. is this acceptable? or there is some problem?? thanks for your help.. attached files hi, each face triangulates separately. vertexes shouldn't be doubled inside one face. but this isn't critical and mesh will be valid in any case. adjacent faces can be at any position in face array. not only at next... i didnt' find any problem with your test file. last edited by arumjantsev; 2nd september 2008 at 12:19 amfff">. |
所有的时间均为北京时间。 现在的时间是 04:27 PM. |