# Visualization
TKV3d
SelectMgr

# SelectMgr_Selection Class Reference

Represents the state of a given selection mode for a
Selectable Object. Contains all the sensitive entities available for this mode.
An interactive object can have an indefinite number of
modes of selection, each representing a
"decomposition" into sensitive primitives; each
primitive has an Owner (SelectMgr_EntityOwner)
which allows us to identify the exact entity which has
been detected. Each Selection mode is identified by
an index. The set of sensitive primitives which
correspond to a given mode is stocked in a
SelectMgr_Selection object. By Convention, the
default selection mode which allows us to grasp the
Interactive object in its entirety will be mode 0.
AIS_Trihedron : 4 selection modes
- mode 0 : selection of a trihedron
- mode 1 : selection of the origin of the trihedron
- mode 2 : selection of the axes
- mode 3 : selection of the planes XOY, YOZ, XOZ
when you activate one of modes 1 2 3 4 , you pick AIS objects of type:
- AIS_Point
- AIS_Axis (and information on the type of axis)
- AIS_Plane (and information on the type of plane).
AIS_PlaneTrihedron offers 3 selection modes:
- mode 0 : selection of the whole trihedron
- mode 1 : selection of the origin of the trihedron
- mode 2 : selection of the axes - same remarks as for the Trihedron.
AIS_Shape : 7 maximum selection modes, depending
on the complexity of the shape :
- mode 0 : selection of the AIS_Shape
- mode 1 : selection of the vertices
- mode 2 : selection of the edges
- mode 3 : selection of the wires
- mode 4 : selection of the faces
- mode 5 : selection of the shells
- mode 6 : selection of the constituent solids.
.

`#include <SelectMgr_Selection.hxx>`

## Public Member Functions

Standard_EXPORT | SelectMgr_Selection (const Standard_Integer IdMode=0)
| Constructs a selection object defined by the selection mode IdMode. The default setting 0 is the selection mode for a shape in its entirety. .
Standard_EXPORT void | Add (const Handle(SelectBasics_SensitiveEntity)&aprimitive)
| Adds the sensitive primitive aprimitive to the list of stored entities in this object. Raises NullObject if the primitive is a null handle. .
Standard_EXPORT void | Clear ()
| empties the selection from all the stored entities
Standard_EXPORT Standard_Boolean | IsEmpty () const
| returns true if no sensitive entity is stored.
Standard_Integer | Mode () const
| returns the selection mode represented by this selection
void | Init ()
| Begins an iteration scanning for sensitive primitives. .
Standard_Boolean | More () const
| Continues the iteration scanning for sensitive primitives with the mode defined in this framework. .
void | Next ()
| Returns the next sensitive primitive found in the iteration. This is a scan for entities with the mode defined in this framework. .
const Handle_SelectBasics_SensitiveEntity & | Sensitive () const
| Returns any sensitive primitive in this framework. .
SelectMgr_TypeOfUpdate | UpdateStatus () const
| Returns the flag UpdateFlag. This flage gives the update status of this framework in a ViewerSelector object: - full - partial, or - none. .
void | UpdateStatus (const SelectMgr_TypeOfUpdate UpdateFlag)
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Attributes

SelectBasics_ListOfSensitive | myentities
SelectBasics_ListIteratorOfListOfSensitive | myit
Standard_Integer | myMode
SelectMgr_TypeOfUpdate | myUpdateStatus

## Constructor & Destructor Documentation

Standard_EXPORT SelectMgr_Selection::SelectMgr_Selection | ( | const Standard_Integer | IdMode = `0` | ) |

## Member Function Documentation

Standard_EXPORT void SelectMgr_Selection::Add | ( | const Handle(SelectBasics_SensitiveEntity)& | aprimitive | ) |

Standard_EXPORT void SelectMgr_Selection::Clear | ( |  | ) |

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

void SelectMgr_Selection::Init | ( |  | ) | `[inline]`

Standard_EXPORT Standard_Boolean SelectMgr_Selection::IsEmpty | ( |  | ) | const

Standard_Integer SelectMgr_Selection::Mode | ( |  | ) | const`[inline]`

Standard_Boolean SelectMgr_Selection::More | ( |  | ) | const`[inline]`

void SelectMgr_Selection::Next | ( |  | ) | `[inline]`

const Handle_SelectBasics_SensitiveEntity& SelectMgr_Selection::Sensitive | ( |  | ) | const

void SelectMgr_Selection::UpdateStatus | ( | const SelectMgr_TypeOfUpdate | UpdateFlag | ) | `[inline]`

SelectMgr_TypeOfUpdate SelectMgr_Selection::UpdateStatus | ( |  | ) | const`[inline]`

## Field Documentation

SelectBasics_ListOfSensitive SelectMgr_Selection::myentities `[private]`

SelectBasics_ListIteratorOfListOfSensitive SelectMgr_Selection::myit `[private]`

Standard_Integer SelectMgr_Selection::myMode `[private]`

SelectMgr_TypeOfUpdate SelectMgr_Selection::myUpdateStatus `[private]`

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

- SelectMgr_Selection.hxx
- SelectMgr_Selection.lxx