1 // File: NMTTools_DSFiller.cxx
2 // Created: Fri Dec 5 14:06:34 2003
3 // Author: Peter KURNEV
7 #include <NMTTools_DSFiller.ixx>
8 #include <NMTTools_PaveFiller.hxx>
10 //=======================================================================
11 // function: NMTTools_DSFiller::NMTTools_DSFiller
13 //=======================================================================
14 NMTTools_DSFiller::NMTTools_DSFiller()
19 myIsNewFiller=Standard_True;
20 myIsDone=Standard_False;
22 //=======================================================================
25 //=======================================================================
26 void NMTTools_DSFiller::Destroy()
30 //=======================================================================
33 //=======================================================================
34 void NMTTools_DSFiller::Clear()
36 if (myPaveFiller!=NULL) {
39 if (myInterfPool!=NULL) {
49 //=======================================================================
50 // function: SetCompositeShape
52 //=======================================================================
53 void NMTTools_DSFiller::SetCompositeShape(const TopoDS_Shape& aS)
57 //=======================================================================
58 // function: CompositeShape
60 //=======================================================================
61 const TopoDS_Shape& NMTTools_DSFiller::CompositeShape()const
63 return myCompositeShape;
65 //=======================================================================
66 // function: SetNewFiller
68 //=======================================================================
69 void NMTTools_DSFiller::SetNewFiller(const Standard_Boolean aFlag) const
71 NMTTools_DSFiller* pDSFiller=(NMTTools_DSFiller*)this;
72 pDSFiller->myIsNewFiller=aFlag;
74 //=======================================================================
75 // function: IsNewFiller
77 //=======================================================================
78 Standard_Boolean NMTTools_DSFiller::IsNewFiller() const
82 //=======================================================================
85 //=======================================================================
86 const NMTDS_ShapesDataStructure& NMTTools_DSFiller::DS () const
90 //=======================================================================
91 // function: InterfPool
93 //=======================================================================
94 const BOPTools_InterferencePool& NMTTools_DSFiller::InterfPool () const
98 //=======================================================================
101 //=======================================================================
102 Standard_Boolean NMTTools_DSFiller::IsDone()const
106 //=======================================================================
107 // function: PaveFiller
109 //=======================================================================
110 const NMTTools_PaveFiller& NMTTools_DSFiller::PaveFiller()const
112 return *myPaveFiller;
114 //=======================================================================
115 // function: ChangePaveFiller
117 //=======================================================================
118 NMTTools_PaveFiller& NMTTools_DSFiller::ChangePaveFiller()
120 return *myPaveFiller;
122 //=======================================================================
125 //=======================================================================
126 void NMTTools_DSFiller::Perform()
128 myIsDone=Standard_False;
130 if (myCompositeShape.IsNull()) {
135 // Clear contents of the DS if it was before
138 myIsNewFiller=Standard_True;
140 myDS = new NMTDS_ShapesDataStructure;
141 myDS->SetCompositeShape(myCompositeShape);
144 myInterfPool= new BOPTools_InterferencePool (*myDS);
146 myPaveFiller = new NMTTools_PaveFiller(*myInterfPool);
147 myPaveFiller->Perform();
148 myIsDone=myPaveFiller->IsDone();