// 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 _SelectMgr_Filter_HeaderFile #define _SelectMgr_Filter_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_SelectMgr_Filter_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_SelectMgr_EntityOwner_HeaderFile #include #endif #ifndef _TopAbs_ShapeEnum_HeaderFile #include #endif class SelectMgr_EntityOwner; //! The root class to define filter objects for selection.
//! Advance handling of objects requires the services of
//! filters. These only allow dynamic detection and
//! selection of objects which correspond to the criteria defined in each.
//! Eight standard filters inheriting SelectMgr_Filter are
//! defined in Open CASCADE.
//! You can create your own filters by defining new filter
//! classes inheriting this framework. You use these
//! filters by loading them into an AIS interactive context.
class SelectMgr_Filter : public MMgt_TShared { public: //! 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 virtual Standard_Boolean IsOk(const Handle(SelectMgr_EntityOwner)& anObj) const = 0; //! Returns true in an AIS local context, if this filter
//! operates on a type of subshape defined in a filter
//! class inheriting this framework.
//! This function completes IsOk in an AIS local context.
Standard_EXPORT virtual Standard_Boolean ActsOn(const TopAbs_ShapeEnum aStandardMode) const; DEFINE_STANDARD_RTTI(SelectMgr_Filter) protected: private: }; // other Inline functions and methods (like "C++: function call" methods) #endif