// 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 _BRepTools_Quilt_HeaderFile #define _BRepTools_Quilt_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _TopTools_IndexedDataMapOfShapeShape_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif class Standard_NoSuchObject; class TopoDS_Edge; class TopoDS_Vertex; class TopoDS_Shape; //! A Tool to glue faces at common edges and
//! reconstruct shells.
//!
//! The user designate pairs of common edges using the
//! method Bind. One edge is designated as the edge to
//! use in place of the other one (they are supposed
//! to be geometrically confused, but this not
//! checked). They can be of opposite directions, this
//! is specified by the orientations.
//!
//! The user can add shapes with the Add method, all
//! the faces are registred and copies of faces and
//! edges are made to glue at the bound edges.
//!
//! The user can call the Shells methods to compute a
//! compound of shells from the current set of faces.
//!
//! If no binding is made this class can be used to
//! make shell from faces already sharing their edges.
class BRepTools_Quilt { 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); } Standard_EXPORT BRepTools_Quilt(); //! Binds to be the new edge instead of
//! .
//!
//! The faces of the added shape containing
//! will be copied to substitute by .
//!
//! The vertices of will be bound to the
//! vertices of with the same orientation.
//!
//! If and have different orientations
//! the curves are considered to be opposite and the
//! pcurves of will be copied and reversed in
//! the new faces.
//!
//! must belong to the next added shape, must belong
//! to a Shape added before.
Standard_EXPORT void Bind(const TopoDS_Edge& Eold,const TopoDS_Edge& Enew) ; //! Binds to be a new vertex instead of .
//!
//! The faces of the added shape containing
//! will be copied to substitute by .
Standard_EXPORT void Bind(const TopoDS_Vertex& Vold,const TopoDS_Vertex& Vnew) ; //! Add the faces of to the Quilt, the faces
//! containing bounded edges are copied.
Standard_EXPORT void Add(const TopoDS_Shape& S) ; //! Returns True if has been copied ( is a
//! vertex, an edge or a face)
Standard_EXPORT Standard_Boolean IsCopied(const TopoDS_Shape& S) const; //! Returns the shape substitued to in the Quilt.
//!
Standard_EXPORT const TopoDS_Shape& Copy(const TopoDS_Shape& S) const; //! Returns a Compound of shells made from the current
//! set of faces. The shells will be flagged as closed
//! or not closed.
Standard_EXPORT TopoDS_Shape Shells() const; protected: private: TopTools_IndexedDataMapOfShapeShape myBounds; Standard_Boolean hasCopy; }; // other Inline functions and methods (like "C++: function call" methods) #endif