Open CASCADE Technology 6.6.0
Public Member Functions
BRepFilletAPI_MakeFillet Class Reference

Describes functions to build fillets on the broken edges of a shell or solid.
A MakeFillet object provides a framework for:
More...

#include <BRepFilletAPI_MakeFillet.hxx>

Inheritance diagram for BRepFilletAPI_MakeFillet:
Inheritance graph
[legend]

Public Member Functions

 BRepFilletAPI_MakeFillet (const TopoDS_Shape &S, const ChFi3d_FilletShape FShape=ChFi3d_Rational)
 Initializes the computation of the fillets.
<FShape> sets the type of fillet surface. The
default value is ChFi3d_Rational (classical nurbs
representation of circles). ChFi3d_QuasiAngular
corresponds to a nurbs representation of circles
which parameterisation matches the circle one.
ChFi3d_Polynomial corresponds to a polynomial
representation of circles.

void SetParams (const Standard_Real Tang, const Standard_Real Tesp, const Standard_Real T2d, const Standard_Real TApp3d, const Standard_Real TolApp2d, const Standard_Real Fleche)
void SetContinuity (const GeomAbs_Shape InternalContinuity, const Standard_Real AngularTolerance)
 Changes the parameters of continiuity
InternalContinuity to produce fillet'surfaces with
an continuity Ci (i=0,1 or 2).
By defaultInternalContinuity = GeomAbs_C1.
AngularTolerance is the G1 tolerance between fillet
and support'faces.

void Add (const TopoDS_Edge &E)
 Adds a fillet contour in the builder (builds a
contour of tangent edges).
The Radius must be set after.


void Add (const Standard_Real Radius, const TopoDS_Edge &E)
 Adds a fillet description in the builder

void Add (const Standard_Real R1, const Standard_Real R2, const TopoDS_Edge &E)
 Adds a fillet description in the builder

void Add (const Handle< Law_Function > &L, const TopoDS_Edge &E)
 Adds a fillet description in the builder

void Add (const TColgp_Array1OfPnt2d &UandR, const TopoDS_Edge &E)
 Adds a fillet description in the builder

void SetRadius (const Standard_Real Radius, const Standard_Integer IC, const Standard_Integer IinC)
 Sets the parameters of the fillet
along the contour of index IC generated using the Add function
in the internal data structure of
this algorithm, where Radius is the radius of the fillet.

void SetRadius (const Standard_Real R1, const Standard_Real R2, const Standard_Integer IC, const Standard_Integer IinC)
 Sets the parameters of the fillet
along the contour of index IC generated using the Add function
in the internal data structure of this algorithm, where the radius of the
fillet evolves according to a linear evolution law defined
from R1 to R2, between the first and last vertices of the contour of index IC.

void SetRadius (const Handle< Law_Function > &L, const Standard_Integer IC, const Standard_Integer IinC)
 Sets the parameters of the fillet
along the contour of index IC generated using the Add function
in the internal data structure of this algorithm, where the radius of the
fillet evolves according to the evolution law L, between the
first and last vertices of the contour of index IC.

void SetRadius (const TColgp_Array1OfPnt2d &UandR, const Standard_Integer IC, const Standard_Integer IinC)
 Sets the parameters of the fillet
along the contour of index IC generated using the Add function
in the internal data structure of this algorithm,
where the radius of the fillet evolves according to the evolution law
which interpolates the set of parameter and radius pairs given
in the array UandR as follows:

void ResetContour (const Standard_Integer IC)
 Erases the radius information on the contour of index
IC in the internal data structure of this algorithm.
Use the SetRadius function to reset this data.
Warning
Nothing is done if IC is outside the bounds of the table of contours.

Standard_Boolean IsConstant (const Standard_Integer IC)
 Returns true if the radius of the fillet along the contour of index IC
in the internal data structure of this algorithm is constant,
Warning
False is returned if IC is outside the bounds of the table
of contours or if E does not belong to the contour of index IC.

Standard_Real Radius (const Standard_Integer IC)
 Returns the radius of the fillet along the contour of index IC in the
internal data structure of this algorithm
Warning

Standard_Boolean IsConstant (const Standard_Integer IC, const TopoDS_Edge &E)
 Returns true if the radius of the fillet along the edge E of the
contour of index IC in the internal data structure of
this algorithm is constant.
Warning
False is returned if IC is outside the bounds of the table
of contours or if E does not belong to the contour of index IC.

Standard_Real Radius (const Standard_Integer IC, const TopoDS_Edge &E)
 Returns the radius of the fillet along the edge E of the contour of index
IC in the internal data structure of this algorithm.
Warning

void SetRadius (const Standard_Real Radius, const Standard_Integer IC, const TopoDS_Edge &E)
 Assigns Radius as the radius of the fillet on the edge E

void SetRadius (const Standard_Real Radius, const Standard_Integer IC, const TopoDS_Vertex &V)
Standard_Boolean GetBounds (const Standard_Integer IC, const TopoDS_Edge &E, Standard_Real &F, Standard_Real &L)
Handle_Law_Function GetLaw (const Standard_Integer IC, const TopoDS_Edge &E)
void SetLaw (const Standard_Integer IC, const TopoDS_Edge &E, const Handle< Law_Function > &L)
void SetFilletShape (const ChFi3d_FilletShape FShape)
 Assigns FShape as the type of fillet shape built by this algorithm.

ChFi3d_FilletShape GetFilletShape () const
 Returns the type of fillet shape built by this algorithm.

Standard_Integer NbContours () const
 Returns the number of contours generated using the
Add function in the internal data structure of this algorithm.

Standard_Integer Contour (const TopoDS_Edge &E) const
 Returns the index of the contour in the internal data
structure of this algorithm which contains the edge E of the shape.
This function returns 0 if the edge E does not belong to any contour.
Warning
This index can change if a contour is removed from the
internal data structure of this algorithm using the function Remove.

Standard_Integer NbEdges (const Standard_Integer I) const
 Returns the number of edges in the contour of index I in
the internal data structure of this algorithm.
Warning
Returns 0 if I is outside the bounds of the table of contours.

const TopoDS_EdgeEdge (const Standard_Integer I, const Standard_Integer J) const
 Returns the edge of index J in the contour of index I in
the internal data structure of this algorithm.
Warning
Returns a null shape if:

void Remove (const TopoDS_Edge &E)
 Removes the contour in the internal data structure of
this algorithm which contains the edge E of the shape.
Warning
Nothing is done if the edge E does not belong to the
contour in the internal data structure of this algorithm.

Standard_Real Length (const Standard_Integer IC) const
 Returns the length of the contour of index IC in the
internal data structure of this algorithm.
Warning
Returns -1. if IC is outside the bounds of the table of contours.

TopoDS_Vertex FirstVertex (const Standard_Integer IC) const
 Returns the first vertex of the contour of index IC
in the internal data structure of this algorithm.
Warning
Returns a null shape if IC is outside the bounds of the table of contours.

TopoDS_Vertex LastVertex (const Standard_Integer IC) const
 Returns the last vertex of the contour of index IC
in the internal data structure of this algorithm.
Warning
Returns a null shape if IC is outside the bounds of the table of contours.

Standard_Real Abscissa (const Standard_Integer IC, const TopoDS_Vertex &V) const
 Returns the curvilinear abscissa of the vertex V on the
contour of index IC in the internal data structure of this algorithm.
Warning
Returns -1. if:

Standard_Real RelativeAbscissa (const Standard_Integer IC, const TopoDS_Vertex &V) const
 Returns the relative curvilinear abscissa (i.e. between 0
and 1) of the vertex V on the contour of index IC in the
internal data structure of this algorithm.
Warning
Returns -1. if:

Standard_Boolean ClosedAndTangent (const Standard_Integer IC) const
 Returns true if the contour of index IC in the internal
data structure of this algorithm is closed and tangential
at the point of closure.
Warning
Returns false if IC is outside the bounds of the table of contours.

Standard_Boolean Closed (const Standard_Integer IC) const
 Returns true if the contour of index IC in the internal
data structure of this algorithm is closed.
Warning
Returns false if IC is outside the bounds of the table of contours.

virtual void Build ()
 Builds the fillets on all the contours in the internal data
structure of this algorithm and constructs the resulting shape.
Use the function IsDone to verify that the filleted shape
is built. Use the function Shape to retrieve the filleted shape.
Warning
The construction of fillets implements highly complex
construction algorithms. Consequently, there may be
instances where the algorithm fails, for example if the
data defining the radius of the fillet is not compatible
with the geometry of the initial shape. There is no initial
analysis of errors and they only become evident at the
construction stage.
Additionally, in the current software release, the
following cases are not handled:

void Reset ()
 Reinitializes this algorithm, thus canceling the effects of the Build function.
This function allows modifications to be made to the
contours and fillet parameters in order to rebuild the shape.

Handle_TopOpeBRepBuild_HBuilder Builder () const
 Returns the internal topology building algorithm.

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

virtual const
TopTools_ListOfShape
Modified (const TopoDS_Shape &F)
 Returns the list of shapes modified from the shape
<F>.

virtual Standard_Boolean IsDeleted (const TopoDS_Shape &F)
 Returns true if the shape S has been deleted.

Standard_Integer NbSurfaces () const
 returns the number of surfaces
after the shape creation.

const TopTools_ListOfShapeNewFaces (const Standard_Integer I)
 Return the faces created for surface .

void Simulate (const Standard_Integer IC)
Standard_Integer NbSurf (const Standard_Integer IC) const
Handle_ChFiDS_SecHArray1 Sect (const Standard_Integer IC, const Standard_Integer IS) const
Standard_Integer NbFaultyContours () const
 Returns the number of contours where the computation
of the fillet failed

Standard_Integer FaultyContour (const Standard_Integer I) const
 for each I in [1.. NbFaultyContours] returns the index IC of
the contour where the computation of the fillet failed.
the method NbEdges(IC) gives the number of edges in the contour IC
the method Edge(IC,ie) gives the edge number ie of the contour IC

Standard_Integer NbComputedSurfaces (const Standard_Integer IC) const
 returns the number of surfaces which have been
computed on the contour IC

Handle_Geom_Surface ComputedSurface (const Standard_Integer IC, const Standard_Integer IS) const
 returns the surface number IS concerning the contour IC

Standard_Integer NbFaultyVertices () const
 returns the number of vertices where the computation failed

TopoDS_Vertex FaultyVertex (const Standard_Integer IV) const
 returns the vertex where the computation failed

Standard_Boolean HasResult () const
 returns true if a part of the result has been computed
if the filling in a corner failed a shape with a hole is returned

TopoDS_Shape BadShape () const
 if (HasResult()) returns the partial result

ChFiDS_ErrorStatus StripeStatus (const Standard_Integer IC) const
 returns the status concerning the contour IC in case of error
ChFiDS_Ok : the computation is Ok
ChFiDS_StartsolFailure : the computation can't start, perhaps the
the radius is too big
ChFiDS_TwistedSurface : the computation failed because of a twisted
surface
ChFiDS_WalkingFailure : there is a problem in the walking
ChFiDS_Error: other error different from above


Detailed Description


Constructor & Destructor Documentation

BRepFilletAPI_MakeFillet::BRepFilletAPI_MakeFillet ( const TopoDS_Shape S,
const ChFi3d_FilletShape  FShape = ChFi3d_Rational 
)

Member Function Documentation

Standard_Real BRepFilletAPI_MakeFillet::Abscissa ( const Standard_Integer  IC,
const TopoDS_Vertex V 
) const [virtual]
  • IC is outside the bounds of the table of contours, or
  • V is not on the contour of index IC.

Implements BRepFilletAPI_LocalOperation.

void BRepFilletAPI_MakeFillet::Add ( const TopoDS_Edge E) [virtual]
void BRepFilletAPI_MakeFillet::Add ( const Standard_Real  Radius,
const TopoDS_Edge E 
)
  • builds a contour of tangent edges,
  • sets the radius.

void BRepFilletAPI_MakeFillet::Add ( const Standard_Real  R1,
const Standard_Real  R2,
const TopoDS_Edge E 
)
  • builds a contour of tangent edges,
  • sets a linear radius evolution law between
    the first and last vertex of the spine.

void BRepFilletAPI_MakeFillet::Add ( const Handle< Law_Function > &  L,
const TopoDS_Edge E 
)
  • builds a contour of tangent edges,
  • sest the radius evolution law.

void BRepFilletAPI_MakeFillet::Add ( const TColgp_Array1OfPnt2d UandR,
const TopoDS_Edge E 
)
  • builds a contour of tangent edges,
  • sets the radius evolution law interpolating the values
    given in the array UandR :

    p2d.X() = relative parameter on the spine [0,1]
    p2d.Y() = value of the radius.

TopoDS_Shape BRepFilletAPI_MakeFillet::BadShape ( ) const
virtual void BRepFilletAPI_MakeFillet::Build ( ) [virtual]
  • the end point of the contour is the point of
    intersection of 4 or more edges of the shape, or
  • the intersection of the fillet with a face which limits
    the contour is not fully contained in this face.

Reimplemented from BRepBuilderAPI_MakeShape.

Handle_TopOpeBRepBuild_HBuilder BRepFilletAPI_MakeFillet::Builder ( ) const
Standard_Boolean BRepFilletAPI_MakeFillet::Closed ( const Standard_Integer  IC) const [virtual]
Standard_Boolean BRepFilletAPI_MakeFillet::ClosedAndTangent ( const Standard_Integer  IC) const [virtual]
Handle_Geom_Surface BRepFilletAPI_MakeFillet::ComputedSurface ( const Standard_Integer  IC,
const Standard_Integer  IS 
) const
Standard_Integer BRepFilletAPI_MakeFillet::Contour ( const TopoDS_Edge E) const [virtual]
const TopoDS_Edge& BRepFilletAPI_MakeFillet::Edge ( const Standard_Integer  I,
const Standard_Integer  J 
) const [virtual]
  • I is outside the bounds of the table of contours, or
  • J is outside the bounds of the table of edges of the index I contour.

Implements BRepFilletAPI_LocalOperation.

Standard_Integer BRepFilletAPI_MakeFillet::FaultyContour ( const Standard_Integer  I) const
TopoDS_Vertex BRepFilletAPI_MakeFillet::FaultyVertex ( const Standard_Integer  IV) const
TopoDS_Vertex BRepFilletAPI_MakeFillet::FirstVertex ( const Standard_Integer  IC) const [virtual]
virtual const TopTools_ListOfShape& BRepFilletAPI_MakeFillet::Generated ( const TopoDS_Shape EorV) [virtual]

Reimplemented from BRepBuilderAPI_MakeShape.

Standard_Boolean BRepFilletAPI_MakeFillet::GetBounds ( const Standard_Integer  IC,
const TopoDS_Edge E,
Standard_Real F,
Standard_Real L 
)
ChFi3d_FilletShape BRepFilletAPI_MakeFillet::GetFilletShape ( ) const
Handle_Law_Function BRepFilletAPI_MakeFillet::GetLaw ( const Standard_Integer  IC,
const TopoDS_Edge E 
)
Standard_Boolean BRepFilletAPI_MakeFillet::HasResult ( ) const
Standard_Boolean BRepFilletAPI_MakeFillet::IsConstant ( const Standard_Integer  IC)
Standard_Boolean BRepFilletAPI_MakeFillet::IsConstant ( const Standard_Integer  IC,
const TopoDS_Edge E 
)
virtual Standard_Boolean BRepFilletAPI_MakeFillet::IsDeleted ( const TopoDS_Shape S) [virtual]

Reimplemented from BRepBuilderAPI_MakeShape.

TopoDS_Vertex BRepFilletAPI_MakeFillet::LastVertex ( const Standard_Integer  IC) const [virtual]
Standard_Real BRepFilletAPI_MakeFillet::Length ( const Standard_Integer  IC) const [virtual]
virtual const TopTools_ListOfShape& BRepFilletAPI_MakeFillet::Modified ( const TopoDS_Shape F) [virtual]

Reimplemented from BRepBuilderAPI_MakeShape.

Standard_Integer BRepFilletAPI_MakeFillet::NbComputedSurfaces ( const Standard_Integer  IC) const
Standard_Integer BRepFilletAPI_MakeFillet::NbContours ( ) const [virtual]
Standard_Integer BRepFilletAPI_MakeFillet::NbEdges ( const Standard_Integer  I) const [virtual]
Standard_Integer BRepFilletAPI_MakeFillet::NbFaultyContours ( ) const
Standard_Integer BRepFilletAPI_MakeFillet::NbFaultyVertices ( ) const
Standard_Integer BRepFilletAPI_MakeFillet::NbSurf ( const Standard_Integer  IC) const [virtual]
Standard_Integer BRepFilletAPI_MakeFillet::NbSurfaces ( ) const
const TopTools_ListOfShape& BRepFilletAPI_MakeFillet::NewFaces ( const Standard_Integer  I)
Standard_Real BRepFilletAPI_MakeFillet::Radius ( const Standard_Integer  IC,
const TopoDS_Edge E 
)
  • Use this function only if the radius is constant.
  • -1 is returned if IC is outside the bounds of the
    table of contours or if E does not belong to the contour of index IC.
Standard_Real BRepFilletAPI_MakeFillet::Radius ( const Standard_Integer  IC)
  • Use this function only if the radius is constant.
  • -1. is returned if IC is outside the bounds of the
    table of contours or if E does not belong to the contour of index IC.
Standard_Real BRepFilletAPI_MakeFillet::RelativeAbscissa ( const Standard_Integer  IC,
const TopoDS_Vertex V 
) const [virtual]
  • IC is outside the bounds of the table of contours, or
  • V is not on the contour of index IC.

Implements BRepFilletAPI_LocalOperation.

void BRepFilletAPI_MakeFillet::Remove ( const TopoDS_Edge E) [virtual]
void BRepFilletAPI_MakeFillet::Reset ( ) [virtual]
void BRepFilletAPI_MakeFillet::ResetContour ( const Standard_Integer  IC) [virtual]
Handle_ChFiDS_SecHArray1 BRepFilletAPI_MakeFillet::Sect ( const Standard_Integer  IC,
const Standard_Integer  IS 
) const [virtual]
void BRepFilletAPI_MakeFillet::SetContinuity ( const GeomAbs_Shape  InternalContinuity,
const Standard_Real  AngularTolerance 
)
void BRepFilletAPI_MakeFillet::SetFilletShape ( const ChFi3d_FilletShape  FShape)
void BRepFilletAPI_MakeFillet::SetLaw ( const Standard_Integer  IC,
const TopoDS_Edge E,
const Handle< Law_Function > &  L 
)
void BRepFilletAPI_MakeFillet::SetParams ( const Standard_Real  Tang,
const Standard_Real  Tesp,
const Standard_Real  T2d,
const Standard_Real  TApp3d,
const Standard_Real  TolApp2d,
const Standard_Real  Fleche 
)
void BRepFilletAPI_MakeFillet::SetRadius ( const Handle< Law_Function > &  L,
const Standard_Integer  IC,
const Standard_Integer  IinC 
)
void BRepFilletAPI_MakeFillet::SetRadius ( const Standard_Real  Radius,
const Standard_Integer  IC,
const Standard_Integer  IinC 
)
void BRepFilletAPI_MakeFillet::SetRadius ( const Standard_Real  Radius,
const Standard_Integer  IC,
const TopoDS_Edge E 
)
void BRepFilletAPI_MakeFillet::SetRadius ( const Standard_Real  R1,
const Standard_Real  R2,
const Standard_Integer  IC,
const Standard_Integer  IinC 
)
void BRepFilletAPI_MakeFillet::SetRadius ( const Standard_Real  Radius,
const Standard_Integer  IC,
const TopoDS_Vertex V 
)
void BRepFilletAPI_MakeFillet::SetRadius ( const TColgp_Array1OfPnt2d UandR,
const Standard_Integer  IC,
const Standard_Integer  IinC 
)
  • the X coordinate of a point in UandR defines a
    relative parameter on the contour (i.e. a parameter between 0 and 1),
  • the Y coordinate of a point in UandR gives the
    corresponding value of the radius, and the radius evolves
    between the first and last vertices of the contour of index IC.
void BRepFilletAPI_MakeFillet::Simulate ( const Standard_Integer  IC) [virtual]
ChFiDS_ErrorStatus BRepFilletAPI_MakeFillet::StripeStatus ( const Standard_Integer  IC) const

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