CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
IfcCompound.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, 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-2024 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#ifndef _IFC_COMPOUND_H_
25#define _IFC_COMPOUND_H_
26
27#include "IfcBuildOptions.h"
28#include "IfcEntityTypes.h"
29#include "IfcFile.h"
30#include "IfcEntity.h"
31#include "daiCompound.h"
32
36namespace OdIfc {
37
41class IFCCORE_EXPORT OdIfcCompound : public OdDAI::OdCompound
42{
43//DOM-IGNORE-BEGIN
45
46protected:
47
49//DOM-IGNORE-END
50
51public:
52
56 void compose() override;
57
63
72 OdRxValue getAttr(const OdIfcAttribute attrDef) const { return m_pEntInst->getAttr(attrDef); }
73
82 virtual OdRxValue getAttr(const OdAnsiString &attrName) const { return m_pEntInst->getAttr(attrName); }
83
89
95 bool isKindOf(OdIfcEntityType type) const { return m_pEntInst->isKindOf(type); };
96
102 bool isInstanceOf(OdIfcEntityType entityType) const { return m_pEntInst->isInstanceOf(entityType); };
103
108 const OdAnsiString& typeName() { return m_pEntInst->typeName(); };
109
115 static const OdIfcInstance* earlyAccess(const OdIfcCompound* compound) { return compound->m_pEntInst; };
116
122
127 OdStepFile* owningStepFile() const override;
128
129 //
130 // OdGiDrawable void implementation
131 //
132
139 virtual bool isPersistent() const { return id() != NULL; };
140
147 virtual OdDbStub* id() const { return m_pEntInst->m_id; };
148
155 virtual OdDbStub* ownerId() const;
156
160 virtual void xmitPropagateModify();
161
162//DOM-IGNORE-BEGIN
163private:
164
165 void setInst(OdIfcInstance *pInst) { m_pEntInst = pInst; }
166
167 friend class ::OdIfcEntResolver;
168//DOM-IGNORE-END
169};
170
175
176}
177
178#endif // _IFC_COMPOUND_H_
#define IFCCORE_EXPORT
OdDAI::Model OdIfcModel
Definition IfcModel.h:32
#define ODRX_DECLARE_MEMBERS(ClassName)
Definition RxObject.h:112
OdIfcFile * owningIfcFile() const
OdStepFile * owningStepFile() const override
void compose() override
OdIfcInstance * m_pEntInst
Definition IfcCompound.h:48
OdIfcEntityType type()
virtual void xmitPropagateModify()
const OdAnsiString & typeName()
OdRxValue getAttr(const OdIfcAttribute attrDef) const
Definition IfcCompound.h:72
virtual OdRxValue getAttr(const OdAnsiString &attrName) const
Definition IfcCompound.h:82
static const OdIfcInstance * earlyAccess(const OdIfcCompound *compound)
virtual OdDbStub * id() const
virtual OdDbStub * ownerId() const
bool isKindOf(OdIfcEntityType type) const
Definition IfcCompound.h:95
OdIfcModel * owningModel() const
virtual bool isPersistent() const
bool isInstanceOf(OdIfcEntityType entityType) const
OdSmartPtr< OdIfcCompound > OdIfcCompoundPtr