0027961: Visualization - remove unused and no more working OpenGl_AVIWriter
[occt.git] / src / SelectMgr / SelectMgr_SensitiveEntity.hxx
CommitLineData
f751596e 1// Created on: 2014-08-15
2// Created by: Varvara POSKONINA
3// Copyright (c) 2005-2014 OPEN CASCADE SAS
4//
5// This file is part of Open CASCADE Technology software library.
6//
7// This library is free software; you can redistribute it and/or modify it under
8// the terms of the GNU Lesser General Public License version 2.1 as published
9// by the Free Software Foundation, with special exception defined in the file
10// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11// distribution for complete text of the license and disclaimer of any warranty.
12//
13// Alternatively, this file may be used under the terms of Open CASCADE
14// commercial license or contractual agreement.
15
16#ifndef _SelectMgr_SensitiveEntity_HeaderFile
17#define _SelectMgr_SensitiveEntity_HeaderFile
18
19#include <SelectBasics_SensitiveEntity.hxx>
7ab15952 20#include <Standard.hxx>
ec357c5c 21#include <Standard_Type.hxx>
f751596e 22
23//! The purpose of this class is to mark sensitive entities selectable or not
24//! depending on current active selection of parent object for proper BVH traverse
7ab15952 25class SelectMgr_SensitiveEntity : public Standard_Transient
f751596e 26{
27public:
28
29 //! Creates new inactive for selection object with base entity theEntity
1f3913c6 30 Standard_EXPORT SelectMgr_SensitiveEntity (const Handle(SelectBasics_SensitiveEntity)& theEntity);
f751596e 31
32 ~SelectMgr_SensitiveEntity() {}
33
34 //! Clears up all resources and memory
1f3913c6 35 Standard_EXPORT void Clear();
f751596e 36
37 //! Returns related instance of SelectBasics class
38 Standard_EXPORT const Handle(SelectBasics_SensitiveEntity)& BaseSensitive() const;
39
40 //! Returns true if this entity belongs to the active selection
41 //! mode of parent object
1f3913c6 42 Standard_EXPORT Standard_Boolean IsActiveForSelection() const;
f751596e 43
44 //! Marks entity as inactive for selection
45 Standard_EXPORT void ResetSelectionActiveStatus() const;
46
47 //! Marks entity as active for selection
48 Standard_EXPORT void SetActiveForSelection() const;
49
92efcf78 50 DEFINE_STANDARD_RTTIEXT(SelectMgr_SensitiveEntity,Standard_Transient) // Type definition
7ab15952 51
f751596e 52private:
53
54 Handle(SelectBasics_SensitiveEntity) mySensitive; //!< Related SelectBasics entity
7ab15952 55 mutable Standard_Boolean myIsActiveForSelection; //!< Selection activity status
f751596e 56};
57
7ab15952 58DEFINE_STANDARD_HANDLE(SelectMgr_SensitiveEntity, Standard_Transient)
59
f751596e 60#endif // _SelectMgr_SensitiveEntity_HeaderFile