Open CASCADE Technology 6.6.0
Public Member Functions
BRepFill_Filling Class Reference

N-Side Filling
This algorithm avoids to build a face from:
* a set of edges defining the bounds of the face and some
constraints the surface support has to satisfy
* a set of edges and points defining some constraints
the support surface has to satisfy
* an initial surface to deform for satisfying the constraints
* a set of parameters to control the constraints.

The support surface of the face is computed by deformation
of the initial surface in order to satisfy the given constraints.
The set of bounding edges defines the wire of the face.

If no initial surface is given, the algorithm computes it
automatically.
If the set of edges is not connected (Free constraint)
missing edges are automatically computed.

Limitations:
* If some constraints are not compatible
The algorithm does not take them into account.
So the constraints will not be satisfyed in an area containing
the incompatibilitries.
* The constraints defining the bound of the face have to be
entered in order to have a continuous wire.

Other Applications:
* Deformation of a face to satisfy internal constraints
* Deformation of a face to improve Gi continuity with
connected faces

#include <BRepFill_Filling.hxx>

Public Member Functions

 BRepFill_Filling (const Standard_Integer Degree=3, const Standard_Integer NbPtsOnCur=15, const Standard_Integer NbIter=2, const Standard_Boolean Anisotropie=Standard_False, const Standard_Real Tol2d=0.00001, const Standard_Real Tol3d=0.0001, const Standard_Real TolAng=0.01, const Standard_Real TolCurv=0.1, const Standard_Integer MaxDeg=8, const Standard_Integer MaxSegments=9)
 Constructor


void SetConstrParam (const Standard_Real Tol2d=0.00001, const Standard_Real Tol3d=0.0001, const Standard_Real TolAng=0.01, const Standard_Real TolCurv=0.1)
 Sets the values of Tolerances used to control the constraint.
Tol2d:
Tol3d: it is the maximum distance allowed between the support surface
and the constraints
TolAng: it is the maximum angle allowed between the normal of the surface
and the constraints
TolCurv: it is the maximum difference of curvature allowed between
the surface and the constraint

void SetResolParam (const Standard_Integer Degree=3, const Standard_Integer NbPtsOnCur=15, const Standard_Integer NbIter=2, const Standard_Boolean Anisotropie=Standard_False)
 Sets the parameters used for resolution.
The default values of these parameters have been chosen for a good
ratio quality/performance.
Degree: it is the order of energy criterion to minimize for computing
the deformation of the surface.
The default value is 3
The recommanded value is i+2 where i is the maximum order of the
constraints.
NbPtsOnCur: it is the average number of points for discretisation
of the edges.
NbIter: it is the maximum number of iterations of the process.
For each iteration the number of discretisation points is
increased.
Anisotropie:

void SetApproxParam (const Standard_Integer MaxDeg=8, const Standard_Integer MaxSegments=9)
 Sets the parameters used for approximation of the surface


void LoadInitSurface (const TopoDS_Face &aFace)
 Loads the initial Surface

Standard_Integer Add (const TopoDS_Edge &anEdge, const GeomAbs_Shape Order, const Standard_Boolean IsBound=Standard_True)
 Adds a new constraint which also defines an edge of the wire
of the face
Order: Order of the constraint:
GeomAbs_C0 : the surface has to pass by 3D representation
of the edge
GeomAbs_G1 : the surface has to pass by 3D representation
of the edge and to respect tangency with the first
face of the edge
GeomAbs_G2 : the surface has to pass by 3D representation
of the edge and to respect tangency and curvature
with the first face of the edge.

Standard_Integer Add (const TopoDS_Edge &anEdge, const TopoDS_Face &Support, const GeomAbs_Shape Order, const Standard_Boolean IsBound=Standard_True)
 Adds a new constraint which also defines an edge of the wire
of the face
Order: Order of the constraint:
GeomAbs_C0 : the surface has to pass by 3D representation
of the edge
GeomAbs_G1 : the surface has to pass by 3D representation
of the edge and to respect tangency with the
given face
GeomAbs_G2 : the surface has to pass by 3D representation
of the edge and to respect tangency and curvature
with the given face.

Standard_Integer Add (const TopoDS_Face &Support, const GeomAbs_Shape Order)
 Adds a free constraint on a face. The corresponding edge has to
be automatically recomputed.
It is always a bound.

Standard_Integer Add (const gp_Pnt &Point)
 Adds a punctual constraint

Standard_Integer Add (const Standard_Real U, const Standard_Real V, const TopoDS_Face &Support, const GeomAbs_Shape Order)
 Adds a punctual constraint.

void Build ()
 Builds the resulting faces

Standard_Boolean IsDone () const
TopoDS_Face Face () const
const TopTools_ListOfShapeGenerated (const TopoDS_Shape &S)
 Returns the list of shapes generated from the
shape <S>.

Standard_Real G0Error () const
Standard_Real G1Error () const
Standard_Real G2Error () const
Standard_Real G0Error (const Standard_Integer Index)
Standard_Real G1Error (const Standard_Integer Index)
Standard_Real G2Error (const Standard_Integer Index)

Constructor & Destructor Documentation

BRepFill_Filling::BRepFill_Filling ( const Standard_Integer  Degree = 3,
const Standard_Integer  NbPtsOnCur = 15,
const Standard_Integer  NbIter = 2,
const Standard_Boolean  Anisotropie = Standard_False,
const Standard_Real  Tol2d = 0.00001,
const Standard_Real  Tol3d = 0.0001,
const Standard_Real  TolAng = 0.01,
const Standard_Real  TolCurv = 0.1,
const Standard_Integer  MaxDeg = 8,
const Standard_Integer  MaxSegments = 9 
)

Member Function Documentation

Standard_Integer BRepFill_Filling::Add ( const TopoDS_Edge anEdge,
const GeomAbs_Shape  Order,
const Standard_Boolean  IsBound = Standard_True 
)
Standard_Integer BRepFill_Filling::Add ( const gp_Pnt Point)
Standard_Integer BRepFill_Filling::Add ( const Standard_Real  U,
const Standard_Real  V,
const TopoDS_Face Support,
const GeomAbs_Shape  Order 
)
Standard_Integer BRepFill_Filling::Add ( const TopoDS_Edge anEdge,
const TopoDS_Face Support,
const GeomAbs_Shape  Order,
const Standard_Boolean  IsBound = Standard_True 
)
Standard_Integer BRepFill_Filling::Add ( const TopoDS_Face Support,
const GeomAbs_Shape  Order 
)
void BRepFill_Filling::Build ( )
TopoDS_Face BRepFill_Filling::Face ( ) const
Standard_Real BRepFill_Filling::G0Error ( const Standard_Integer  Index)
Standard_Real BRepFill_Filling::G0Error ( ) const
Standard_Real BRepFill_Filling::G1Error ( ) const
Standard_Real BRepFill_Filling::G1Error ( const Standard_Integer  Index)
Standard_Real BRepFill_Filling::G2Error ( const Standard_Integer  Index)
Standard_Real BRepFill_Filling::G2Error ( ) const
const TopTools_ListOfShape& BRepFill_Filling::Generated ( const TopoDS_Shape S)
Standard_Boolean BRepFill_Filling::IsDone ( ) const
void BRepFill_Filling::LoadInitSurface ( const TopoDS_Face aFace)
void BRepFill_Filling::SetApproxParam ( const Standard_Integer  MaxDeg = 8,
const Standard_Integer  MaxSegments = 9 
)
void BRepFill_Filling::SetConstrParam ( const Standard_Real  Tol2d = 0.00001,
const Standard_Real  Tol3d = 0.0001,
const Standard_Real  TolAng = 0.01,
const Standard_Real  TolCurv = 0.1 
)
void BRepFill_Filling::SetResolParam ( const Standard_Integer  Degree = 3,
const Standard_Integer  NbPtsOnCur = 15,
const Standard_Integer  NbIter = 2,
const Standard_Boolean  Anisotropie = Standard_False 
)

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines