IfcDoc.Program.ImportMvdTemplate C# (CSharp) Method

ImportMvdTemplate() private static method

private static ImportMvdTemplate ( ConceptTemplate mvdTemplate, DocTemplateDefinition docDef, DocModelRuleEntity>.Dictionary fixups ) : void
mvdTemplate IfcDoc.Schema.MVD.ConceptTemplate
docDef DocTemplateDefinition
fixups DocModelRuleEntity>.Dictionary
return void
        private static void ImportMvdTemplate(ConceptTemplate mvdTemplate, DocTemplateDefinition docDef, Dictionary<EntityRule, DocModelRuleEntity> fixups)
        {
            ImportMvdObject(mvdTemplate, docDef);
            docDef.Type = mvdTemplate.ApplicableEntity;

            docDef.Rules.Clear();
            if (mvdTemplate.Rules != null)
            {
                foreach (AttributeRule mvdRule in mvdTemplate.Rules)
                {
                    DocModelRule docRule = ImportMvdRule(mvdRule, fixups);
                    docDef.Rules.Add(docRule);
                }
            }

            // recurse through subtemplates
            if (mvdTemplate.SubTemplates != null)
            {
                foreach (ConceptTemplate mvdSub in mvdTemplate.SubTemplates)
                {
                    DocTemplateDefinition docSub = docDef.GetTemplate(mvdSub.Uuid);
                    if (docSub == null)
                    {
                        docSub = new DocTemplateDefinition();
                        docDef.Templates.Add(docSub);
                    }
                    ImportMvdTemplate(mvdSub, docSub, fixups);
                }
            }
        }