马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Lited 于 2015-3-18 08:56 编辑
不知道论坛里有没有对Gmsh进行二次开发的,有的话更好啦!
总之源代码很长,我就把出错的那一段拿出来吧。
错误是error C2679: 二进制“=”: 没有找到接受“std::_Tree<_Traits>::const_iterator”类型的右操作数的运算符(或没有可接受的转换)
1> with
1> [
3> ]
1> _Traits=std::_Tset_traits<MElement *,std::less<MElement *>,std::allocator<MElement *>,false>
源代码出错的那段:MVertex* Recombinator::find(MVertex* v1,MVertex* v2,MVertex* v3,MVertex* already,const std::set<MElement*>& bin){
bool flag1,flag2,flag3,flag4;
MElement* element;
MVertex *a,*b,*c,*d;
MVertex* pointer;
std::set<MElement*>::iterator it;
pointer = 0;
for(it=bin.begin();it!=bin.end();it++){
element = *it;
a = element->getVertex(0);
b = element->getVertex(1);
c = element->getVertex(2);
d = element->getVertex(3);
flag1 = inclusion(v1,a,b,c,d);
flag2 = inclusion(v2,a,b,c,d);
flag3 = inclusion(v3,a,b,c,d);
flag4 = inclusion(already,a,b,c,d);
if(flag1 && flag2 && flag3 && !flag4){
if(a!=v1 && a!=v2 && a!=v3){
pointer = a;
}
else if(b!=v1 && b!=v2 && b!=v3){
pointer = b;
}
else if(c!=v1 && c!=v2 && c!=v3){
pointer = c;
}
else{
pointer = d;
}
break;
}
}
return pointer;
}
|