// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _LocOpe_Builder_HeaderFile #define _LocOpe_Builder_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _TopoDS_Shape_HeaderFile #include #endif #ifndef _TopTools_ListOfShape_HeaderFile #include #endif #ifndef _BRepAlgo_TopOpe_HeaderFile #include #endif #ifndef _TopTools_MapOfShape_HeaderFile #include #endif #ifndef _Handle_BOP_HistoryCollector_HeaderFile #include #endif class StdFail_NotDone; class Standard_ConstructionError; class TopoDS_Shape; class TopTools_ListOfShape; class BOP_HistoryCollector; //! Provides a basic tool to implement local
//! topological operations.
class LocOpe_Builder { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Empty constructor.
Standard_EXPORT LocOpe_Builder(); //! Creates a builder for local operations on .
Standard_EXPORT LocOpe_Builder(const TopoDS_Shape& S); //! Creates a builder for local operations between
//! and .
Standard_EXPORT LocOpe_Builder(const TopoDS_Shape& S,const TopoDS_Shape& Tool); //! Initializes a builder for local operations on .
Standard_EXPORT void Init(const TopoDS_Shape& S) ; //! Initializes a builder for local operations between
//! and .
Standard_EXPORT void Init(const TopoDS_Shape& S,const TopoDS_Shape& Tool) ; //! Performs the local operation on the formerly given
//! shape. defines a set of faces of the
//! shape. The whole tool is used. The list may not be
//! empty. The boolean gives the type of
//! operation. If set to Standard_True, the operation
//! is a fusion. If set to Standard_False, the
//! operation is a cutting one.
//!
//! The Perform process stops just before constructing
//! any result in order to authorize the selection of
//! parts of the tool. After a call to Perform, it is
//! possible to call BuilPartsOfTool, then
//! RemovePart/ActivatePart to select valid parts, and
//! it is necessary to call PerformResult to get any
//! result.
Standard_EXPORT void Perform(const TopoDS_Shape& Tool,const TopTools_ListOfShape& L,const Standard_Boolean Fuse) ; //! Performs the local operation on the formerly given
//! shape and tool. defines a set of faces
//! of the shape. defines a set of faces of
//! the tool. The boolean gives the type of
//! operation. If set to Standard_True, the operation
//! is a fusion. If set to Standard_False, the
//! operation is a cutting one. If (resp.
//! ) is empty, the whole shape (resp. tool) is
//! used.
//!
//! The Perform process stops just before constructing
//! any result in order to authorize the selection of
//! parts of the tool. After a call to Perform, it is
//! possible to call BuilPartsOfTool, then
//! RemovePart/ActivatePart to select valid parts, and
//! it is necessary to call PerformResult to get any
//! result.
Standard_EXPORT void Perform(const TopTools_ListOfShape& LShape,const TopTools_ListOfShape& LTool,const Standard_Boolean Fuse) ; //! Builds every valid parts of the tool.
Standard_EXPORT void BuildPartsOfTool() ; //! Returns the list of the parts of tool. Each of
//! this part is a TopoDS_Shell.
Standard_EXPORT const TopTools_ListOfShape& PartsOfTool() const; //! Removes from the list of valid parts of tool.
Standard_EXPORT void RemovePart(const TopoDS_Shape& S) ; //! Removes from the list of invalid parts of
//! tool. By default, all parts of tool are valid for
//! the local operation.
Standard_EXPORT void ActivatePart(const TopoDS_Shape& S) ; //! Invalidates the given parts of tools if any, and
//! performs the result of the local operation.
Standard_EXPORT void PerformResult() ; //! Returns Standard_True if the operation has been
//! successfuly done.
Standard_Boolean IsDone() const; //! Returns Standard_True if the Invalidate Parts
//! operation has been successfuly done.
Standard_Boolean IsInvDone() const; //! Returns the result of the operation.
const TopoDS_Shape& ResultingShape() const; //! Returns the shape on which the operation is defined.
const TopoDS_Shape& OriginalShape() const; //! Returns the "tool" used to perform the local operation.
const TopoDS_Shape& Tool() const; const Handle_BOP_HistoryCollector& History() const; Standard_EXPORT void InvalidateParts() ; Standard_EXPORT const TopTools_ListOfShape& Edges() const; Standard_EXPORT const TopTools_ListOfShape& TgtEdges() const; protected: private: Standard_Boolean myDone; TopoDS_Shape myShape; TopoDS_Shape myTool; TopoDS_Shape myResult; TopTools_ListOfShape myParts; TopTools_ListOfShape myRemoved; Standard_Boolean myPdone; Standard_Boolean myPerfdone; Standard_Boolean myInvDone; Standard_Boolean myFuse; TopTools_ListOfShape myEdges; TopTools_ListOfShape myTgtEdges; BRepAlgo_TopOpe myAlgo; TopTools_MapOfShape myShapeMap; TopTools_MapOfShape myToolMap; }; #include // other Inline functions and methods (like "C++: function call" methods) #endif