summaryrefslogtreecommitdiff
path: root/inc/Select2D_SensitiveEntity.hxx
blob: bb37501003983368102e71e542a2aa1a689e8a81 (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
// 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 _Select2D_SensitiveEntity_HeaderFile
#define _Select2D_SensitiveEntity_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Select2D_SensitiveEntity_HeaderFile
#include <Handle_Select2D_SensitiveEntity.hxx>
#endif

#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _SelectBasics_SensitiveEntity_HeaderFile
#include <SelectBasics_SensitiveEntity.hxx>
#endif
#ifndef _Handle_SelectBasics_EntityOwner_HeaderFile
#include <Handle_SelectBasics_EntityOwner.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_Select2D_Projector_HeaderFile
#include <Handle_Select2D_Projector.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class Standard_NotImplemented;
class SelectBasics_EntityOwner;
class Select2D_Projector;
class TColgp_Array1OfPnt2d;
class Bnd_Box2d;


//! A framework to define what all sensitive 2D entities have in common. <br>
//! This framework can be used to create new 2D sensitive entities. <br>
class Select2D_SensitiveEntity : public SelectBasics_SensitiveEntity {

public:

  //! returns Standard_False unless if redefined... <br>
      virtual  Standard_Boolean NeedsConversion() const;
  //! Processes the projection of the sensitive primitives in <br>
//! the active view.   This must be performed before the selection action. <br>
//! This function must be implemented in daughter classes. <br>
  Standard_EXPORT   virtual  void Convert(const Handle(Select2D_Projector)& aProjector) ;
  //! Returns the maximum number of boxes. <br>
  Standard_EXPORT   virtual  Standard_Integer MaxBoxes() const;
  //! Sets and stores a tolerance value in the argument <br>
//! aTol of the function Matches inherited from SelectBasics_SensitiveEntity. <br>
  Standard_EXPORT     void SetOwnTolerance(const Standard_Real aValue) ;
  //! Removes the in the argument aTol of the function <br>
//! Matches inherited from SelectBasics_SensitiveEntity. <br>
  Standard_EXPORT     void UnsetOwnTolerance() ;
  //! Returns true if the entity has a setting for the <br>
//! argument aTol   of the function Matches inherited <br>
//! from SelectBasics_SensitiveEntity. <br>
  Standard_EXPORT     Standard_Boolean HasOwnTolerance() const;
  //! Returns the tolerance value in the argument aTol of <br>
//! the function Matches inherited from SelectBasics_SensitiveEntity. <br>
  Standard_EXPORT     Standard_Real OwnTolerance() const;
  //! Returns true if this object can provide 3D information. <br>
  Standard_EXPORT     Standard_Boolean Is3D() const;
  //! Free contur selection for 2d is not defined <br>
  Standard_EXPORT   virtual  Standard_Boolean Matches(const TColgp_Array1OfPnt2d& Polyline,const Bnd_Box2d& aBox,const Standard_Real aTol) ;




  DEFINE_STANDARD_RTTI(Select2D_SensitiveEntity)

protected:

  
  Standard_EXPORT   Select2D_SensitiveEntity(const Handle(SelectBasics_EntityOwner)& anOwnerId);

Standard_Real myOwnTolerance;


private: 




};


#include <Select2D_SensitiveEntity.lxx>



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


#endif