Exemple #1
0
        public void Process(Assembly assembly, Model.Model model)
        {
            assembly.ExportedTypes.Where(t => t.GetTypeInfo().IsClass&& !t.GetTypeInfo().IsAbstract).ForEach(t =>
            {
                var element = new Element(TypeLabeler(t));
                model.Add(element);

                foreach (var p in _classProcessors)
                {
                    p(t, element);
                }

                foreach (var property in t.GetRuntimeProperties())
                {
                    var type = property.PropertyType;
                    var name = property.Name;
                    var r    = new Relationship
                    {
                        SourceName = t.FullName,
                        Label      = name,
                        TargetName = type.FullName
                    };
                    model.Add(r);

                    foreach (var pa in _propertyProcessors)
                    {
                        pa(property, r);
                    }
                }
            });

            model.ResolveNodes();
        }
Exemple #2
0
        public void SerializeModelDocumentAndDeserialize()
        {
            FilePath path = "C:/TEMP/SerializeModelDocumentAndDeserializeTest.test";

            var model = new Model.Model();

            model.Add(new LinearElement(0, 0, 0, 10, 0, 0));
            var doc = new ModelDocument(model);

            doc.SaveAs(path);

            var doc2 = ModelDocument.Load(path);

            Assert.AreEqual(1, doc2.Model.Elements.Count);
        }
Exemple #3
0
        private void PerformCurrentOperation()
        {
            switch (state.CurrentOperation)
            {
            case Operation.Add:
                model.Add();
                break;

            case Operation.Sub:
                model.Subtract();
                break;

            case Operation.Mult:
                model.Multiply();
                break;

            case Operation.Div:
                model.Divide();
                break;
            }
        }