# Visualization
TKService
SelectBasics

# SelectBasics_SensitiveEntity Class Reference

root class ; the inheriting classes will be able to give
sensitive Areas for the dynamic selection algorithms

`#include <SelectBasics_SensitiveEntity.hxx>`

Inheritance diagram for SelectBasics_SensitiveEntity:

[legend]

## Public Member Functions

Standard_EXPORT void | Set (const Handle(SelectBasics_EntityOwner)&TheOwnerId)
Standard_EXPORT const Handle_SelectBasics_EntityOwner & | OwnerId () const
virtual Standard_EXPORT void | Areas (SelectBasics_ListOfBox2d &aresult)=0
| to be implemented specifically by each type of sensitive primitive .
virtual Standard_EXPORT Standard_Boolean | Matches (const Standard_Real X, const Standard_Real Y, const Standard_Real aTol, Standard_Real &DMin)=0
| returns True if the object is very close to the sensitive areas it gave to the selector... returns the minimum distance found if no match; to be implemented specifically by each type of sensitive primitive .
virtual Standard_EXPORT Standard_Boolean | Matches (const Standard_Real XMin, const Standard_Real YMin, const Standard_Real XMax, const Standard_Real YMax, const Standard_Real aTol)=0
| returns True if the box (Xmin,YMin)------(Xmax,Ymax) contains the SensitiveEntity. Necessary for selection using elastic boxes,or segments.
virtual Standard_EXPORT Standard_Boolean | Matches (const TColgp_Array1OfPnt2d &Polyline, const Bnd_Box2d &aBox, const Standard_Real aTol)=0
| returns True if the polyline xi,yi contains the SensitiveEntity. Necessary for selection using polyline selection
virtual Standard_EXPORT Standard_Boolean | NeedsConversion () const =0
virtual Standard_EXPORT Standard_Boolean | Is3D () const =0
| returns True if able to give 3D information (Depth,...). See Select3D
virtual Standard_EXPORT Standard_Real | Depth () const
| Sort Selected entities according to depth... .
virtual Standard_EXPORT Standard_Integer | MaxBoxes () const =0
| returns the max number of boxes the entity is able to give at a time
void | SetSensitivityFactor (const Standard_ShortReal aFactor)
Standard_ShortReal | SensitivityFactor () const
| allows a better sensitivity for a specific entity in selection algorithms useful for small sized entities.
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Protected Member Functions

Standard_EXPORT | SelectBasics_SensitiveEntity (const Handle(SelectBasics_EntityOwner)&OwnerId, const Standard_ShortReal aSensitivityFactor=1)

## Protected Attributes

Handle_SelectBasics_EntityOwner | myOwnerId

## Private Attributes

Standard_ShortReal | mySFactor

## Constructor & Destructor Documentation

Standard_EXPORT SelectBasics_SensitiveEntity::SelectBasics_SensitiveEntity | ( | const Handle(SelectBasics_EntityOwner)& | OwnerId,
|  | const Standard_ShortReal | aSensitivityFactor = `1`
| ) | `[protected]`

## Member Function Documentation

virtual Standard_EXPORT void SelectBasics_SensitiveEntity::Areas | ( | SelectBasics_ListOfBox2d & | aresult | ) | `[pure virtual]`

Implemented in MeshVS_DummySensitiveEntity, MeshVS_SensitiveMesh, MeshVS_SensitivePolyhedron, Select2D_SensitiveArc, Select2D_SensitiveBox, Select2D_SensitiveCircle, Select2D_SensitivePoint, Select2D_SensitiveSegment, Select3D_SensitiveBox, Select3D_SensitiveGroup, Select3D_SensitivePoint, Select3D_SensitivePoly, Select3D_SensitiveSegment, Select3D_SensitiveTriangulation, Select3D_SensitiveWire, and StdSelect_SensitiveText2d.

virtual Standard_EXPORT Standard_Real SelectBasics_SensitiveEntity::Depth | ( |  | ) | const`[virtual]`

| Reimplemented in Select3D_SensitiveEntity.

Standard_EXPORT const SelectBasics_SensitiveEntity::Handle | ( | Standard_Type |  | ) | const

Reimplemented in MeshVS_DummySensitiveEntity, MeshVS_SensitiveFace, MeshVS_SensitiveMesh, MeshVS_SensitivePolyhedron, MeshVS_SensitiveSegment, Select2D_SensitiveArc, Select2D_SensitiveBox, Select2D_SensitiveCircle, Select2D_SensitiveEntity, Select2D_SensitivePoint, Select2D_SensitiveSegment, Select3D_SensitiveBox, Select3D_SensitiveCircle, Select3D_SensitiveCurve, Select3D_SensitiveEntity, Select3D_SensitiveFace, Select3D_SensitiveGroup, Select3D_SensitivePoint, Select3D_SensitivePoly, Select3D_SensitiveSegment, Select3D_SensitiveTriangle, Select3D_SensitiveTriangulation, Select3D_SensitiveWire, and StdSelect_SensitiveText2d.

virtual Standard_EXPORT Standard_Boolean SelectBasics_SensitiveEntity::Is3D | ( |  | ) | const`[pure virtual]`

| Implemented in MeshVS_DummySensitiveEntity, Select2D_SensitiveEntity, and Select3D_SensitiveEntity.

virtual Standard_EXPORT Standard_Boolean SelectBasics_SensitiveEntity::Matches | ( | const TColgp_Array1OfPnt2d & | Polyline,
|  | const Bnd_Box2d & | aBox,
|  | const Standard_Real | aTol
| ) | `[pure virtual]`

Implemented in MeshVS_DummySensitiveEntity, MeshVS_SensitiveFace, MeshVS_SensitiveMesh, MeshVS_SensitivePolyhedron, MeshVS_SensitiveSegment, Select2D_SensitiveEntity, Select3D_SensitiveBox, Select3D_SensitiveCircle, Select3D_SensitiveCurve, Select3D_SensitiveEntity, Select3D_SensitiveFace, Select3D_SensitiveGroup, Select3D_SensitivePoint, Select3D_SensitiveSegment, Select3D_SensitiveTriangle, Select3D_SensitiveTriangulation, Select3D_SensitiveWire, and StdSelect_SensitiveText2d.

virtual Standard_EXPORT Standard_Boolean SelectBasics_SensitiveEntity::Matches | ( | const Standard_Real | XMin,
|  | const Standard_Real | YMin,
|  | const Standard_Real | XMax,
|  | const Standard_Real | YMax,
|  | const Standard_Real | aTol
| ) | `[pure virtual]`

Implemented in MeshVS_DummySensitiveEntity, MeshVS_SensitiveFace, MeshVS_SensitiveMesh, MeshVS_SensitivePolyhedron, MeshVS_SensitiveSegment, Select2D_SensitiveArc, Select2D_SensitiveBox, Select2D_SensitiveCircle, Select2D_SensitivePoint, Select2D_SensitiveSegment, Select3D_SensitiveBox, Select3D_SensitiveCircle, Select3D_SensitiveCurve, Select3D_SensitiveEntity, Select3D_SensitiveFace, Select3D_SensitiveGroup, Select3D_SensitivePoint, Select3D_SensitiveSegment, Select3D_SensitiveTriangle, Select3D_SensitiveTriangulation, Select3D_SensitiveWire, and StdSelect_SensitiveText2d.

virtual Standard_EXPORT Standard_Boolean SelectBasics_SensitiveEntity::Matches | ( | const Standard_Real | X,
|  | const Standard_Real | Y,
|  | const Standard_Real | aTol,
|  | Standard_Real & | DMin
| ) | `[pure virtual]`

Implemented in MeshVS_DummySensitiveEntity, MeshVS_SensitiveMesh, MeshVS_SensitivePolyhedron, Select2D_SensitiveArc, Select2D_SensitiveBox, Select2D_SensitiveCircle, Select2D_SensitivePoint, Select2D_SensitiveSegment, Select3D_SensitiveBox, Select3D_SensitiveCircle, Select3D_SensitiveCurve, Select3D_SensitiveEntity, Select3D_SensitiveFace, Select3D_SensitiveGroup, Select3D_SensitivePoint, Select3D_SensitiveSegment, Select3D_SensitiveTriangle, Select3D_SensitiveTriangulation, Select3D_SensitiveWire, and StdSelect_SensitiveText2d.

virtual Standard_EXPORT Standard_Integer SelectBasics_SensitiveEntity::MaxBoxes | ( |  | ) | const`[pure virtual]`

| Implemented in MeshVS_DummySensitiveEntity, Select2D_SensitiveEntity, Select2D_SensitiveSegment, Select3D_SensitiveEntity, Select3D_SensitiveGroup, Select3D_SensitiveSegment, and Select3D_SensitiveWire.

virtual Standard_EXPORT Standard_Boolean SelectBasics_SensitiveEntity::NeedsConversion | ( |  | ) | const`[pure virtual]`

| Implemented in MeshVS_DummySensitiveEntity, Select2D_SensitiveEntity, Select3D_SensitiveEntity, and StdSelect_SensitiveText2d.

Standard_EXPORT const Handle_SelectBasics_EntityOwner& SelectBasics_SensitiveEntity::OwnerId | ( |  | ) | const

Standard_ShortReal SelectBasics_SensitiveEntity::SensitivityFactor | ( |  | ) | const`[inline]`

Standard_EXPORT void SelectBasics_SensitiveEntity::Set | ( | const Handle(SelectBasics_EntityOwner)& | TheOwnerId | ) |

void SelectBasics_SensitiveEntity::SetSensitivityFactor | ( | const Standard_ShortReal | aFactor | ) | `[inline]`

## Field Documentation

Handle_SelectBasics_EntityOwner SelectBasics_SensitiveEntity::myOwnerId `[protected]`

Standard_ShortReal SelectBasics_SensitiveEntity::mySFactor `[private]`

The documentation for this class was generated from the following files:

- SelectBasics_SensitiveEntity.hxx
- SelectBasics_SensitiveEntity.lxx