Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
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 int MaxDeg, const int 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 occ::handle< GeomFill_Boundary > &B1, const occ::handle< GeomFill_Boundary > &B2, const occ::handle< GeomFill_Boundary > &B3, const bool NoCheck=false)
 
void Init (const occ::handle< GeomFill_Boundary > &B1, const occ::handle< GeomFill_Boundary > &B2, const occ::handle< GeomFill_Boundary > &B3, const occ::handle< GeomFill_Boundary > &B4, const bool NoCheck=false)
 Constructs a BSpline surface filled from the series of boundaries B1, B2, B3 and, if need be, B4, which serve:
 
void SetDomain (const double l, const occ::handle< GeomFill_BoundWithSurf > &B)
 Allows to modify domain on which 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.
 
occ::handle< GeomFill_BoundaryBoundary (const int I) const
 Returns the bound of index i after sort.
 
occ::handle< Geom_BSplineSurfaceSurface () const
 Returns the BSpline surface after computation of the fill by this framework.
 
int Eval (const double W, const int Ord, double &Result) const
 Internal use for Advmath approximation call.
 
void CheckCoonsAlgPatch (const int 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 int 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 int 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 int 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 int MaxDeg,
const int 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()

occ::handle< GeomFill_Boundary > GeomFill_ConstrainedFilling::Boundary ( const int I) const

Returns the bound of index i after sort.

◆ CheckApprox()

void GeomFill_ConstrainedFilling::CheckApprox ( const int 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 int 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 int 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 int 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()

int GeomFill_ConstrainedFilling::Eval ( const double W,
const int Ord,
double & Result ) const

Internal use for Advmath approximation call.

◆ Init() [1/2]

void GeomFill_ConstrainedFilling::Init ( const occ::handle< GeomFill_Boundary > & B1,
const occ::handle< GeomFill_Boundary > & B2,
const occ::handle< GeomFill_Boundary > & B3,
const bool NoCheck = false )

◆ Init() [2/2]

void GeomFill_ConstrainedFilling::Init ( const occ::handle< GeomFill_Boundary > & B1,
const occ::handle< GeomFill_Boundary > & B2,
const occ::handle< GeomFill_Boundary > & B3,
const occ::handle< GeomFill_Boundary > & B4,
const bool NoCheck = 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

◆ 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 double l,
const occ::handle< GeomFill_BoundWithSurf > & B )

Allows to modify domain on which 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()

occ::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: