summaryrefslogtreecommitdiff
path: root/inc/MeshVS_MeshOwner.hxx
blob: 1653cfc1939c44774b5da82d097738e14879bdbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _MeshVS_MeshOwner_HeaderFile
#define _MeshVS_MeshOwner_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_MeshVS_MeshOwner_HeaderFile
#include <Handle_MeshVS_MeshOwner.hxx>
#endif

#ifndef _Handle_MeshVS_DataSource_HeaderFile
#include <Handle_MeshVS_DataSource.hxx>
#endif
#ifndef _Handle_TColStd_HPackedMapOfInteger_HeaderFile
#include <Handle_TColStd_HPackedMapOfInteger.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _SelectMgr_EntityOwner_HeaderFile
#include <SelectMgr_EntityOwner.hxx>
#endif
#ifndef _SelectMgr_SOPtr_HeaderFile
#include <SelectMgr_SOPtr.hxx>
#endif
#ifndef _Handle_PrsMgr_PresentationManager3d_HeaderFile
#include <Handle_PrsMgr_PresentationManager3d.hxx>
#endif
#ifndef _Quantity_NameOfColor_HeaderFile
#include <Quantity_NameOfColor.hxx>
#endif
#ifndef _Handle_PrsMgr_PresentationManager_HeaderFile
#include <Handle_PrsMgr_PresentationManager.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
class MeshVS_DataSource;
class TColStd_HPackedMapOfInteger;
class PrsMgr_PresentationManager3d;
class PrsMgr_PresentationManager;


//! The custom mesh owner used for advanced mesh selection. This class provides methods to store information: <br>
//! 1) IDs of hilighted mesh nodes and elements <br>
//! 2) IDs of mesh nodes and elements selected on the mesh <br>
class MeshVS_MeshOwner : public SelectMgr_EntityOwner {

public:

  
  Standard_EXPORT   MeshVS_MeshOwner(const SelectMgr_SOPtr& theSelObj,const Handle(MeshVS_DataSource)& theDS,const Standard_Integer thePriority = 0);
  
  Standard_EXPORT    const Handle_MeshVS_DataSource& GetDataSource() const;
  //! Returns ids of selected mesh nodes <br>
  Standard_EXPORT    const Handle_TColStd_HPackedMapOfInteger& GetSelectedNodes() const;
  //! Returns ids of selected mesh elements <br>
  Standard_EXPORT    const Handle_TColStd_HPackedMapOfInteger& GetSelectedElements() const;
  //! Saves ids of selected mesh entities <br>
  Standard_EXPORT   virtual  void AddSelectedEntities(const Handle(TColStd_HPackedMapOfInteger)& Nodes,const Handle(TColStd_HPackedMapOfInteger)& Elems) ;
  //! Clears ids of selected mesh entities <br>
  Standard_EXPORT   virtual  void ClearSelectedEntities() ;
  //! Returns ids of hilighted mesh nodes <br>
  Standard_EXPORT    const Handle_TColStd_HPackedMapOfInteger& GetDetectedNodes() const;
  //! Returns ids of hilighted mesh elements <br>
  Standard_EXPORT    const Handle_TColStd_HPackedMapOfInteger& GetDetectedElements() const;
  //! Saves ids of hilighted mesh entities <br>
  Standard_EXPORT     void SetDetectedEntities(const Handle(TColStd_HPackedMapOfInteger)& Nodes,const Handle(TColStd_HPackedMapOfInteger)& Elems) ;
  
  Standard_EXPORT   virtual  void HilightWithColor(const Handle(PrsMgr_PresentationManager3d)& PM,const Quantity_NameOfColor theColor,const Standard_Integer Mode = 0) ;
  
  Standard_EXPORT   virtual  void Unhilight(const Handle(PrsMgr_PresentationManager)& PM,const Standard_Integer Mode = 0) ;
  
  Standard_EXPORT   virtual  Standard_Boolean IsForcedHilight() const;




  DEFINE_STANDARD_RTTI(MeshVS_MeshOwner)

protected:


Handle_TColStd_HPackedMapOfInteger mySelectedNodes;
Handle_TColStd_HPackedMapOfInteger mySelectedElems;


private: 


Handle_MeshVS_DataSource myDataSource;
Handle_TColStd_HPackedMapOfInteger myDetectedNodes;
Handle_TColStd_HPackedMapOfInteger myDetectedElems;
Standard_Integer myLastID;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif