本文整理汇总了C++中Facet::addVertex方法的典型用法代码示例。如果您正苦于以下问题:C++ Facet::addVertex方法的具体用法?C++ Facet::addVertex怎么用?C++ Facet::addVertex使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Facet
的用法示例。
在下文中一共展示了Facet::addVertex方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: load
void ParserOBJ::load(Soup *o) {
Facet *f;
Vertex *v;
Vector3d *n;
while (token()!=FIN) {
if (sToken()=="#") {
lireLigne();
}
if (sToken()=="vn") {
n=new Vector3d;
skipToken();
o->addNormal(n);
int k=0;
while (token()!=P_EOL) {
if (token()==REEL) n->set(k,lireReel());
else n->set(k,double(lireEntier()));
k++; if (k>3) erreur("lecture normale avec plus de 3 composantes !!!");
}
}
if (sToken()=="f") {
skipToken();
f=o->createFacet();
int a[2];
while (token()!=P_EOL) {
f->addVertex(o->getVertex(lireEntier()-1));
if (sToken()=="/") {
int k=0;
skipToken();
if (sToken()=="/") {skipToken(); k++;}
a[k]=lireEntier();k++;
if (sToken()=="/") {
skipToken();
a[k]=lireEntier();k++;
}
if (k==2) f->addNormal(o->getNormal(a[1]-1));
}
}
}
if (sToken()=="v") {
skipToken();
v=o->createVertex();
Point3d p;
int k=0;
while (token()!=P_EOL) {
if (token()==REEL) p.set(k,lireReel());
else p.set(k,double(lireEntier()));
k++; if (k>3) erreur("lecture sommet avec plus de 3 composantes !!!");
}
v->setPoint(p);
}
skipToken();
}
}