本文整理汇总了C++中ON_Brep::Compact方法的典型用法代码示例。如果您正苦于以下问题:C++ ON_Brep::Compact方法的具体用法?C++ ON_Brep::Compact怎么用?C++ ON_Brep::Compact使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ON_Brep
的用法示例。
在下文中一共展示了ON_Brep::Compact方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ON_Brep_CopyTrims
RH_C_FUNCTION ON_Brep* ON_Brep_CopyTrims( const ON_BrepFace* pConstBrepFace, const ON_Surface* pConstSurface, double tolerance)
{
ON_Brep* rc = NULL;
if( pConstBrepFace && pConstSurface )
{
ON_Brep* brep = pConstBrepFace->Brep();
int fi = pConstBrepFace->m_face_index;
ON_Brep* brp = brep->DuplicateFace(fi, FALSE);
ON_Surface* srf = pConstSurface->DuplicateSurface();
int si = brp->AddSurface(srf);
brp->m_F[0].ChangeSurface(si);
if (brp->RebuildEdges(brp->m_F[0], tolerance, TRUE, TRUE))
{ brp->Compact(); }
else
{ delete brp; }
rc = brp;
}
return rc;
}
示例2: UNUSED
/* TODO - Need to find a more compact, efficient way to
* do this - shouldn't need 24 3d curves... */
ON_Brep *
Cobb_Sphere(double UNUSED(radius), ON_3dPoint *UNUSED(origin))
{
ON_Brep *b = ON_Brep::New();
// Patch 1 of 6
ON_BezierSurface *b1 = ON_CobbSphereFace(0, 0);
ON_NurbsSurface *p1_nurb = ON_NurbsSurface::New();
b1->GetNurbForm(*p1_nurb);
b->NewFace(*p1_nurb);
// Patch 2 of 6
ON_BezierSurface *b2 = ON_CobbSphereFace(90, 0);
ON_NurbsSurface *p2_nurb = ON_NurbsSurface::New();
b2->GetNurbForm(*p2_nurb);
b->NewFace(*p2_nurb);
// Patch 3 of 6
ON_BezierSurface *b3 = ON_CobbSphereFace(180, 0);
ON_NurbsSurface *p3_nurb = ON_NurbsSurface::New();
b3->GetNurbForm(*p3_nurb);
b->NewFace(*p3_nurb);
// Patch 4 of 6
ON_BezierSurface *b4 = ON_CobbSphereFace(270, 0);
ON_NurbsSurface *p4_nurb = ON_NurbsSurface::New();
b4->GetNurbForm(*p4_nurb);
b->NewFace(*p4_nurb);
// Patch 5 of 6
ON_BezierSurface *b5 = ON_CobbSphereFace(90, 90);
ON_NurbsSurface *p5_nurb = ON_NurbsSurface::New();
b5->GetNurbForm(*p5_nurb);
b->NewFace(*p5_nurb);
// Patch 6 of 6
ON_BezierSurface *b6 = ON_CobbSphereFace(90, 270);
ON_NurbsSurface *p6_nurb = ON_NurbsSurface::New();
b6->GetNurbForm(*p6_nurb);
b->NewFace(*p6_nurb);
b->Standardize();
b->Compact();
return b;
}