/// <summary> /// Private constructor /// </summary> /// <param name="materials">Set of materials</param> /// <param name="properties">Set of properties</param> /// <param name="nodes">Set of nodes</param> /// <param name="elements">Set of elements</param> /// <param name="results">Set of results</param> private Model(MaterialSet materials, PropertySet properties, NodeSet nodes, ElementSet elements, ResultSet results) { // Initializing Materials = materials; Properties = properties; Nodes = nodes; Elements = elements; Results = results; // Updating UpdateElements(); UpdateNodes(); }
/// <summary> /// Build a set of specific materials by their IDs /// </summary> /// <param name="ids">Set of material IDs</param> /// <returns>Set of materials</returns> public MaterialSet BuildMaterials(IntSet ids) { var materials = new MaterialSet(); if (!IsValid()) { return(materials); } List <MaterialCreator> creators = new List <MaterialCreator>(); MaterialParams parameters; foreach (int id in ids) { var card = db.fillCard("Material", id); if (card != null && card[0] is string) { parameters.ID = id; parameters.TypeName = MaterialCreator.GetMaterialTypeNameBySubtype((string)card[0]); parameters.SubtypeName = (string)card[0]; parameters.Data = card; var creator = MaterialCreator.GetMaterialCreatorByParams(parameters); creators.Add(creator); } } foreach (var creator in creators) { var material = creator.BuildMaterial(); materials.Add(material); } return(materials); }
/// <summary> /// Method for creating a specific model according to data sets /// </summary> /// <param name="materials">Set of materials</param> /// <param name="properties">Set of properties</param> /// <param name="nodes">Set of nodes</param> /// <param name="elements">Set of elements</param> /// <param name="results">Set of results</param> /// <returns>Specific model</returns> public static Model CreateBySets(MaterialSet materials, PropertySet properties, NodeSet nodes, ElementSet elements, ResultSet results) { // Return new model return(new Model(materials, properties, nodes, elements, results)); }