Open CASCADE Technology 7.8.0
|
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. The only FillingStyle used is Coons. A ConstrainedFilling object provides a framework for: More...
#include <GeomFill_ConstrainedFilling.hxx>
Public Member Functions | |
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 useful to reduce influence of boundaries on which 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. | |
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. The only FillingStyle used is Coons. A ConstrainedFilling object provides a framework for:
GeomFill_ConstrainedFilling::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:
Handle< GeomFill_Boundary > GeomFill_ConstrainedFilling::Boundary | ( | const Standard_Integer | I | ) | const |
Returns the bound of index i after sort.
void GeomFill_ConstrainedFilling::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 GeomFill_ConstrainedFilling::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 GeomFill_ConstrainedFilling::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.
void GeomFill_ConstrainedFilling::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.
Standard_Integer GeomFill_ConstrainedFilling::Eval | ( | const Standard_Real | W, |
const Standard_Integer | Ord, | ||
Standard_Real & | Result | ||
) | const |
Internal use for Advmath approximation call.
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 |
||
) |
Constructs a BSpline surface filled from the series of boundaries B1, B2, B3 and, if need be, B4, which serve:
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::ReBuild | ( | ) |
Computes the new poles of the surface using the new blending functions set by several calls to SetDomain.
void GeomFill_ConstrainedFilling::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 useful to reduce influence of boundaries on which 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.
Handle< Geom_BSplineSurface > GeomFill_ConstrainedFilling::Surface | ( | ) | const |
Returns the BSpline surface after computation of the fill by this framework.