Open CASCADE Technology: BRepFill_Filling Class Reference

Open CASCADE Technology 6.8.0

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions
BRepFill_Filling Class Reference

N-Side Filling This algorithm avoids to build a face from: More...

`#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. More...
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. More...
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: More...
void | SetApproxParam (const Standard_Integer MaxDeg=8, const Standard_Integer MaxSegments=9)
| Sets the parameters used for approximation of the surface. More...
void | LoadInitSurface (const TopoDS_Face &aFace)
| Loads the initial Surface The initial surface must have orthogonal local coordinates, i.e. partial derivatives dS/du and dS/dv must be orthogonal at each point of surface. If this condition breaks, distortions of resulting surface are possible. More...
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. More...
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. More...
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. More...
Standard_Integer | Add (const gp_Pnt &Point)
| Adds a punctual constraint. More...
Standard_Integer | Add (const Standard_Real U, const Standard_Real V, const TopoDS_Face &Support, const GeomAbs_Shape Order)
| Adds a punctual constraint. More...
void | Build ()
| Builds the resulting faces. More...
Standard_Boolean | IsDone () const
TopoDS_Face | Face () const
const TopTools_ListOfShape & | Generated (const TopoDS_Shape &S)
| Returns the list of shapes generated from the shape <S>. More...
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)

## Detailed Description

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

## 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`
| ) |  |

Constructor.

## Member Function Documentation

Standard_Integer BRepFill_Filling::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 BRepFill_Filling::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 BRepFill_Filling::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 BRepFill_Filling::Add | ( | const gp_Pnt & | Point | ) |

Adds a punctual constraint.

Standard_Integer BRepFill_Filling::Add | ( | const Standard_Real | U,
|  | const Standard_Real | V,
|  | const TopoDS_Face & | Support,
|  | const GeomAbs_Shape | Order
| ) |  |

Adds a punctual constraint.

void BRepFill_Filling::Build | ( |  | ) |

Builds the resulting faces.

TopoDS_Face BRepFill_Filling::Face | ( |  | ) | const

Standard_Real BRepFill_Filling::G0Error | ( |  | ) | const

Standard_Real BRepFill_Filling::G0Error | ( | const Standard_Integer | Index | ) |

Standard_Real BRepFill_Filling::G1Error | ( |  | ) | const

Standard_Real BRepFill_Filling::G1Error | ( | const Standard_Integer | Index | ) |

Standard_Real BRepFill_Filling::G2Error | ( |  | ) | const

Standard_Real BRepFill_Filling::G2Error | ( | const Standard_Integer | Index | ) |

const TopTools_ListOfShape& BRepFill_Filling::Generated | ( | const TopoDS_Shape & | S | ) |

Returns the list of shapes generated from the shape <S>.

Standard_Boolean BRepFill_Filling::IsDone | ( |  | ) | const

void BRepFill_Filling::LoadInitSurface | ( | const TopoDS_Face & | aFace | ) |

Loads the initial Surface The initial surface must have orthogonal local coordinates, i.e. partial derivatives dS/du and dS/dv must be orthogonal at each point of surface. If this condition breaks, distortions of resulting surface are possible.

void BRepFill_Filling::SetApproxParam | ( | const Standard_Integer | MaxDeg = `8`,
|  | const Standard_Integer | MaxSegments = `9`
| ) |  |

Sets the parameters used for approximation of the surface.

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`
| ) |  |

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

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

- BRepFill_Filling.hxx