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