CFx SDK Documentation  2020SP3
daiAttribute.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2019, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Open Design Alliance software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Open Design Alliance Copyright (C) 2002-2019 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #include "OdaCommon.h"
25 #include "daiModule.h"
26 #include "daiDictionaryInstance.h"
27 
28 #ifndef _DAI_ATTRIBUTE_H_
29 #define _DAI_ATTRIBUTE_H_
30 
34 namespace OdDAI {
35 
36  class Entity;
37 
41  class DAI_EXPORT Attribute : public DictionaryInstance
42  {
43  public:
44 
45  //DOM-IGNORE-BEGIN
46  ODRX_DECLARE_MEMBERS(DictionaryInstance);
47  //DOM-IGNORE-END
48 
55  static OdSmartPtr<Attribute> createObject(const char *name, bool optional = false);
56 
60  Attribute()
61  : m_optional(false)
62  , m_pParentEntity(NULL)
63  {};
64 
70  Attribute(OdAnsiString name, bool optional = false)
71  : m_name(name)
72  , m_optional(optional)
73  {};
74 
79  const Entity* entityDef() const { return m_pParentEntity; };
80 
85  const OdAnsiString& name() const { return m_name; };
86 
91  bool optional() const { return m_optional; };
92 
93 //DOM-IGNORE-BEGIN
94  private:
95 
96  Entity *m_pParentEntity;
97  OdAnsiString m_name;
98  bool m_optional;
99 
100  void setParentEntity(Entity *entityDef) { m_pParentEntity = entityDef; };
101  friend class Entity;
102 //DOM-IGNORE-END
103  };
104 
109 
113  typedef OdArray<AttributePtr> AttributeArr;
114 }
115 
116 #endif // _DAI_ATTRIBUTE_H_
NULL
#define NULL
Definition: GsProperties.h:177
name
GLuint const GLchar * name
Definition: gles2_ext.h:265
false
false
Definition: DimVarDefs.h:165
daiModule.h
OdArray
Definition: OdArray.h:591
OdDAI
Definition: daiAccessDefines.h:31
OdSmartPtr
Definition: SmartPtr.h:58
OdDAI::AttributePtr
OdSmartPtr< Attribute > AttributePtr
Definition: daiEntityInstance.h:40
daiDictionaryInstance.h
OdaCommon.h
DAI_EXPORT
#define DAI_EXPORT
Definition: daiBuildOptions.h:28
ODRX_DECLARE_MEMBERS
#define ODRX_DECLARE_MEMBERS(ClassName)
Definition: RxObject.h:112