Salome HOME
Merge from BR_Dev_For_4_0 branch (from tag mergeto_BR_QT4_Dev_17Jan08)
[modules/geom.git] / src / OBJECT / GEOM_WireframeFace.h
1 #ifndef GEOM_WIREFRAME_FACE_H 
2 #define GEOM_WIREFRAME_FACE_H 
3  
4 #include "GEOM_FaceSource.h" 
5
6 #include <GeomAbs_IsoType.hxx>
7 #include <BRepAdaptor_Surface.hxx>
8  
9 #include <vtkPolyDataSource.h> 
10  
11  
12 class VTK_EXPORT GEOM_WireframeFace: public GEOM_FaceSource 
13
14 public: 
15   vtkTypeMacro(GEOM_WireframeFace,GEOM_FaceSource); 
16   static GEOM_WireframeFace* New(); 
17  
18   vtkSetMacro(NbIso,int); 
19   vtkGetMacro(NbIso,int); 
20  
21   vtkSetMacro(Discret,int); 
22   vtkGetMacro(Discret,int); 
23  
24   static  
25   void OCC2VTK(const TopoDS_Face& theFace,  
26                vtkPolyData* thePolyData, 
27                vtkPoints* thePts, 
28                int theNbIso = 1, 
29                int theDiscret = 15); 
30  
31 protected: 
32   int NbIso, Discret; 
33  
34   static  
35   void 
36   CreateIso(const TopoDS_Face& theFace,
37                   const int theNbIso, 
38             const int theDiscret, 
39             vtkPolyData* thePolyData,
40             vtkPoints* thePts);
41  
42   static  
43   void 
44   CreateIso_(const TopoDS_Face& theFace,
45              GeomAbs_IsoType theIsoType, 
46              Standard_Real Par, 
47              Standard_Real T1,
48              Standard_Real T2,
49              const int theDiscret, 
50              vtkPolyData* thePolyData,
51              vtkPoints* thePts);
52  
53   static  
54   void 
55   CreateIso__(const BRepAdaptor_Surface& theSurface, 
56               GeomAbs_IsoType theIsoType,
57                                     Standard_Real& theU, 
58                                     Standard_Real& theV, 
59                                       Standard_Real theStep, 
60               vtkPolyData* thePolyData,
61               vtkPoints* thePts);
62
63   void Execute(); 
64  
65   GEOM_WireframeFace(); 
66   ~GEOM_WireframeFace(); 
67  
68 private: 
69   // Not implememnted 
70   GEOM_WireframeFace(const GEOM_WireframeFace&); 
71   void operator=(const GEOM_WireframeFace&); 
72 }; 
73  
74  
75 #endif //GEOM_WFACEACTOR_H