
Thu, 05/19/2005 - 12:31
Forums:
Hello,
I need to decompose a complex surface into Coons Patch(16 pts. form).The 'patch & patches' routine I got in GeomConvert->BSplineSurfaceToBezier doesn't solve my purpose as I'm looking for the 16point Poision vector.
Pls help me out....
Pavitra.
Mon, 05/23/2005 - 15:15
Hello,
You might not got my point.
Let I'v a simple BSpline surface having 4 vertices.Now I'd like to break the surface into patches in U,W direction at parametric interval say- 0,1/3,2/3,1.
Is there any API available in OCC which can perform the operation giving all the 16 cordinate positions.
Waiting for your tips.
Thanx,
Pavitra Mukherjee
Mon, 05/23/2005 - 23:19
Hello Pavitra,
Don't remember if more A tailored approach is available but at least there is a generic one. ShapeUpgrade_SplitSurface does the work for you.
Handle(Geom_BSplineSurface) aBSS = ...;
Handle(ShapeUpgrade_SplitSurface) aSS = new ShapeUpgrade_SplitSurface;
aSS->Init (aBSS);
aSS->SetUSplitValues (...);
aSS->SetVSplitValues (...);
aSS->Perform ();
Handle(ShapeExtend_CompositeSurface) aCompSurf = aSS->ResSurface();
//then iterate over a CompSurf to retrieve your patches
Hope this helps.
Roman
Tue, 05/24/2005 - 17:40
Geom_BSplineSurface::Segment (u1, u2, v1, v2) IS a more tailored approach - really forgot it :-(.
ShapeUpgrade_SplitSurface is more general but can use Segment()inside - upon flag settings - for NURBS.