# Visualization
TKV3d
AIS

# AIS_ExclusionFilter Class Reference

A framework to reject or to accept only objects of
given types and/or signatures.
Objects are stored, and the stored objects - along
with the flag settings - are used to define the filter.
Objects to be filtered are compared with the stored
objects added to the filter, and are accepted or
rejected according to the exclusion flag setting.
- Exclusion flag on
- the function IsOk answers true for all objects,
except those of the types and signatures stored
in the filter framework
- Exclusion flag off
- the funciton IsOk answers true for all objects
which have the same type and signature as the stored ones.
.

`#include <AIS_ExclusionFilter.hxx>`

Inheritance diagram for AIS_ExclusionFilter:

[legend]

## Public Member Functions

Standard_EXPORT | AIS_ExclusionFilter (const Standard_Boolean ExclusionFlagOn=Standard_True)
| Constructs an empty exclusion filter object defined by the flag setting ExclusionFlagOn. By default, the flag is set to true. .
Standard_EXPORT | AIS_ExclusionFilter (const AIS_KindOfInteractive TypeToExclude, const Standard_Boolean ExclusionFlagOn=Standard_True)
| All the AIS objects of <typetoexclude> Will be rejected by the IsOk Method. .
Standard_EXPORT | AIS_ExclusionFilter (const AIS_KindOfInteractive TypeToExclude, const Standard_Integer SignatureInType, const Standard_Boolean ExclusionFlagOn=Standard_True)
| Constructs an exclusion filter object defined by the enumeration value TypeToExclude, the signature SignatureInType, and the flag setting ExclusionFlagOn. By default, the flag is set to true. .
virtual Standard_EXPORT Standard_Boolean | IsOk (const Handle(SelectMgr_EntityOwner)&anObj) const

Indicates that the selected Interactive Object
passes the filter. The owner, anObj, can be either
direct or user. A direct owner is the corresponding
construction element, whereas a user is the
compound shape of which the entity forms a part.
When an object is detected by the mouse - in AIS,
this is done through a context selector - its owner
is passed to the filter as an argument.
If the object returns Standard_True, it is kept; if
not, it is rejected.
If you are creating a filter class inheriting this
framework, and the daughter class is to be used in
an AIS local context, you will need to implement the
virtual function ActsOn.
.

Standard_EXPORT Standard_Boolean | Add (const AIS_KindOfInteractive TypeToExclude)
| Adds the type TypeToExclude to the list of types. .
Standard_EXPORT Standard_Boolean | Add (const AIS_KindOfInteractive TypeToExclude, const Standard_Integer SignatureInType)
Standard_EXPORT Standard_Boolean | Remove (const AIS_KindOfInteractive TypeToExclude)
Standard_EXPORT Standard_Boolean | Remove (const AIS_KindOfInteractive TypeToExclude, const Standard_Integer SignatureInType)
Standard_EXPORT void | Clear ()
Standard_Boolean | IsExclusionFlagOn () const
void | SetExclusionFlag (const Standard_Boolean Status)
Standard_EXPORT Standard_Boolean | IsStored (const AIS_KindOfInteractive aType) const
Standard_EXPORT void | ListOfStoredTypes (TColStd_ListOfInteger &TheList) const
Standard_EXPORT void | ListOfSignature (const AIS_KindOfInteractive aType, TColStd_ListOfInteger &TheStoredList) const
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Member Functions

Standard_EXPORT Standard_Boolean | IsSignatureIn (const AIS_KindOfInteractive aType, const Standard_Integer aSignature) const

## Private Attributes

Standard_Boolean | myIsExclusionFlagOn
TColStd_DataMapOfIntegerListOfInteger | myStoredTypes

## Constructor & Destructor Documentation

Standard_EXPORT AIS_ExclusionFilter::AIS_ExclusionFilter | ( | const Standard_Boolean | ExclusionFlagOn = `Standard_True` | ) |

Standard_EXPORT AIS_ExclusionFilter::AIS_ExclusionFilter | ( | const AIS_KindOfInteractive | TypeToExclude,
|  | const Standard_Boolean | ExclusionFlagOn = `Standard_True`
| ) |

Standard_EXPORT AIS_ExclusionFilter::AIS_ExclusionFilter | ( | const AIS_KindOfInteractive | TypeToExclude,
|  | const Standard_Integer | SignatureInType,
|  | const Standard_Boolean | ExclusionFlagOn = `Standard_True`
| ) |

## Member Function Documentation

Standard_EXPORT Standard_Boolean AIS_ExclusionFilter::Add | ( | const AIS_KindOfInteractive | TypeToExclude,
|  | const Standard_Integer | SignatureInType
| ) |

Standard_EXPORT Standard_Boolean AIS_ExclusionFilter::Add | ( | const AIS_KindOfInteractive | TypeToExclude | ) |

Standard_EXPORT void AIS_ExclusionFilter::Clear | ( |  | ) |

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

| Reimplemented from SelectMgr_Filter.

Standard_Boolean AIS_ExclusionFilter::IsExclusionFlagOn | ( |  | ) | const`[inline]`

virtual Standard_EXPORT Standard_Boolean AIS_ExclusionFilter::IsOk | ( | const Handle(SelectMgr_EntityOwner)& | anObj | ) | const`[virtual]`

| Implements SelectMgr_Filter.

Standard_EXPORT Standard_Boolean AIS_ExclusionFilter::IsSignatureIn | ( | const AIS_KindOfInteractive | aType,
|  | const Standard_Integer | aSignature
| ) | const`[private]`

Standard_EXPORT Standard_Boolean AIS_ExclusionFilter::IsStored | ( | const AIS_KindOfInteractive | aType | ) | const

Standard_EXPORT void AIS_ExclusionFilter::ListOfSignature | ( | const AIS_KindOfInteractive | aType,
|  | TColStd_ListOfInteger & | TheStoredList
| ) | const

Standard_EXPORT void AIS_ExclusionFilter::ListOfStoredTypes | ( | TColStd_ListOfInteger & | TheList | ) | const

Standard_EXPORT Standard_Boolean AIS_ExclusionFilter::Remove | ( | const AIS_KindOfInteractive | TypeToExclude,
|  | const Standard_Integer | SignatureInType
| ) |

Standard_EXPORT Standard_Boolean AIS_ExclusionFilter::Remove | ( | const AIS_KindOfInteractive | TypeToExclude | ) |

void AIS_ExclusionFilter::SetExclusionFlag | ( | const Standard_Boolean | Status | ) | `[inline]`

## Field Documentation

Standard_Boolean AIS_ExclusionFilter::myIsExclusionFlagOn `[private]`

TColStd_DataMapOfIntegerListOfInteger AIS_ExclusionFilter::myStoredTypes `[private]`

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

- AIS_ExclusionFilter.hxx
- AIS_ExclusionFilter.lxx