[brlcad-commits] SF.net SVN: brlcad:[48454] brlcad/trunk/src/librt/primitives/revolve/ revolve_brep
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <sta...@us...> - 2012-01-11 23:59:10
|
Revision: 48454 http://brlcad.svn.sourceforge.net/brlcad/?rev=48454&view=rev Author: starseeker Date: 2012-01-11 23:59:03 +0000 (Wed, 11 Jan 2012) Log Message: ----------- Reworking of polycurve handling in revolve_brep.cpp - CID 306 Modified Paths: -------------- brlcad/trunk/src/librt/primitives/revolve/revolve_brep.cpp Modified: brlcad/trunk/src/librt/primitives/revolve/revolve_brep.cpp =================================================================== --- brlcad/trunk/src/librt/primitives/revolve/revolve_brep.cpp 2012-01-11 23:51:39 UTC (rev 48453) +++ brlcad/trunk/src/librt/primitives/revolve/revolve_brep.cpp 2012-01-11 23:59:03 UTC (rev 48454) @@ -117,23 +117,20 @@ } for (int i = 0; i < loopcount ; i++) { - ON_PolyCurve* poly_curve = NULL; + ON_PolyCurve* poly_curve = new ON_PolyCurve(); for (int j = 0; j < allsegments.Count(); j++) { if (curvearray[j] == i) { - if (!poly_curve) { - poly_curve = new ON_PolyCurve(); - poly_curve->Append(allsegments[j]); - } else { - poly_curve->Append(allsegments[j]); - } + poly_curve->Append(allsegments[j]); } } + ON_NurbsCurve *revcurve = ON_NurbsCurve::New(); poly_curve->GetNurbForm(*revcurve); ON_RevSurface* revsurf = ON_RevSurface::New(); revsurf->m_curve = revcurve; revsurf->m_axis = *revaxis; ON_BrepFace *face = (*b)->NewFace(*revsurf); + if (i == largest_loop_index) { (*b)->FlipFace(*face); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |