OCC Main Page | ModelingAlgorithms | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingAlgorithms
TKBool
BRepFill


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

#include <BRepFill_Filling.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT 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
.
Standard_EXPORT 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
.
Standard_EXPORT 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:
.
Standard_EXPORT void SetApproxParam (const Standard_Integer MaxDeg=8, const Standard_Integer MaxSegments=9)
 Sets the parameters used for approximation of the surface
.
Standard_EXPORT void LoadInitSurface (const TopoDS_Face &aFace)
 Loads the initial Surface
.
Standard_EXPORT 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_EXPORT 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_EXPORT 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_EXPORT Standard_Integer Add (const gp_Pnt &Point)
 Adds a punctual constraint
.
Standard_EXPORT Standard_Integer Add (const Standard_Real U, const Standard_Real V, const TopoDS_Face &Support, const GeomAbs_Shape Order)
 Adds a punctual constraint.
.
Standard_EXPORT void Build ()
 Builds the resulting faces
.
Standard_EXPORT Standard_Boolean IsDone () const
Standard_EXPORT TopoDS_Face Face () const
Standard_EXPORT Standard_Real G0Error () const
Standard_EXPORT Standard_Real G1Error () const
Standard_EXPORT Standard_Real G2Error () const
Standard_EXPORT Standard_Real G0Error (const Standard_Integer Index)
Standard_EXPORT Standard_Real G1Error (const Standard_Integer Index)
Standard_EXPORT Standard_Real G2Error (const Standard_Integer Index)

Private Member Functions

Standard_EXPORT void AddConstraints (const BRepFill_SequenceOfEdgeFaceAndOrder &SeqOfConstraints)
 Adds constraints to builder
.
Standard_EXPORT void BuildWires (TopTools_MapOfShape &EdgeMap, TopTools_MapOfShape &WireList) const
 Builds wires of maximum length
.
Standard_EXPORT void FindExtremitiesOfHoles (TopTools_MapOfShape &WireMap, TColgp_SequenceOfPnt &PntSeq) const
 Finds extremities of future edges to fix the holes between wires.
Can properly operate only with convex contour
.

Private Attributes

GeomPlate_BuildPlateSurface myBuilder
BRepFill_SequenceOfEdgeFaceAndOrder myBoundary
BRepFill_SequenceOfEdgeFaceAndOrder myConstraints
BRepFill_SequenceOfFaceAndOrder myFreeConstraints
GeomPlate_SequenceOfPointConstraint myPoints
TopoDS_Face myFace
TopoDS_Face myInitFace
Standard_Real myTol2d
Standard_Real myTol3d
Standard_Real myTolAng
Standard_Real myTolCurv
Standard_Integer myMaxDeg
Standard_Integer myMaxSegments
Standard_Integer myDegree
Standard_Integer myNbPtsOnCur
Standard_Integer myNbIter
Standard_Boolean myAnisotropie
Standard_Boolean myIsInitFaceGiven
Standard_Boolean myIsDone


Constructor & Destructor Documentation

Standard_EXPORT 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_EXPORT Standard_Integer BRepFill_Filling::Add const Standard_Real  U,
const Standard_Real  V,
const TopoDS_Face &  Support,
const GeomAbs_Shape  Order
 

Standard_EXPORT Standard_Integer BRepFill_Filling::Add const gp_Pnt &  Point  ) 
 

Standard_EXPORT Standard_Integer BRepFill_Filling::Add const TopoDS_Face &  Support,
const GeomAbs_Shape  Order
 

Standard_EXPORT Standard_Integer BRepFill_Filling::Add const TopoDS_Edge &  anEdge,
const TopoDS_Face &  Support,
const GeomAbs_Shape  Order,
const Standard_Boolean  IsBound = Standard_True
 

Standard_EXPORT Standard_Integer BRepFill_Filling::Add const TopoDS_Edge &  anEdge,
const GeomAbs_Shape  Order,
const Standard_Boolean  IsBound = Standard_True
 

Standard_EXPORT void BRepFill_Filling::AddConstraints const BRepFill_SequenceOfEdgeFaceAndOrder SeqOfConstraints  )  [private]
 

Standard_EXPORT void BRepFill_Filling::Build  ) 
 

Standard_EXPORT void BRepFill_Filling::BuildWires TopTools_MapOfShape &  EdgeMap,
TopTools_MapOfShape &  WireList
const [private]
 

Standard_EXPORT TopoDS_Face BRepFill_Filling::Face  )  const
 

Standard_EXPORT void BRepFill_Filling::FindExtremitiesOfHoles TopTools_MapOfShape &  WireMap,
TColgp_SequenceOfPnt &  PntSeq
const [private]
 

Standard_EXPORT Standard_Real BRepFill_Filling::G0Error const Standard_Integer  Index  ) 
 

Standard_EXPORT Standard_Real BRepFill_Filling::G0Error  )  const
 

Standard_EXPORT Standard_Real BRepFill_Filling::G1Error const Standard_Integer  Index  ) 
 

Standard_EXPORT Standard_Real BRepFill_Filling::G1Error  )  const
 

Standard_EXPORT Standard_Real BRepFill_Filling::G2Error const Standard_Integer  Index  ) 
 

Standard_EXPORT Standard_Real BRepFill_Filling::G2Error  )  const
 

Standard_EXPORT Standard_Boolean BRepFill_Filling::IsDone  )  const
 

Standard_EXPORT void BRepFill_Filling::LoadInitSurface const TopoDS_Face &  aFace  ) 
 

void BRepFill_Filling::operator delete void *  anAddress  )  [inline]
 

void* BRepFill_Filling::operator new size_t  size  )  [inline]
 

void* BRepFill_Filling::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT void BRepFill_Filling::SetApproxParam const Standard_Integer  MaxDeg = 8,
const Standard_Integer  MaxSegments = 9
 

Standard_EXPORT 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
 

Standard_EXPORT 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
 


Field Documentation

Standard_Boolean BRepFill_Filling::myAnisotropie [private]
 

BRepFill_SequenceOfEdgeFaceAndOrder BRepFill_Filling::myBoundary [private]
 

GeomPlate_BuildPlateSurface BRepFill_Filling::myBuilder [private]
 

BRepFill_SequenceOfEdgeFaceAndOrder BRepFill_Filling::myConstraints [private]
 

Standard_Integer BRepFill_Filling::myDegree [private]
 

TopoDS_Face BRepFill_Filling::myFace [private]
 

BRepFill_SequenceOfFaceAndOrder BRepFill_Filling::myFreeConstraints [private]
 

TopoDS_Face BRepFill_Filling::myInitFace [private]
 

Standard_Boolean BRepFill_Filling::myIsDone [private]
 

Standard_Boolean BRepFill_Filling::myIsInitFaceGiven [private]
 

Standard_Integer BRepFill_Filling::myMaxDeg [private]
 

Standard_Integer BRepFill_Filling::myMaxSegments [private]
 

Standard_Integer BRepFill_Filling::myNbIter [private]
 

Standard_Integer BRepFill_Filling::myNbPtsOnCur [private]
 

GeomPlate_SequenceOfPointConstraint BRepFill_Filling::myPoints [private]
 

Standard_Real BRepFill_Filling::myTol2d [private]
 

Standard_Real BRepFill_Filling::myTol3d [private]
 

Standard_Real BRepFill_Filling::myTolAng [private]
 

Standard_Real BRepFill_Filling::myTolCurv [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:41:16 2008 for OpenCASCADE by  doxygen 1.4.1