Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
BRepOffsetAPI_MakeFilling Class Reference

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

#include <BRepOffsetAPI_MakeFilling.hxx>

Inheritance diagram for BRepOffsetAPI_MakeFilling:
Inheritance graph
[legend]

Public Member Functions

DEFINE_STANDARD_ALLOC BRepOffsetAPI_MakeFilling (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)
 Constructs a wire filling object defined by

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 to approximate the filling
surface. These include:

void LoadInitSurface (const TopoDS_Face &Surf)
 Loads the initial surface Surf to
begin the construction of the surface.
This optional function is useful if the surface resulting from
construction for the algorithm is likely to be complex.
The support surface of the face under construction is computed by a
deformation of Surf which satisfies 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.

Standard_Integer Add (const TopoDS_Edge &Constr, 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.
Raises ConstructionError if the edge has no representation on a face and Order is
GeomAbs_G1 or GeomAbs_G2.

Standard_Integer Add (const TopoDS_Edge &Constr, 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.
Raises ConstructionError if the edge has no 2d representation on 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.

virtual void Build ()
 Builds the resulting faces

virtual Standard_Boolean IsDone () const
 Tests whether computation of the filling plate has been completed.

virtual const
TopTools_ListOfShape
Generated (const TopoDS_Shape &S)
 Returns the list of shapes generated from the
shape <S>.

Standard_Real G0Error () const
 Returns the maximum distance between the result and
the constraints. This is set at construction time.

Standard_Real G1Error () const
 Returns the maximum angle between the result and the
constraints. This is set at construction time.

Standard_Real G2Error () const
 Returns the maximum angle between the result and the
constraints. This is set at construction time.

Standard_Real G0Error (const Standard_Integer Index)
 Returns the maximum distance attained between the
result and the constraint Index. This is set at construction time.

Standard_Real G1Error (const Standard_Integer Index)
 Returns the maximum angle between the result and the
constraints. This is set at construction time.

Standard_Real G2Error (const Standard_Integer Index)
 Returns the greatest difference in curvature found
between the result and the constraint Index.


Detailed Description


Constructor & Destructor Documentation

DEFINE_STANDARD_ALLOC BRepOffsetAPI_MakeFilling::BRepOffsetAPI_MakeFilling ( 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 
)
  • the energy minimizing criterion Degree
  • the number of points on the curve NbPntsOnCur
  • the number of iterations NbIter
  • the Boolean Anisotropie
  • the 2D tolerance Tol2d
  • the 3D tolerance Tol3d
  • the angular tolerance TolAng
  • the tolerance for curvature TolCur
  • the highest polynomial degree MaxDeg
  • the greatest number of segments MaxSeg.
    If the Boolean Anistropie is true, the algorithm's
    performance is better in cases where the ratio of the
    length U and the length V indicate a great difference
    between the two. In other words, when the surface is, for
    example, extremely long.

Member Function Documentation

virtual void BRepOffsetAPI_MakeFilling::Build ( ) [virtual]

Reimplemented from BRepBuilderAPI_MakeShape.

Reimplemented from BRepBuilderAPI_MakeShape.

Reimplemented from BRepBuilderAPI_Command.

  • MaxDeg - the highest degree which the polynomial
    defining the filling surface can have
  • MaxSegments - the greatest number of segments
    which the filling surface can have.
void BRepOffsetAPI_MakeFilling::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 
)

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