// 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 _BRepFeat_LocalOperation_HeaderFile #define _BRepFeat_LocalOperation_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _BRepFeat_Builder_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif class StdFail_NotDone; class Standard_ConstructionError; class TopoDS_Shape; class TopTools_ListOfShape; //! 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.
class BRepFeat_LocalOperation : public BRepFeat_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); } //! Builds the framework to store the topological shape
//! which is to be created by the local operation.
//! Initializes the empty constructor.
BRepFeat_LocalOperation(); //! Builds the framework to store the topological shape
//! which is to be created by the local operation.
//! Initializes shape S for a local operation.
//! The exception ConstructionError is raised if is a null shape.
BRepFeat_LocalOperation(const TopoDS_Shape& S); //! Builds the framework to store the topological shape
//! which is to be created by the local operation.
//! Initializes S1 and S2 for a local operation.
//! The exception ConstructionError is raised if is a null shape.
BRepFeat_LocalOperation(const TopoDS_Shape& S1,const TopoDS_Shape& S2); //! Performs the local operation on the formerly given
//! shape, with the tool . defines a set of
//! faces of the shape. 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.
void Perform(const TopoDS_Shape& T,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, 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.
void Perform(const TopTools_ListOfShape& LShape,const TopTools_ListOfShape& LTool,const Standard_Boolean Fuse) ; //! Constructs the primitive which serves as the tool for the
//! feature construction. Gives faces concerned by the
//! construction and builds by performing one of the
//! Boolean operations on the two intersecting shapes.
//! Raises NotDone from StdFail if no call to Perform has been done.
void BuildPartsOfTool() ; //! Returns the list of the parts of tool. Each of
//! these parts is a TopoDS_Shell.
//! Raises NotDone if no call to BuildPartsOfTool has been done.
const TopTools_ListOfShape& PartsOfTool() const; //! Removes from the list of valid parts of tool.
//! Raises NotDone if no call to BuildPartsOfTool has
//! been done.
void RemovePart(const TopoDS_Shape& S) ; //! By default, all tool parts are valid for the local operation.
//! This method removes from the list of invalid parts of
//! tool. By default, all parts of tool are valid for
//! the local operation.
void ActivatePart(const TopoDS_Shape& S) ; //! Builds the resulting shape (redefined from
//! MakeShape). Invalidates the given parts of tools
//! if any, and performs the result of the local
//! operation.
Standard_EXPORT virtual void Build() ; protected: private: }; #include // other Inline functions and methods (like "C++: function call" methods) #endif