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

ModelingAlgorithms
TKTopAlgo
BRepBuilderAPI


BRepBuilderAPI_MakeFace Class Reference

Provides methods to build faces.

A face may be built :

* From a surface.

- Elementary surface from gp.

- Surface from Geom.

* From a surface and U,V values.

* From a wire.

- Find the surface automatically if possible.

* From a surface and a wire.

- A flag Inside is given, when this flag is True
the wire is oriented to bound a finite area on
the surface.

* From a face and a wire.

- The new wire is a perforation.

Note : When building a face it should be C1. If the
the surface is to be built C2 the BRepBuilderAPI_MakeShell
construction should be used so that the surface is split
in faces which are the C2 components of the original surface
When building a face from a surface, the surface must be
"C2" continuous. As the MakeFace class does not
prevent the construction of a face using a surface which
is not "C2" continuous, you must check the surface
continuity yourself.
When a surface is not "C2" continuous, a shell can be
built using a BRepBuilderAPI_MakeShell object. This
object provides functions to automatically cut a non-"C2"
surface into as many faces as necessary, each face
lying on a "C2" part of the surface.
.

#include <BRepBuilderAPI_MakeFace.hxx>

Inheritance diagram for BRepBuilderAPI_MakeFace:

Inheritance graph
[legend]

Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT BRepBuilderAPI_MakeFace ()
 Not done.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const TopoDS_Face &F)
 Load a face. Usefull to add wires.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Pln &P)
 Make a face from a plane.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Cylinder &C)
 Make a face from a cylinder.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Cone &C)
 Make a face from a cone.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Sphere &S)
 Make a face from a sphere.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Torus &C)
 Make a face from a torus.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const Handle(Geom_Surface)&S)
 Make a face from a Surface.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Pln &P, const Standard_Real UMin, const Standard_Real UMax, const Standard_Real VMin, const Standard_Real VMax)
 Make a face from a plane.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Cylinder &C, const Standard_Real UMin, const Standard_Real UMax, const Standard_Real VMin, const Standard_Real VMax)
 Make a face from a cylinder.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Cone &C, const Standard_Real UMin, const Standard_Real UMax, const Standard_Real VMin, const Standard_Real VMax)
 Make a face from a cone.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Sphere &S, const Standard_Real UMin, const Standard_Real UMax, const Standard_Real VMin, const Standard_Real VMax)
 Make a face from a sphere.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Torus &C, const Standard_Real UMin, const Standard_Real UMax, const Standard_Real VMin, const Standard_Real VMax)
 Make a face from a torus.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const Handle(Geom_Surface)&S, const Standard_Real UMin, const Standard_Real UMax, const Standard_Real VMin, const Standard_Real VMax)
 Make a face from a Surface.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const TopoDS_Wire &W, const Standard_Boolean OnlyPlane=Standard_False)
 Find a surface from the wire and make a face.
if <onlyplane> is true, the computed surface will be
a plane. If it is not possible to find a plane, the
flag NotDone will be set.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Pln &P, const TopoDS_Wire &W, const Standard_Boolean Inside=Standard_True)
 Make a face from a plane and a wire.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Cylinder &C, const TopoDS_Wire &W, const Standard_Boolean Inside=Standard_True)
 Make a face from a cylinder and a wire.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Cone &C, const TopoDS_Wire &W, const Standard_Boolean Inside=Standard_True)
 Make a face from a cone and a wire.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Sphere &S, const TopoDS_Wire &W, const Standard_Boolean Inside=Standard_True)
 Make a face from a sphere and a wire.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const gp_Torus &C, const TopoDS_Wire &W, const Standard_Boolean Inside=Standard_True)
 Make a face from a torus and a wire.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const Handle(Geom_Surface)&S, const TopoDS_Wire &W, const Standard_Boolean Inside=Standard_True)
 Make a face from a Surface and a wire.
.
Standard_EXPORT BRepBuilderAPI_MakeFace (const TopoDS_Face &F, const TopoDS_Wire &W)
 Adds the wire <w> in the face <f>
//! A general method to create a face is to give
- a surface S as the support (the geometric domain) of the face,
- and a wire W to bound it.
The bounds of the face can also be defined by four parameter values
umin, umax, vmin, vmax which determine isoparametric limitations on
the parametric space of the surface. In this way, a patch is
defined. The parameter values are optional. If they are omitted, the
natural bounds of the surface are used. A wire is automatically
built using the defined bounds. Up to four edges and four vertices
are created with this wire (no edge is created when the
corresponding parameter value is infinite).
Wires can then be added using the function Add to define other
restrictions on the face. These restrictions represent holes. More
than one wire may be added by this way, provided that the wires do
not cross each other and that they define only one area on the
surface. (Be careful, however, as this is not checked).
Forbidden addition of wires
Note that in this schema, the third case is valid if edges of the
wire W are declared internal to the face. As a result, these edges
are no longer bounds of the face.
A default tolerance (Precision::Confusion()) is given to the face,
this tolerance may be increased during construction of the face
using various algorithms.
Rules applied to the arguments
For the surface:
- The surface must not be a 'null handle'.
- If the surface is a trimmed surface, the basis surface is used.
- For the wire: the wire is composed of connected edges, each
edge having a parametric curve description in the parametric
domain of the surface; in other words, as a pcurve.
For the parameters:
- The parameter values must be in the parametric range of the
surface (or the basis surface, if the surface is trimmed). If this
condition is not satisfied, the face is not built, and the Error
function will return BRepBuilderAPI_ParametersOutOfRange.
u parameter values and v parameter values must not be equal:
|umax - umin|
|vmax - vmin|
If one of these conditions is not satisfied, the face is not built,
and the Error function will return BRepBuilderAPI_NullUVBoundsArea.
- The bounding parameters p1 and p2 are adjusted on a periodic
surface in a given parametric direction by adding or subtracting
the period to obtain p1 in the parametric range of the surface and
such p2, that p2 - p1 <= Period, where Period is the period of the
surface in this parametric direction.
- A parameter value may be infinite. There will be no edge and
no vertex in the corresponding direction.
.
Standard_EXPORT void Init (const TopoDS_Face &F)
 Initializes (or reinitializes) the
construction of a face by creating a new object which is a copy of
the face F, in order to add wires to it, using the function Add.
Note: this complete copy of the geometry is only required if you
want to work on the geometries of the two faces independently.
.
Standard_EXPORT void Init (const Handle(Geom_Surface)&S, const Standard_Boolean Bound=Standard_True)
 Initializes (or reinitializes) the construction of a face on
the surface S. If Bound is true (the default value), a wire is
automatically created from the natural bounds of the
surface S and added to the face in order to bound it. If
Bound is false, no wire is added. This option is used
when real bounds are known. These will be added to
the face after this initialization, using the function Add.
.
Standard_EXPORT void Init (const Handle(Geom_Surface)&S, const Standard_Real UMin, const Standard_Real UMax, const Standard_Real VMin, const Standard_Real VMax)
 Initializes (or reinitializes) the construction of a face on
the surface S, limited in the u parametric direction by
the two parameter values UMin and UMax and in the
v parametric direction by the two parameter values VMin and VMax.
Warning
Error returns:
- BRepBuilderAPI_ParametersOutOfRange
when the parameters given are outside the bounds of the
surface or the basis surface of a trimmed surface.
- BRepBuilderAPI_NullUVBoundsArea
if |UMax - UMin| or |VMax - VMin|
.
Standard_EXPORT void Add (const TopoDS_Wire &W)
 Adds the wire W to the constructed face as a hole.
Warning
W must not cross the other bounds of the face, and all
the bounds must define only one area on the surface.
(Be careful, however, as this is not checked.)
Example
// a cylinder
gp_Cylinder C = ..;
// a wire
TopoDS_Wire W = ...;
BRepBuilderAPI_MakeFace MF(C);
MF.Add(W);
TopoDS_Face F = MF;
.
virtual Standard_EXPORT Standard_Boolean IsDone () const
 Returns true if this algorithm has a valid face.
.
Standard_EXPORT BRepBuilderAPI_FaceError Error () const
 Returns the construction status
BRepBuilderAPI_FaceDone if the face is built, or
- another value of the BRepBuilderAPI_FaceError
enumeration indicating why the construction failed, in
particular when the given parameters are outside the
bounds of the surface.
.
Standard_EXPORT const TopoDS_Face & Face () const
 Returns the constructed face.
Exceptions
StdFail_NotDone if no face is built.
.
Standard_EXPORT operator TopoDS_Face () const

Private Attributes

BRepLib_MakeFace myMakeFace

Constructor & Destructor Documentation

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace  ) 
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const TopoDS_Face &  F  ) 
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Pln &  P  ) 
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Cylinder &  C  ) 
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Cone &  C  ) 
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Sphere &  S  ) 
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Torus &  C  ) 
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const Handle(Geom_Surface)&  S  ) 
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Pln &  P,
const Standard_Real  UMin,
const Standard_Real  UMax,
const Standard_Real  VMin,
const Standard_Real  VMax
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Cylinder &  C,
const Standard_Real  UMin,
const Standard_Real  UMax,
const Standard_Real  VMin,
const Standard_Real  VMax
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Cone &  C,
const Standard_Real  UMin,
const Standard_Real  UMax,
const Standard_Real  VMin,
const Standard_Real  VMax
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Sphere &  S,
const Standard_Real  UMin,
const Standard_Real  UMax,
const Standard_Real  VMin,
const Standard_Real  VMax
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Torus &  C,
const Standard_Real  UMin,
const Standard_Real  UMax,
const Standard_Real  VMin,
const Standard_Real  VMax
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const Handle(Geom_Surface)&  S,
const Standard_Real  UMin,
const Standard_Real  UMax,
const Standard_Real  VMin,
const Standard_Real  VMax
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const TopoDS_Wire &  W,
const Standard_Boolean  OnlyPlane = Standard_False
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Pln &  P,
const TopoDS_Wire &  W,
const Standard_Boolean  Inside = Standard_True
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Cylinder &  C,
const TopoDS_Wire &  W,
const Standard_Boolean  Inside = Standard_True
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Cone &  C,
const TopoDS_Wire &  W,
const Standard_Boolean  Inside = Standard_True
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Sphere &  S,
const TopoDS_Wire &  W,
const Standard_Boolean  Inside = Standard_True
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const gp_Torus &  C,
const TopoDS_Wire &  W,
const Standard_Boolean  Inside = Standard_True
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const Handle(Geom_Surface)&  S,
const TopoDS_Wire &  W,
const Standard_Boolean  Inside = Standard_True
 

Standard_EXPORT BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace const TopoDS_Face &  F,
const TopoDS_Wire &  W
 


Member Function Documentation

Standard_EXPORT void BRepBuilderAPI_MakeFace::Add const TopoDS_Wire &  W  ) 
 

Standard_EXPORT BRepBuilderAPI_FaceError BRepBuilderAPI_MakeFace::Error  )  const
 

Standard_EXPORT const TopoDS_Face& BRepBuilderAPI_MakeFace::Face  )  const
 

Standard_EXPORT void BRepBuilderAPI_MakeFace::Init const Handle(Geom_Surface)&  S,
const Standard_Real  UMin,
const Standard_Real  UMax,
const Standard_Real  VMin,
const Standard_Real  VMax
 

Standard_EXPORT void BRepBuilderAPI_MakeFace::Init const Handle(Geom_Surface)&  S,
const Standard_Boolean  Bound = Standard_True
 

Standard_EXPORT void BRepBuilderAPI_MakeFace::Init const TopoDS_Face &  F  ) 
 

virtual Standard_EXPORT Standard_Boolean BRepBuilderAPI_MakeFace::IsDone  )  const [virtual]
 

Reimplemented from BRepBuilderAPI_Command.

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

Reimplemented from BRepBuilderAPI_MakeShape.

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

Reimplemented from BRepBuilderAPI_MakeShape.

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

Reimplemented from BRepBuilderAPI_MakeShape.

Standard_EXPORT BRepBuilderAPI_MakeFace::operator TopoDS_Face  )  const
 


Field Documentation

BRepLib_MakeFace BRepBuilderAPI_MakeFace::myMakeFace [private]
 


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