CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
MvdXmlEntityRule.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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-2022 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#if !defined(ODA_ODMVDXMLENTITYRULE_H_INCLUDED_)
25#define ODA_ODMVDXMLENTITYRULE_H_INCLUDED_
26
27#if _MSC_VER > 1000
28#pragma once
29#endif // _MSC_VER > 1000
30
31#include "IfcEntity.h"
32#include "MvdXmlRule.h"
33#include "MvdXmlTemplateRef.h"
34
35namespace OdMvdXml
36{
37 SMARTPTR(OdMvdXmlEntityRule);
38 SMARTPTR(OdMvdXmlAttributeRule);
39 SMARTPTR(OdMvdXmlConceptTemplate);
40
42 {
44
45 public:
46 const OdAnsiString& getEntityName() const { return m_entityName; };
47 void setEntityName(const OdAnsiString &value) { m_entityName = value; };
48 const OdAnsiString& getRuleID() const { return m_ruleID; };
49 void setRuleID(const OdAnsiString &value) { m_ruleID = value; };
50 const OdString& getDescription() const { return m_description; };
51 void setDescription(const OdString &value) { m_description = value; };
52 const OdMvdXmlTemplateRefPtr getTemplateRef() { return m_pTemplateRef; };
53 void setTemplateRef(OdMvdXmlTemplateRefPtr value) { m_pTemplateRef = value; };
54 const OdMvdXmlAttributeRulePtrArray& getEntityRules() const { return m_rules; };
55
58 OdMvdXmlRule* getRuleByID(const char* ruleId);
59 OdResult execute(const OdMvdXmlConceptTemplate* pTemplate, bool& result) const;
60
67
68 protected:
74 void assign(const OdMvdXmlEntityRule* other);
75
81 virtual OdAnsiString getElementName();
82
90 virtual OdResult inAttributes(TiXmlElement* pItem) override;
91
100 virtual OdResult inChildNode(const char *nodeName, TiXmlElement* pChild) override;
101
109 virtual OdResult outAttributes(TiXmlElement* pItem) override;
110
118 virtual OdResult outChildNodes(TiXmlNode* pParent) override;
119
133 virtual OdResult doCheckInstance(const OdDAI::ApplicationInstance* pInstance, bool& result) override;
134
138 virtual void doCleanInstance() override;
139
140 private:
146 OdAnsiString m_entityName;
152 OdMvdXmlTemplateRefPtr m_pTemplateRef;
157 OdMvdXmlAttributeRulePtrArray m_rules;
158 };
159}
160
161#endif // !defined(ODA_ODMVDXMLENTITYRULE_H_INCLUDED_)
162
#define SMARTPTR(classname)
Definition: IfcCommon.h:33
OdResult
Definition: OdResult.h:29
#define ODRX_DECLARE_MEMBERS(ClassName)
Definition: RxObject.h:112
virtual OdResult outChildNodes(TiXmlNode *pParent) override
const OdMvdXmlTemplateRefPtr getTemplateRef()
OdMvdXmlRule * getRuleByID(const char *ruleId)
void setEntityName(const OdAnsiString &value)
virtual OdResult inChildNode(const char *nodeName, TiXmlElement *pChild) override
virtual OdAnsiString getElementName()
virtual OdResult inAttributes(TiXmlElement *pItem) override
const OdString & getDescription() const
virtual OdResult doCheckInstance(const OdDAI::ApplicationInstance *pInstance, bool &result) override
const OdAnsiString & getRuleID() const
virtual OdResult outAttributes(TiXmlElement *pItem) override
const OdMvdXmlAttributeRulePtrArray & getEntityRules() const
OdMvdXmlEntityRule & operator=(const OdMvdXmlEntityRule &other)
void setTemplateRef(OdMvdXmlTemplateRefPtr value)
void assign(const OdMvdXmlEntityRule *other)
OdResult execute(const OdMvdXmlConceptTemplate *pTemplate, bool &result) const
OdMvdXmlAttributeRule * getAttributeRuleByID(const char *ruleId)
void setDescription(const OdString &value)
OdMvdXmlEntityRule * getEntityRuleByID(const char *ruleId)
virtual void doCleanInstance() override
const OdAnsiString & getEntityName() const
void setRuleID(const OdAnsiString &value)
GLsizei const GLfloat * value
Definition: gles2_ext.h:302
#define MVDXML_EXPORT