OCC Main Page | ModelingAlgorithms | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingAlgorithms
TKGeomAlgo
GeomFill


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.
A ConstrainedFilling object provides a framework for:
- defining the boundaries of the surface
- implementing the construction algorithm
- consulting the result.
Warning
This surface filling algorithm is specifically designed to
be used in connection with fillets. Satisfactory results
cannot be guaranteed for other uses.
.

#include <GeomFill_ConstrainedFilling.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT 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.
.
Standard_EXPORT void Init (const Handle(GeomFill_Boundary)&B1, const Handle(GeomFill_Boundary)&B2, const Handle(GeomFill_Boundary)&B3, const Standard_Boolean NoCheck=Standard_False)
Standard_EXPORT 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:
- 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
.
Standard_EXPORT 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.
.
Standard_EXPORT void ReBuild ()
 Computes the new poles of the surface using the new
blending functions set by several calls to SetDomain.
.
Standard_EXPORT Handle_GeomFill_Boundary Boundary (const Standard_Integer I) const
 Returns the bound of index i after sort.
.
Standard_EXPORT Handle_Geom_BSplineSurface Surface () const
 Returns the BSpline surface after computation of the fill by this framework.
.
Standard_EXPORT Standard_Integer Eval (const Standard_Real W, const Standard_Integer Ord, Standard_Real &Result) const
 Internal use for Advmath approximation call.
.
Standard_EXPORT 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.
.
Standard_EXPORT 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.
.
Standard_EXPORT 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.
.
Standard_EXPORT 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.
.

Private Member Functions

Standard_EXPORT void Build ()
 Performs the approximation an compute the poles of the
surface.
.
Standard_EXPORT void PerformApprox ()
 Performs the parallel approximation on two oppsite
bounds
.
Standard_EXPORT void MatchKnots ()
 matches the nodal vectors of the blending functions
and the results of the approx to allow the surface
computation.

Standard_EXPORT void PerformS0 ()
 performs the poles of the partial construction S0.

Standard_EXPORT void PerformS1 ()
 performs the poles of the partial construction S1.

Standard_EXPORT void PerformSurface ()
 performs the poles of the surface using the partial
constructions S0 and S1.

Standard_EXPORT Standard_Boolean CheckTgte (const Standard_Integer I)
 Checks if the field of tangency doesn t twist along the
boundary.
.
Standard_EXPORT void MinTgte (const Standard_Integer I)
 Evaluates the min magnitude of the field of tangency
along bound I to allow a simple evaluation of the
tolerance needed for the approximation of the field of
tangency.
.

Private Attributes

Standard_Integer degmax
Standard_Integer segmax
Handle_GeomFill_CoonsAlgPatch ptch
Handle_GeomFill_TgtField tgalg [4]
Standard_Real mig [4]
GeomFill_CornerState stcor [4]
gp_Vec v [4]
Standard_Boolean appdone
Standard_Real tolapp3d [4]
Standard_Real tolappang [4]
Standard_Integer degree [2]
Handle_TColgp_HArray1OfPnt curvpol [4]
Handle_TColgp_HArray1OfPnt tgtepol [4]
Handle_TColStd_HArray1OfInteger mults [2]
Handle_TColStd_HArray1OfReal knots [2]
Handle_TColStd_HArray1OfReal ab [4]
Handle_TColStd_HArray1OfReal pq [4]
Standard_Real dom [4]
Handle_TColgp_HArray1OfPnt ncpol [4]
Handle_TColgp_HArray1OfPnt ntpol [4]
Handle_TColStd_HArray1OfInteger nm [2]
Handle_TColStd_HArray1OfReal nk [2]
Handle_TColgp_HArray2OfPnt S0
Handle_TColgp_HArray2OfPnt S1
Handle_Geom_BSplineSurface surf


Constructor & Destructor Documentation

Standard_EXPORT GeomFill_ConstrainedFilling::GeomFill_ConstrainedFilling const Standard_Integer  MaxDeg,
const Standard_Integer  MaxSeg
 


Member Function Documentation

Standard_EXPORT Handle_GeomFill_Boundary GeomFill_ConstrainedFilling::Boundary const Standard_Integer  I  )  const
 

Standard_EXPORT void GeomFill_ConstrainedFilling::Build  )  [private]
 

Standard_EXPORT void GeomFill_ConstrainedFilling::CheckApprox const Standard_Integer  I  ) 
 

Standard_EXPORT void GeomFill_ConstrainedFilling::CheckCoonsAlgPatch const Standard_Integer  I  ) 
 

Standard_EXPORT void GeomFill_ConstrainedFilling::CheckResult const Standard_Integer  I  ) 
 

Standard_EXPORT Standard_Boolean GeomFill_ConstrainedFilling::CheckTgte const Standard_Integer  I  )  [private]
 

Standard_EXPORT void GeomFill_ConstrainedFilling::CheckTgteField const Standard_Integer  I  ) 
 

Standard_EXPORT Standard_Integer GeomFill_ConstrainedFilling::Eval const Standard_Real  W,
const Standard_Integer  Ord,
Standard_Real &  Result
const
 

Standard_EXPORT 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
 

Standard_EXPORT 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
 

Standard_EXPORT void GeomFill_ConstrainedFilling::MatchKnots  )  [private]
 

Standard_EXPORT void GeomFill_ConstrainedFilling::MinTgte const Standard_Integer  I  )  [private]
 

void GeomFill_ConstrainedFilling::operator delete void *  anAddress  )  [inline]
 

void* GeomFill_ConstrainedFilling::operator new size_t  size  )  [inline]
 

void* GeomFill_ConstrainedFilling::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT void GeomFill_ConstrainedFilling::PerformApprox  )  [private]
 

Standard_EXPORT void GeomFill_ConstrainedFilling::PerformS0  )  [private]
 

Standard_EXPORT void GeomFill_ConstrainedFilling::PerformS1  )  [private]
 

Standard_EXPORT void GeomFill_ConstrainedFilling::PerformSurface  )  [private]
 

Standard_EXPORT void GeomFill_ConstrainedFilling::ReBuild  ) 
 

Standard_EXPORT void GeomFill_ConstrainedFilling::SetDomain const Standard_Real  l,
const Handle(GeomFill_BoundWithSurf)&  B
 

Standard_EXPORT Handle_Geom_BSplineSurface GeomFill_ConstrainedFilling::Surface  )  const
 


Field Documentation

Handle_TColStd_HArray1OfReal GeomFill_ConstrainedFilling::ab[4] [private]
 

Standard_Boolean GeomFill_ConstrainedFilling::appdone [private]
 

Handle_TColgp_HArray1OfPnt GeomFill_ConstrainedFilling::curvpol[4] [private]
 

Standard_Integer GeomFill_ConstrainedFilling::degmax [private]
 

Standard_Integer GeomFill_ConstrainedFilling::degree[2] [private]
 

Standard_Real GeomFill_ConstrainedFilling::dom[4] [private]
 

Handle_TColStd_HArray1OfReal GeomFill_ConstrainedFilling::knots[2] [private]
 

Standard_Real GeomFill_ConstrainedFilling::mig[4] [private]
 

Handle_TColStd_HArray1OfInteger GeomFill_ConstrainedFilling::mults[2] [private]
 

Handle_TColgp_HArray1OfPnt GeomFill_ConstrainedFilling::ncpol[4] [private]
 

Handle_TColStd_HArray1OfReal GeomFill_ConstrainedFilling::nk[2] [private]
 

Handle_TColStd_HArray1OfInteger GeomFill_ConstrainedFilling::nm[2] [private]
 

Handle_TColgp_HArray1OfPnt GeomFill_ConstrainedFilling::ntpol[4] [private]
 

Handle_TColStd_HArray1OfReal GeomFill_ConstrainedFilling::pq[4] [private]
 

Handle_GeomFill_CoonsAlgPatch GeomFill_ConstrainedFilling::ptch [private]
 

Handle_TColgp_HArray2OfPnt GeomFill_ConstrainedFilling::S0 [private]
 

Handle_TColgp_HArray2OfPnt GeomFill_ConstrainedFilling::S1 [private]
 

Standard_Integer GeomFill_ConstrainedFilling::segmax [private]
 

GeomFill_CornerState GeomFill_ConstrainedFilling::stcor[4] [private]
 

Handle_Geom_BSplineSurface GeomFill_ConstrainedFilling::surf [private]
 

Handle_GeomFill_TgtField GeomFill_ConstrainedFilling::tgalg[4] [private]
 

Handle_TColgp_HArray1OfPnt GeomFill_ConstrainedFilling::tgtepol[4] [private]
 

Standard_Real GeomFill_ConstrainedFilling::tolapp3d[4] [private]
 

Standard_Real GeomFill_ConstrainedFilling::tolappang[4] [private]
 

gp_Vec GeomFill_ConstrainedFilling::v[4] [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:41:50 2008 for OpenCASCADE by  doxygen 1.4.1