Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / mfc / standard / Common / ISession2D / ISession2D_Shape.h
CommitLineData
7fd59977 1#ifndef _ISession2D_Shape_HeaderFile
2#define _ISession2D_Shape_HeaderFile
3
4#include <Standard_Macro.hxx>
5#include <Standard_DefineHandle.hxx>
6#include "TopoDS_Shape.hxx"
7
8#include "SelectMgr_SelectableObject.hxx"
9#include "SelectMgr_SelectableObject.hxx"
10#include "AIS_InteractiveObject.hxx"
11
12
13#include <Graphic2d_SetOfSegments.hxx>
14#include <Graphic2d_SetOfCurves.hxx>
15#include <HLRAlgo_Projector.hxx>
16#include <HLRBRep_Algo.hxx>
17#include <HLRBRep_PolyAlgo.hxx>
18
19DEFINE_STANDARD_HANDLE(ISession2D_Shape,AIS_InteractiveObject)
20class ISession2D_Shape : public AIS_InteractiveObject {
21
22public:
23
24 // Methods PUBLIC
25 //
26Standard_EXPORT ISession2D_Shape ();
27void Standard_EXPORT Add(const TopoDS_Shape& aShape);
28
29DEFINE_STANDARD_RTTI(ISession2D_Shape)
30
31
32// myProjector
33HLRAlgo_Projector& Projector() { return myProjector;};
34Standard_EXPORT void SetProjector(HLRAlgo_Projector& aProjector);
35
36private:
37Standard_Integer myNbIsos;
38public :
39Standard_Integer& NbIsos() { return myNbIsos;};
40Standard_EXPORT void SetNbIsos(Standard_Integer& aNbIsos) ;
41
42Standard_Boolean AcceptShapeDecomposition() {return Standard_True;};
43
44virtual Standard_Boolean AcceptSelectionMode(const Standard_Integer aMode) const
45{return Standard_True; }
46
47
48private:
49
50 // Methods PRIVATE
51 //
52void BuildAlgo();
53void BuildPolyAlgo();
54
55
56Standard_EXPORT virtual void Compute(const Handle(PrsMgr_PresentationManager3d)& aPresentationManager,const Handle(Prs3d_Presentation)& aPresentation,const Standard_Integer aMode = 0) ;
57Standard_EXPORT virtual void Compute(const Handle(Prs3d_Projector)& aProjector,const Handle(Prs3d_Presentation)& aPresentation) ;
58
59
60virtual void Compute(const Handle(PrsMgr_PresentationManager2d)& aPresentationManager,const Handle(Graphic2d_GraphicObject)& aGrObj,const Standard_Integer aMode = 0) ;
61virtual void DrawCompound(TopoDS_Shape& aCompound,const Handle(Graphic2d_SetOfSegments)& aSetOfSegments);
62virtual void DrawCompound(TopoDS_Shape& aCompound,const Handle(Graphic2d_SetOfCurves)& aSetOfCurves);
63
64virtual void ComputeSelection(const Handle(SelectMgr_Selection)& aSelection,const Standard_Integer aMode) ;
65
66private :
67TopTools_ListOfShape myListOfShape;
68HLRAlgo_Projector myProjector;
69Handle(HLRBRep_Algo) myAlgo;
70Handle(HLRBRep_PolyAlgo) myPolyAlgo;
71
72
73};
74
75
76// other inCurve functions and methods (like "C++: function call" methods)
77//
78
79
80
81#endif