Open CASCADE Technology
6.5.4
|
One of the most significant aspects of BRepFeat functionality is the use of local
operations as opposed to global ones. In a global operation, you would first construct a
form of the type you wanted in your final feature, and then remove matter so that it could
fit into your initial basis object. In a local operation, however, you specify the domain of
the feature construction with aspects of the shape on which the feature is being created.
These semantics are expressed in terms of a member shape of the basis shape from which -
or up to which - matter will be added or removed. As a result, local operations make
calculations simpler and faster than global operations.
In BRepFeat, the semantics of local operations define features constructed from a contour or a
part of the basis shape referred to as the tool. In a SplitShape object, wires or edges of a
face in the basis shape to be used as a part of the feature are cut out and projected to a plane
outside or inside the basis shape. By rebuilding the initial shape incorporating the edges and
the faces of the tool, protrusion or depression features can be constructed.
#include <BRepFeat_SplitShape.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC | BRepFeat_SplitShape () |
Empty constructor | |
BRepFeat_SplitShape (const TopoDS_Shape &S) | |
Creates the process with the shape <S>. | |
void | Init (const TopoDS_Shape &S) |
Initializes the process on the shape <S>. | |
void | SetCheckInterior (const Standard_Boolean ToCheckInterior) |
Set the flag of check internal intersections default value is True (to check) | |
void | Add (const TopoDS_Wire &W, const TopoDS_Face &F) |
Adds the wire <W> on the face <F>. Raises NoSuchObject if <F> does not belong to the original shape. | |
void | Add (const TopoDS_Edge &E, const TopoDS_Face &F) |
Adds the edge <E> on the face <F>. | |
void | Add (const TopoDS_Compound &Comp, const TopoDS_Face &F) |
Adds the compound <Comp> on the face <F>. The compound <Comp> must consist of edges lying on the face <F>. If edges are geometrically connected, they must be connected topologically, i.e. they must share common vertices. Raises NoSuchObject if <F> does not belong to the original shape. | |
void | Add (const TopoDS_Edge &E, const TopoDS_Edge &EOn) |
Adds the edge <E> on the existing edge <EOn>. | |
const TopTools_ListOfShape & | DirectLeft () const |
Returns the faces which are the left of the projected wires. | |
const TopTools_ListOfShape & | Left () const |
Returns the faces of the "left" part on the shape. (It is build from DirectLeft, with the faces connected to this set, and so on...). Raises NotDone if IsDone returns <Standard_False>. | |
void | Build () |
Builds the cut and the resulting faces and edges as well. | |
virtual Standard_Boolean | IsDeleted (const TopoDS_Shape &S) |
Returns true if the shape has been deleted. | |
const TopTools_ListOfShape & | Modified (const TopoDS_Shape &F) |
Returns the list of generated Faces. |
void BRepFeat_SplitShape::Add | ( | const TopoDS_Wire & | W, |
const TopoDS_Face & | F | ||
) |
void BRepFeat_SplitShape::Add | ( | const TopoDS_Edge & | E, |
const TopoDS_Face & | F | ||
) |
void BRepFeat_SplitShape::Add | ( | const TopoDS_Compound & | Comp, |
const TopoDS_Face & | F | ||
) |
void BRepFeat_SplitShape::Add | ( | const TopoDS_Edge & | E, |
const TopoDS_Edge & | EOn | ||
) |
void BRepFeat_SplitShape::Build | ( | ) | [virtual] |
Reimplemented from BRepBuilderAPI_MakeShape.
virtual Standard_Boolean BRepFeat_SplitShape::IsDeleted | ( | const TopoDS_Shape & | S | ) | [virtual] |
Reimplemented from BRepBuilderAPI_MakeShape.
const TopTools_ListOfShape& BRepFeat_SplitShape::Left | ( | ) | const |
const TopTools_ListOfShape& BRepFeat_SplitShape::Modified | ( | const TopoDS_Shape & | F | ) | [virtual] |
Reimplemented from BRepBuilderAPI_MakeShape.
void BRepFeat_SplitShape::SetCheckInterior | ( | const Standard_Boolean | ToCheckInterior | ) |