CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
MvdXmlConceptTemplate.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_ODMVDXMLCONCEPTTEMPLATE_H_INCLUDED_)
25#define ODA_ODMVDXMLCONCEPTTEMPLATE_H_INCLUDED_
26
27#if _MSC_VER > 1000
28#pragma once
29#endif // _MSC_VER > 1000
30
31#include "StringArray.h"
32#include "IfcEntity.h"
33#include "MvdXmlRule.h"
34#include "MvdXmlIdentity.h"
35
36namespace OdMvdXml
37{
38 SMARTPTR(OdMvdXmlConceptTemplate);
39 SMARTPTR(OdMvdXmlAttributeRule);
40 SMARTPTR(OdMvdXmlEntityRule);
41
43 {
45
46 public:
48
49 const OdAnsiString& getApplicableSchema() const { return m_applicableSchema; };
50 void setApplicableSchema(const OdAnsiString &value) { m_applicableSchema = value; };
51 OdAnsiString& getApplicableEntity() { return m_applicableEntities; };
52 void setApplicableEntity(const OdAnsiString& value) { m_applicableEntities = value; };
53 const bool getIsPartial() const { return m_isPartial; };
54 void setIsPartial(const bool value) { m_isPartial = value; };
55
56 const OdMvdXmlAttributeRulePtrArray& getRules() const { return m_rules; };
57 const OdMvdXmlConceptTemplatePtrArray& getSubTemplates() const { return m_subTemplates; };
58
61 OdMvdXmlRule* getRuleByID(const char* ruleId);
62
76 OdResult checkInstance(const OdDAI::ApplicationInstance* pInstance, bool& result) const;
77
82
89
90 protected:
96 void assign(const OdMvdXmlConceptTemplate* other);
97
103 virtual OdAnsiString getElementName();
104
112 virtual OdResult inAttributes(TiXmlElement* pItem) override;
113
122 virtual OdResult inChildNode(const char *nodeName, TiXmlElement* pChild) override;
123
131 virtual OdResult outAttributes(TiXmlElement* pItem) override;
132
140 virtual OdResult outChildNodes(TiXmlNode* pParent) override;
141
142 private:
143 // TODO: In future change to OdStringArray
153 OdAnsiString m_applicableSchema;
154
165 OdAnsiString m_applicableEntities;
166
171 bool m_isPartial;
172
179 OdMvdXmlConceptTemplatePtrArray m_subTemplates;
180
187 OdMvdXmlAttributeRulePtrArray m_rules;
188 };
189}
190
191#endif // !defined(ODA_ODMVDXMLCONCEPTTEMPLATE_H_INCLUDED_)
192
#define SMARTPTR(classname)
Definition: IfcCommon.h:33
OdResult
Definition: OdResult.h:29
#define ODRX_DECLARE_MEMBERS(ClassName)
Definition: RxObject.h:112
void setApplicableSchema(const OdAnsiString &value)
OdMvdXmlEntityRule * getEntityRuleByID(const char *ruleId)
virtual OdAnsiString getElementName()
const OdMvdXmlConceptTemplatePtrArray & getSubTemplates() const
virtual OdResult inAttributes(TiXmlElement *pItem) override
const OdAnsiString & getApplicableSchema() const
void assign(const OdMvdXmlConceptTemplate *other)
virtual OdResult outChildNodes(TiXmlNode *pParent) override
virtual OdResult outAttributes(TiXmlElement *pItem) override
const OdMvdXmlAttributeRulePtrArray & getRules() const
virtual OdResult inChildNode(const char *nodeName, TiXmlElement *pChild) override
OdMvdXmlRule * getRuleByID(const char *ruleId)
OdMvdXmlAttributeRule * getAttributeRuleByID(const char *ruleId)
OdMvdXmlConceptTemplate & operator=(const OdMvdXmlConceptTemplate &other)
void setApplicableEntity(const OdAnsiString &value)
OdResult checkInstance(const OdDAI::ApplicationInstance *pInstance, bool &result) const
GLsizei const GLfloat * value
Definition: gles2_ext.h:302
#define MVDXML_EXPORT