本文整理汇总了C++中Bedge::set_crease方法的典型用法代码示例。如果您正苦于以下问题:C++ Bedge::set_crease方法的具体用法?C++ Bedge::set_crease怎么用?C++ Bedge::set_crease使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bedge
的用法示例。
在下文中一共展示了Bedge::set_crease方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: assert
int
Bedge::redefine(Bvert *v, Bvert *u)
{
// redefine this edge, replacing v with u
// precondition:
// edge does not already contain u.
// v is a vertex of this edge.
// faces have already been detached.
// can't duplicate an existing edge.
assert(contains(v) && nfaces() == 0);
if (contains(u))
return 0;
Bedge* dup = 0;
if (v == _v1) {
if ((dup = u->lookup_edge(_v2))) {
// can't redefine, but if this is a crease edge
// should ensure the duplicated edge is also
if (is_crease())
dup->set_crease(crease_val());
return 0;
}
// can redefine:
*_v1 -= this; // say bye to old _v1
_v1 = u; // record new _v1
*_v1 += this; // say hi to new _v1
} else if (v == _v2) {
// see comments above
if ((dup = u->lookup_edge(_v1))) {
if (is_crease())
dup->set_crease(crease_val());
return 0;
}
*_v2 -= this;
_v2 = u;
*_v2 += this;
} else assert(0);
geometry_changed();
return 1;
}