Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
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 int Degree=3, const int NbPtsOnCur=15, const int NbIter=2, const bool Anisotropie=false, const double Tol2d=0.00001, const double Tol3d=0.0001, const double TolAng=0.01, const double TolCurv=0.1, const int MaxDeg=8, const int MaxSegments=9)
 Constructor.
 
void SetConstrParam (const double Tol2d=0.00001, const double Tol3d=0.0001, const double TolAng=0.01, const double 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 int Degree=3, const int NbPtsOnCur=15, const int NbIter=2, const bool Anisotropie=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 recommended 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 int MaxDeg=8, const int MaxSegments=9)
 Sets the parameters used for approximation of the surface.
 
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.
 
int Add (const TopoDS_Edge &anEdge, const GeomAbs_Shape Order, const bool IsBound=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.
 
int Add (const TopoDS_Edge &anEdge, const TopoDS_Face &Support, const GeomAbs_Shape Order, const bool IsBound=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.
 
int 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.
 
int Add (const gp_Pnt &Point)
 Adds a punctual constraint.
 
int Add (const double U, const double V, const TopoDS_Face &Support, const GeomAbs_Shape Order)
 Adds a punctual constraint.
 
void Build ()
 Builds the resulting faces.
 
bool IsDone () const
 
TopoDS_Face Face () const
 
const NCollection_List< TopoDS_Shape > & Generated (const TopoDS_Shape &S)
 Returns the list of shapes generated from the shape .
 
double G0Error () const
 
double G1Error () const
 
double G2Error () const
 
double G0Error (const int Index)
 
double G1Error (const int Index)
 
double G2Error (const int Index)
 

Detailed Description

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

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:

Other Applications:

Constructor & Destructor Documentation

◆ BRepFill_Filling()

BRepFill_Filling::BRepFill_Filling ( const int Degree = 3,
const int NbPtsOnCur = 15,
const int NbIter = 2,
const bool Anisotropie = false,
const double Tol2d = 0.00001,
const double Tol3d = 0.0001,
const double TolAng = 0.01,
const double TolCurv = 0.1,
const int MaxDeg = 8,
const int MaxSegments = 9 )

Constructor.

Member Function Documentation

◆ Add() [1/5]

int BRepFill_Filling::Add ( const double U,
const double V,
const TopoDS_Face & Support,
const GeomAbs_Shape Order )

Adds a punctual constraint.

◆ Add() [2/5]

int BRepFill_Filling::Add ( const gp_Pnt & Point)

Adds a punctual constraint.

◆ Add() [3/5]

int BRepFill_Filling::Add ( const TopoDS_Edge & anEdge,
const GeomAbs_Shape Order,
const bool IsBound = 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.

◆ Add() [4/5]

int BRepFill_Filling::Add ( const TopoDS_Edge & anEdge,
const TopoDS_Face & Support,
const GeomAbs_Shape Order,
const bool IsBound = 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.

◆ Add() [5/5]

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

◆ Build()

void BRepFill_Filling::Build ( )

Builds the resulting faces.

◆ Face()

TopoDS_Face BRepFill_Filling::Face ( ) const

◆ G0Error() [1/2]

double BRepFill_Filling::G0Error ( ) const

◆ G0Error() [2/2]

double BRepFill_Filling::G0Error ( const int Index)

◆ G1Error() [1/2]

double BRepFill_Filling::G1Error ( ) const

◆ G1Error() [2/2]

double BRepFill_Filling::G1Error ( const int Index)

◆ G2Error() [1/2]

double BRepFill_Filling::G2Error ( ) const

◆ G2Error() [2/2]

double BRepFill_Filling::G2Error ( const int Index)

◆ Generated()

const NCollection_List< TopoDS_Shape > & BRepFill_Filling::Generated ( const TopoDS_Shape & S)

Returns the list of shapes generated from the shape .

◆ IsDone()

bool BRepFill_Filling::IsDone ( ) const

◆ LoadInitSurface()

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.

◆ SetApproxParam()

void BRepFill_Filling::SetApproxParam ( const int MaxDeg = 8,
const int MaxSegments = 9 )

Sets the parameters used for approximation of the surface.

◆ SetConstrParam()

void BRepFill_Filling::SetConstrParam ( const double Tol2d = 0.00001,
const double Tol3d = 0.0001,
const double TolAng = 0.01,
const double 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.

◆ SetResolParam()

void BRepFill_Filling::SetResolParam ( const int Degree = 3,
const int NbPtsOnCur = 15,
const int NbIter = 2,
const bool Anisotropie = 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 recommended 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: