Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / mfc / standard / Common / User_Cylinder.hxx
1 #ifndef _User_Cylinder_HeaderFile
2         #define _User_Cylinder_HeaderFile
3         #ifndef _Standard_Macro_HeaderFile
4         #include <Standard_Macro.hxx>
5 #endif
6
7 #include <AIS_InteractiveObject.hxx>
8 #include <Standard_DefineHandle.hxx>
9 #include <Standard_Macro.hxx>
10 #include <Graphic3d_AspectFillArea3d.hxx>
11
12 // Handle definition
13 //
14 DEFINE_STANDARD_HANDLE(User_Cylinder,AIS_InteractiveObject)
15
16 class User_Cylinder: public AIS_InteractiveObject {
17 public:
18         Standard_EXPORT User_Cylinder(const Standard_Real R, const Standard_Real H);
19         Standard_EXPORT User_Cylinder(const gp_Ax2 CylAx2, const Standard_Real R, const Standard_Real H);
20
21         ~User_Cylinder(){};
22         
23         Standard_Boolean AcceptShapeDecomposition() const;
24         void Standard_EXPORT SetCylindricalFaceColor(const Quantity_Color acolor);
25         void Standard_EXPORT SetPlanarFaceColor(const Quantity_Color);
26         Standard_Integer NbPossibleSelection() const;
27         void SetColor(const Quantity_Color &aColor);
28
29 private:
30         void Compute(const Handle_PrsMgr_PresentationManager3d& aPresentationManager,
31                                  const Handle_Prs3d_Presentation& aPresentation,
32                                  const Standard_Integer aMode = 0) ;
33         void ComputeSelection(const Handle_SelectMgr_Selection& aSelection,
34                                                   const Standard_Integer aMode) ;
35         void Compute(const Handle_Prs3d_Projector& aProjector,const Handle_Prs3d_Presentation& aPresentation);
36         Standard_Boolean TriangleIsValid(const gp_Pnt& P1,const gp_Pnt& P2,const gp_Pnt& P3) const;
37         Quantity_Color Color(gp_Pnt& thePoint,Standard_Real AltMin,Standard_Real AltMax, const Standard_Integer ColorizationMode) ;
38                                                 
39 // some methods like DynamicType() or IsKind()
40 //
41 DEFINE_STANDARD_RTTI(User_Cylinder)
42 private:
43 //      Quantity_NameOfColor myCylindricalFaceColor;
44 //      Quantity_NameOfColor myPlanarFaceColor;
45         Quantity_Color myCylindricalFaceColor;
46         Quantity_Color myPlanarFaceColor;
47         TopoDS_Shape myShape;
48
49         Handle_Graphic3d_AspectFillArea3d myAspect;
50         Standard_Real myDeflection;
51
52         Standard_Boolean myX1OnOff;
53         Standard_Boolean myXBlueOnOff;
54         Standard_Boolean myXGreenOnOff;
55         Standard_Boolean myXRedOnOff;
56         Standard_Boolean myY1OnOff;
57         Standard_Boolean myYBlueOnOff;
58         Standard_Boolean myYGreenOnOff;
59         Standard_Boolean myYRedOnOff;
60         Standard_Boolean myZ1OnOff;
61         Standard_Boolean myZBlueOnOff;
62         Standard_Boolean myZGreenOnOff;
63         Standard_Boolean myZRedOnOff;
64
65         gp_Pnt BAR;
66
67         Standard_Real Umin;
68         Standard_Real Umax;
69         Standard_Real Vmin;
70         Standard_Real Vmax;
71         Standard_Real dUmax;
72         Standard_Real dVmax;
73
74         Standard_Real red;
75         Standard_Real green;
76         Standard_Real blue;
77
78
79
80 //Handle_Graphic3d_Texture2Dmanual mytexture;
81
82 };
83 #endif