IfcDoc.Program.ExportMvdConceptRoot C# (CSharp) Method

ExportMvdConceptRoot() static private method

static private ExportMvdConceptRoot ( ConceptRoot mvdConceptRoot, DocConceptRoot docRoot, bool documentation ) : void
mvdConceptRoot IfcDoc.Schema.MVD.ConceptRoot
docRoot DocConceptRoot
documentation bool
return void
        internal static void ExportMvdConceptRoot(ConceptRoot mvdConceptRoot, DocConceptRoot docRoot, bool documentation)
        {
            ExportMvdObject(mvdConceptRoot, docRoot, documentation);

            if (String.IsNullOrEmpty(mvdConceptRoot.Name))
            {
                mvdConceptRoot.Name = docRoot.ApplicableEntity.Name;
            }

            mvdConceptRoot.ApplicableRootEntity = docRoot.ApplicableEntity.Name;
            if (docRoot.ApplicableTemplate != null)
            {
                mvdConceptRoot.Applicability = new ApplicabilityRules();
                mvdConceptRoot.Applicability.Template = new TemplateRef();
                mvdConceptRoot.Applicability.Template.Ref = docRoot.ApplicableTemplate.Uuid;
                mvdConceptRoot.Applicability.TemplateRules = new TemplateRules();

                mvdConceptRoot.Applicability.TemplateRules.Operator = (TemplateOperator)Enum.Parse(typeof(TemplateOperator), docRoot.ApplicableOperator.ToString());
                foreach (DocTemplateItem docItem in docRoot.ApplicableItems)
                {
                    TemplateRule rule = ExportMvdItem(docItem);
                    mvdConceptRoot.Applicability.TemplateRules.TemplateRule.Add(rule);
                }
            }

            foreach (DocTemplateUsage docTemplateUsage in docRoot.Concepts)
            {
                Concept mvdConceptLeaf = new Concept();
                mvdConceptRoot.Concepts.Add(mvdConceptLeaf);
                ExportMvdConcept(mvdConceptLeaf, docTemplateUsage, documentation);
            }
        }