Open CASCADE Technology 7.8.0
Public Member Functions
GeomFill_ConstrainedFilling Class Reference

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_BoundaryBoundary (const Standard_Integer I) const
 Returns the bound of index i after sort.
 
Handle< Geom_BSplineSurfaceSurface () 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.
 

Detailed Description

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:

Constructor & Destructor Documentation

◆ GeomFill_ConstrainedFilling()

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:

  • its degree will not be greater than MaxDeg
  • the maximum number of segments MaxSeg which BSpline surfaces can have.

Member Function Documentation

◆ Boundary()

Handle< GeomFill_Boundary > GeomFill_ConstrainedFilling::Boundary ( const Standard_Integer  I) const

Returns the bound of index i after sort.

◆ CheckApprox()

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.

◆ CheckCoonsAlgPatch()

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.

◆ CheckResult()

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.

◆ CheckTgteField()

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.

◆ Eval()

Standard_Integer GeomFill_ConstrainedFilling::Eval ( const Standard_Real  W,
const Standard_Integer  Ord,
Standard_Real Result 
) const

Internal use for Advmath approximation call.

◆ Init() [1/2]

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:

  • as path constraints
  • and optionally, as tangency constraints if they are GeomFill_BoundWithSurf curves. The boundaries may be given in any order: they are classified and if necessary, reversed and reparameterized. The surface will also respect the following constraints:
  • its degree will not be greater than the maximum degree defined at the time of construction of this framework, and
  • the maximum number of segments MaxSeg which BSpline surfaces can have

◆ Init() [2/2]

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 
)

◆ ReBuild()

void GeomFill_ConstrainedFilling::ReBuild ( )

Computes the new poles of the surface using the new blending functions set by several calls to SetDomain.

◆ 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.

◆ Surface()

Handle< Geom_BSplineSurface > GeomFill_ConstrainedFilling::Surface ( ) const

Returns the BSpline surface after computation of the fill by this framework.


The documentation for this class was generated from the following file: