Inheritance: Identity
コード例 #1
0
ファイル: Program.cs プロジェクト: BuildingSMART/IfcDoc
        /// <summary>
        /// Helper function to populate attributes
        /// </summary>
        /// <param name="mvd"></param>
        /// <param name="doc"></param>
        private static void ImportMvdObject(Element mvd, DocObject doc)
        {
            doc.Name = mvd.Name;
            doc.Uuid = mvd.Uuid;
            doc.Version = mvd.Version;
            doc.Owner = mvd.Owner;
            doc.Status = mvd.Status;
            doc.Copyright = mvd.Copyright;
            doc.Code = mvd.Code;
            doc.Author = mvd.Author;

            if (mvd.Definitions != null)
            {
                foreach (Definition def in mvd.Definitions)
                {
                    if (def != null)
                    {
                        // base definition
                        if (def.Body != null)
                        {
                            doc.Documentation = def.Body.Content;
                        }

                        if (def.Links != null)
                        {
                            foreach (Link link in def.Links)
                            {
                                DocLocalization loc = new DocLocalization();
                                doc.Localization.Add(loc);
                                loc.Name = link.Title;
                                loc.Documentation = link.Content;
                                loc.Category = (DocCategoryEnum)Enum.Parse(typeof(DocCategoryEnum), link.Category.ToString());
                                loc.Locale = link.Lang;
                                loc.URL = link.Href;
                            }
                        }
                    }
                }
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: BuildingSMART/IfcDoc
        /// <summary>
        /// Helper function to populate attributes
        /// </summary>
        /// <param name="mvd"></param>
        /// <param name="doc"></param>
        private static void ExportMvdObject(Element mvd, DocObject doc, bool documentation)
        {
            mvd.Name = EnsureValidString(doc.Name);
            mvd.Uuid = doc.Uuid;
            mvd.Version = EnsureValidString(doc.Version);
            mvd.Owner = EnsureValidString(doc.Owner);
            mvd.Status = EnsureValidString(doc.Status);
            mvd.Copyright = EnsureValidString(doc.Copyright);
            mvd.Code = EnsureValidString(doc.Code);
            mvd.Author = EnsureValidString(doc.Author);

            #if false // why?
            if(mvd.Name == null)
            {
                mvd.Name = String.Empty;
            }
            #endif

            if (documentation && doc.Documentation != null)
            {
                Definition mvdDef = new Definition();
                mvdDef.Body = new Body();
                mvdDef.Body.Content = doc.Documentation;

                mvd.Definitions = new List<Definition>();
                mvd.Definitions.Add(mvdDef);

                if (doc.Localization != null && doc.Localization.Count > 0)
                {
                    mvdDef.Links = new List<Link>();
                    foreach (DocLocalization docLocal in doc.Localization)
                    {
                        Link mvdLink = new Link();
                        mvdDef.Links.Add(mvdLink);
                        mvdLink.Title = docLocal.Name;
                        mvdLink.Content = docLocal.Documentation;
                        mvdLink.Lang = docLocal.Locale;
                        mvdLink.Href = docLocal.URL;
                        mvdLink.Category = (CategoryEnum)(int)docLocal.Category;
                    }
                }
            }
        }