0024355: Compiler Warning level 4 for MFC samples
[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"
5c1f974e 9#include "Graphic3d_ArrayOfPolylines.hxx"
7fd59977 10#include "AIS_InteractiveObject.hxx"
11
7fd59977 12#include <HLRAlgo_Projector.hxx>
13#include <HLRBRep_Algo.hxx>
14#include <HLRBRep_PolyAlgo.hxx>
15
16DEFINE_STANDARD_HANDLE(ISession2D_Shape,AIS_InteractiveObject)
17class ISession2D_Shape : public AIS_InteractiveObject {
18
19public:
7fd59977 20Standard_EXPORT ISession2D_Shape ();
21void Standard_EXPORT Add(const TopoDS_Shape& aShape);
22
5c573e69 23HLRAlgo_Projector& Projector() { return myProjector; }
7fd59977 24Standard_EXPORT void SetProjector(HLRAlgo_Projector& aProjector);
25
26private:
27Standard_Integer myNbIsos;
5c573e69 28
7fd59977 29public :
30Standard_Integer& NbIsos() { return myNbIsos;};
31Standard_EXPORT void SetNbIsos(Standard_Integer& aNbIsos) ;
32
5c573e69 33Standard_Boolean AcceptShapeDecomposition() {return Standard_True;}
7fd59977 34
5c573e69 35virtual Standard_Boolean AcceptSelectionMode(const Standard_Integer /*aMode*/) const
36{return Standard_True; }
7fd59977 37
5c573e69 38DEFINE_STANDARD_RTTI(ISession2D_Shape)
7fd59977 39
40private:
7fd59977 41void BuildAlgo();
42void BuildPolyAlgo();
43
5c573e69 44void DrawCompound(const Handle(Prs3d_Presentation)& thePresentation,
45 const TopoDS_Shape& theCompound,
46 const Handle(Prs3d_LineAspect) theAspect);
7fd59977 47
7fd59977 48
5c573e69 49Standard_EXPORT virtual void Compute(const Handle(PrsMgr_PresentationManager3d)& thePresentationManager,
50 const Handle(Prs3d_Presentation)& thePresentation,
51 const Standard_Integer theMode = 0);
7fd59977 52
53virtual void ComputeSelection(const Handle(SelectMgr_Selection)& aSelection,const Standard_Integer aMode) ;
54
55private :
56TopTools_ListOfShape myListOfShape;
57HLRAlgo_Projector myProjector;
58Handle(HLRBRep_Algo) myAlgo;
59Handle(HLRBRep_PolyAlgo) myPolyAlgo;
7fd59977 60};
61
62
63// other inCurve functions and methods (like "C++: function call" methods)
64//
65
66
67
68#endif