Open CASCADE Technology
6.5.4
|
An algorithm for constructing a BSpline surface filled
from a series of boundaries which serve as path
constraints and optionally, as tangency constraints.
The algorithm accepts three or four curves as the
boundaries of the target surface.
A ConstrainedFilling object provides a framework for:
More...
#include <GeomFill_ConstrainedFilling.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC | GeomFill_ConstrainedFilling (const Standard_Integer MaxDeg, const Standard_Integer MaxSeg) |
Constructs an empty framework for filling a surface from boundaries. The boundaries of the surface will be defined, and the surface will be built by using the function Init. The surface will respect the following constraints: | |
void | Init (const Handle< GeomFill_Boundary > &B1, const Handle< GeomFill_Boundary > &B2, const Handle< GeomFill_Boundary > &B3, const Standard_Boolean NoCheck=Standard_False) |
void | Init (const Handle< GeomFill_Boundary > &B1, const Handle< GeomFill_Boundary > &B2, const Handle< GeomFill_Boundary > &B3, const Handle< GeomFill_Boundary > &B4, const Standard_Boolean NoCheck=Standard_False) |
Constructs a BSpline surface filled from the series of boundaries B1, B2, B3 and, if need be, B4, which serve: | |
void | SetDomain (const Standard_Real l, const Handle< GeomFill_BoundWithSurf > &B) |
Allows to modify domain on witch the blending function associated to the constrained boundary B will propag the influence of the field of tangency. Can be usefull to reduce influence of boundaries on whitch the Coons compatibility conditions are not respected. l is a relative value of the parametric range of B. Default value for l is 1 (used in Init). Warning: Must be called after Init with a constrained boundary used in the call to Init. | |
void | ReBuild () |
Computes the new poles of the surface using the new blending functions set by several calls to SetDomain. | |
Handle_GeomFill_Boundary | Boundary (const Standard_Integer I) const |
Returns the bound of index i after sort. | |
Handle_Geom_BSplineSurface | Surface () const |
Returns the BSpline surface after computation of the fill by this framework. | |
Standard_Integer | Eval (const Standard_Real W, const Standard_Integer Ord, Standard_Real &Result) const |
Internal use for Advmath approximation call. | |
void | CheckCoonsAlgPatch (const Standard_Integer I) |
Computes the fields of tangents on 30 points along the bound I, these are not the constraint tangents but gives an idea of the coonsAlgPatch regularity. | |
void | CheckTgteField (const Standard_Integer I) |
Computes the fields of tangents and normals on 30 points along the bound I, draw them, and computes the max dot product that must be near than 0. | |
void | CheckApprox (const Standard_Integer I) |
Computes values and normals along the bound I and compare them to the approx result curves (bound and tgte field) , draw the normals and tangents. | |
void | CheckResult (const Standard_Integer I) |
Computes values and normals along the bound I on both constraint surface and result surface, draw the normals, and computes the max distance between values and the max angle between normals. |
DEFINE_STANDARD_ALLOC GeomFill_ConstrainedFilling::GeomFill_ConstrainedFilling | ( | const Standard_Integer | MaxDeg, |
const Standard_Integer | MaxSeg | ||
) |
Handle_GeomFill_Boundary GeomFill_ConstrainedFilling::Boundary | ( | const Standard_Integer | I | ) | const |
Standard_Integer GeomFill_ConstrainedFilling::Eval | ( | const Standard_Real | W, |
const Standard_Integer | Ord, | ||
Standard_Real & | Result | ||
) | const |
void GeomFill_ConstrainedFilling::Init | ( | const Handle< GeomFill_Boundary > & | B1, |
const Handle< GeomFill_Boundary > & | B2, | ||
const Handle< GeomFill_Boundary > & | B3, | ||
const Standard_Boolean | NoCheck = Standard_False |
||
) |
void GeomFill_ConstrainedFilling::Init | ( | const Handle< GeomFill_Boundary > & | B1, |
const Handle< GeomFill_Boundary > & | B2, | ||
const Handle< GeomFill_Boundary > & | B3, | ||
const Handle< GeomFill_Boundary > & | B4, | ||
const Standard_Boolean | NoCheck = Standard_False |
||
) |
void GeomFill_ConstrainedFilling::SetDomain | ( | const Standard_Real | l, |
const Handle< GeomFill_BoundWithSurf > & | B | ||
) |
Handle_Geom_BSplineSurface GeomFill_ConstrainedFilling::Surface | ( | ) | const |