// 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 _BOPTools_SSInterference_HeaderFile #define _BOPTools_SSInterference_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _BOPTools_ListOfPaveBlock_HeaderFile #include #endif #ifndef _BOPTools_PaveSet_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _BOPTools_SequenceOfCurves_HeaderFile #include #endif #ifndef _IntTools_SequenceOfPntOn2Faces_HeaderFile #include #endif #ifndef _TColStd_ListOfInteger_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _BOPTools_IndexedDataMapOfIntegerState_HeaderFile #include #endif #ifndef _BOPTools_ShapeShapeInterference_HeaderFile #include #endif class IntTools_SequenceOfCurves; class IntTools_SequenceOfPntOn2Faces; class BOPTools_PaveBlock; class BOPTools_ListOfPaveBlock; class BOPTools_PaveSet; class BOPTools_SequenceOfCurves; class BOPTools_IndexedDataMapOfIntegerState; class TColStd_ListOfInteger; //! class for storing a Face/Face interference
//! Each F/F interference contains information about
//! 1. myPBs - PaveBlocks (made from edges from the faces
//! that are IN-2D or ON-2D;
//! 2. myCurves- Sequence of curves of intersection;
//! 3. myTangentFacesFlag - The BOOL flag indicates that
//! the faces are SD in terms of the F/F Intersector.
//! 4. mySenseFlag - value that is equal +1 or -1 depending
//! on scalar product between normals to each face. This
//! valie is valid for the SDF only.
//! 5. myAlonePnts - contains 3D-points that are place
//! of intersection between the two faces
//! 6. myAloneVertices - contains indices of vertices
//! that correspond to the points myAlonePnts;
class BOPTools_SSInterference : public BOPTools_ShapeShapeInterference { 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 BOPTools_SSInterference(); //! Constructor
//! anIndex1,
//! anIndex2 see BOPTools_ShapeShapeInterference for details
//! aTolR3D - value of tolerance to reach in 3D-space
//! aTolR2D - value of tolerance to reach in 2D-space
//! aCurves see IntTools_Curve for details, please
Standard_EXPORT BOPTools_SSInterference(const Standard_Integer anIndex1,const Standard_Integer anIndex2,const Standard_Real aTolR3D,const Standard_Real aTolR2D,const IntTools_SequenceOfCurves& aCurves,const IntTools_SequenceOfPntOn2Faces& aPnts); //! Modifier
Standard_EXPORT void AppendBlock(const BOPTools_PaveBlock& aPB) ; //! Selector
Standard_EXPORT const BOPTools_ListOfPaveBlock& PaveBlocks() const; //! Selector
Standard_EXPORT BOPTools_PaveSet& NewPaveSet() ; //! Selector
Standard_EXPORT Standard_Real TolR3D() const; //! Selector
Standard_EXPORT Standard_Real TolR2D() const; //! Selector
Standard_EXPORT BOPTools_SequenceOfCurves& Curves() ; //! Modifier
Standard_EXPORT void SetTangentFacesFlag(const Standard_Boolean aFlag) ; //! Selector
Standard_EXPORT Standard_Boolean IsTangentFaces() const; //! Modifier
Standard_EXPORT void SetSenseFlag(const Standard_Integer aFlag) ; //! Selector
Standard_EXPORT Standard_Integer SenseFlag() const; //! Modifier
Standard_EXPORT void SetStatesMap(const BOPTools_IndexedDataMapOfIntegerState& aStatesMap) ; //! Selector
Standard_EXPORT const BOPTools_IndexedDataMapOfIntegerState& StatesMap() const; //! Modifier
Standard_EXPORT void SetAlonePnts(const IntTools_SequenceOfPntOn2Faces& aPnts) ; //! Selector
Standard_EXPORT const IntTools_SequenceOfPntOn2Faces& AlonePnts() const; //! Selector
//!
Standard_EXPORT TColStd_ListOfInteger& AloneVertices() ; //! Modifier
//!
Standard_EXPORT void SetSharedEdges(const TColStd_ListOfInteger& aLS) ; //! Selector
//!
Standard_EXPORT const TColStd_ListOfInteger& SharedEdges() const; protected: BOPTools_ListOfPaveBlock myPBs; BOPTools_PaveSet myNewPaveSet; Standard_Real myTolR3D; Standard_Real myTolR2D; BOPTools_SequenceOfCurves myCurves; IntTools_SequenceOfPntOn2Faces myAlonePnts; TColStd_ListOfInteger myAloneVertices; Standard_Boolean myTangentFacesFlag; Standard_Integer mySenseFlag; BOPTools_IndexedDataMapOfIntegerState myStatesMap; TColStd_ListOfInteger mySharedEdges; private: }; // other Inline functions and methods (like "C++: function call" methods) #endif