File: IFSelect_SelectPointed.hxx

package info (click to toggle)
oce 0.18.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 301,548 kB
  • sloc: cpp: 1,190,609; ansic: 67,225; sh: 11,630; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 342; xml: 292; perl: 37
file content (143 lines) | stat: -rw-r--r-- 5,035 bytes parent folder | download | duplicates (5)
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
// 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 _IFSelect_SelectPointed_HeaderFile
#define _IFSelect_SelectPointed_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_IFSelect_SelectPointed.hxx>

#include <Standard_Boolean.hxx>
#include <TColStd_SequenceOfTransient.hxx>
#include <IFSelect_SelectBase.hxx>
#include <Handle_Standard_Transient.hxx>
#include <Handle_TColStd_HSequenceOfTransient.hxx>
#include <Standard_Integer.hxx>
#include <Handle_Interface_CopyControl.hxx>
#include <Handle_IFSelect_Transformer.hxx>
class Interface_InterfaceError;
class Standard_Transient;
class TColStd_HSequenceOfTransient;
class Interface_CopyControl;
class IFSelect_Transformer;
class Interface_EntityIterator;
class Interface_Graph;
class TCollection_AsciiString;


//! This type of Selection is intended to describe a direct
//! selection without an explicit criterium, for instance the
//! result of picking viewed entities on a graphic screen
//!
//! It can also be used to provide a list as internal alternate
//! input : this use implies to clear the list once queried
class IFSelect_SelectPointed : public IFSelect_SelectBase
{

public:

  
  //! Creates a SelectPointed
  Standard_EXPORT IFSelect_SelectPointed();
  
  //! Clears the list of selected items
  //! Also says the list is unset
  //! All Add* methods and SetList say the list is set
  Standard_EXPORT   void Clear() ;
  
  //! Tells if the list has been set. Even if empty
  Standard_EXPORT   Standard_Boolean IsSet()  const;
  
  //! As SetList but with only one entity
  //! If <ent> is Null, the list is said as being set but is empty
  Standard_EXPORT   void SetEntity (const Handle(Standard_Transient)& item) ;
  
  //! Sets a given list to define the list of selected items
  //! <list> can be empty or null : in this case, the list is said
  //! as being set, but it is empty
  //!
  //! To use it as an alternate input, one shot :
  //! - SetList or SetEntity to define the input list
  //! - RootResult to get it
  //! - then Clear to drop it
  Standard_EXPORT   void SetList (const Handle(TColStd_HSequenceOfTransient)& list) ;
  
  //! Adds an item. Returns True if Done, False if <item> is already
  //! in the selected list
  Standard_EXPORT   Standard_Boolean Add (const Handle(Standard_Transient)& item) ;
  
  //! Removes an item. Returns True if Done, False if <item> was not
  //! in the selected list
  Standard_EXPORT   Standard_Boolean Remove (const Handle(Standard_Transient)& item) ;
  
  //! Toggles status of an item : adds it if not pointed or removes
  //! it if already pointed. Returns the new status (Pointed or not)
  Standard_EXPORT   Standard_Boolean Toggle (const Handle(Standard_Transient)& item) ;
  
  //! Adds all the items defined in a list. Returns True if at least
  //! one item has been added, False else
  Standard_EXPORT   Standard_Boolean AddList (const Handle(TColStd_HSequenceOfTransient)& list) ;
  
  //! Removes all the items defined in a list. Returns True if at
  //! least one item has been removed, False else
  Standard_EXPORT   Standard_Boolean RemoveList (const Handle(TColStd_HSequenceOfTransient)& list) ;
  
  //! Toggles status of all the items defined in a list : adds it if
  //! not pointed or removes it if already pointed.
  Standard_EXPORT   Standard_Boolean ToggleList (const Handle(TColStd_HSequenceOfTransient)& list) ;
  
  //! Returns the rank of an item in the selected list, or 0.
  Standard_EXPORT   Standard_Integer Rank (const Handle(Standard_Transient)& item)  const;
  
  //! Returns the count of selected items
  Standard_EXPORT   Standard_Integer NbItems()  const;
  
  //! Returns an item given its rank, or a Null Handle
  Standard_EXPORT   Handle(Standard_Transient) Item (const Standard_Integer num)  const;
  
  //! Rebuilds the selected list. Any selected entity which has a
  //! bound result is replaced by this result, else it is removed.
  Standard_EXPORT   void Update (const Handle(Interface_CopyControl)& control) ;
  
  //! Rebuilds the selected list, by querying a Transformer
  //! (same principle as from a CopyControl)
  Standard_EXPORT   void Update (const Handle(IFSelect_Transformer)& trf) ;
  
  //! Returns the list of selected items. Only the selected entities
  //! which are present in the graph are given (this result assures
  //! uniqueness).
  Standard_EXPORT   Interface_EntityIterator RootResult (const Interface_Graph& G)  const;
  
  //! Returns a text which identifies the type of selection made.
  //! It is "Pointed Entities"
  Standard_EXPORT   TCollection_AsciiString Label()  const;




  DEFINE_STANDARD_RTTI(IFSelect_SelectPointed)

protected:




private: 


  Standard_Boolean theset;
  TColStd_SequenceOfTransient theitems;


};







#endif // _IFSelect_SelectPointed_HeaderFile