0022048: Visualization, AIS_InteractiveContext - single object selection should alway...
[occt.git] / src / TDF / TDF_Attribute.lxx
1 // Created by: DAUTRY Philippe
2 // Copyright (c) 1997-1999 Matra Datavision
3 // Copyright (c) 1999-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 //              -----------------
17
18 // Version:     0.0
19 //Version       Date            Purpose
20 //              0.0     Feb 14 1997     Creation
21
22 enum {
23   TDF_AttributeValidMsk     = 1,
24   TDF_AttributeBackupMsk    = 2,
25   TDF_AttributeForgottenMsk = 4
26 };
27
28 inline Standard_Integer TDF_Attribute::Transaction() const
29 { return myTransaction; }
30
31 // Validation
32 inline void TDF_Attribute::Validate(const Standard_Boolean aStatus)
33 { myFlags = (aStatus) ?
34     (myFlags | TDF_AttributeValidMsk) : (myFlags & ~TDF_AttributeValidMsk); }
35
36 inline Standard_Boolean TDF_Attribute::IsValid() const
37 { return (myFlags & TDF_AttributeValidMsk) != 0 ; }
38
39 // Backup
40 inline void TDF_Attribute::Backup(const Standard_Boolean aStatus)
41 {
42   myFlags = (aStatus) ?
43     (myFlags | TDF_AttributeBackupMsk) : (myFlags & ~ TDF_AttributeBackupMsk);
44   Validate(!aStatus);
45 }
46
47 inline Standard_Boolean TDF_Attribute::IsBackuped() const
48 { return (myFlags & TDF_AttributeBackupMsk) != 0; }
49
50 // IsNew
51 inline Standard_Boolean TDF_Attribute::IsNew() const
52 { return IsValid () && myBackup.IsNull(); }
53
54 // IsForgotten
55 inline Standard_Boolean TDF_Attribute::IsForgotten() const
56 { return (myFlags & TDF_AttributeForgottenMsk) != 0; }
57
58 // operator <<
59 inline Standard_OStream& operator << (Standard_OStream& anOS,
60                                       const Handle(TDF_Attribute)& anAtt)
61 { return anAtt->Dump(anOS); }
62
63 //=======================================================================
64 inline void TDF_Attribute::SetID(const Standard_GUID& )
65 {}
66
67 //=======================================================================
68 inline void TDF_Attribute::SetID()
69 {}