public void Add(Settings.MSExcel.COMMAND_ENTITY command, EntityCtor.ProxyEntity pEntity, string name) { int indx = -1; indx = GetCount(command); m_dictEntityCtor.Add(new KEY_ENTITY(/*blockName, */ command, indx + 1, name), pEntity); }
/// <summary> /// Создать новый примитив - конус по значениям параметров из строки таблицы /// </summary> /// <param name="rEntity">Строка таблицы со значениями параметров примитива</param> /// <param name="format">Формат файла конфигурации из которого была импортирована таблица</param> /// <param name="blockName">Наимнование блока (только при формате 'HEAP')</param> /// <returns>Объект примитива - конус</returns> public static EntityCtor.ProxyEntity newCone(Settings.EntityParser.ProxyEntity entity /*, string blockName*/) { EntityCtor.ProxyEntity pEntityRes; double height = -1F , rAlongX = -1F, rAlongY = -1 , rTop = -1; double[] ptDisplacement = new double[3]; MSExcel.MAP_KEY_ENTITY mapKeyEntity = MSExcel.s_MappingKeyEntity.Find(item => { return(item.m_command.Equals(entity.m_command) == true); }); ConstructorInfo coneCtor = mapKeyEntity.m_type.GetConstructor(Type.EmptyTypes); MethodInfo methodCreate = mapKeyEntity.m_type.GetMethod(mapKeyEntity.m_nameCreateMethod); pEntityRes = new EntityCtor.ProxyEntity(); pEntityRes.m_entity = null; pEntityRes.m_ptDisplacement = Point3d.Origin; // значения для параметров примитива height = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_HEIGHT).ToString() , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); rAlongX = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_ARADIUS_X).ToString() , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); rAlongY = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_ARADIUS_Y).ToString() , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); rTop = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_RADIUS_TOP).ToString() , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); ptDisplacement[0] = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_PTDISPLACEMENT_X).ToString() , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); ptDisplacement[1] = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_PTDISPLACEMENT_Y).ToString() , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); ptDisplacement[2] = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_PTDISPLACEMENT_Z).ToString() , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture); //pEntityRes = new ProxyEntity (new Solid3d()); pEntityRes.m_entity = coneCtor.Invoke(new object[] { }) as Solid3d; //(pEntityRes.m_entity as Solid3d).CreateFrustum(height, rAlongX, rAlongY, rTop); methodCreate.Invoke(pEntityRes.m_entity, new object[] { height, rAlongX, rAlongY, rTop }); // CreateFrustum pEntityRes.SetPoint3dDisplacement(ptDisplacement); //pEntityRes.m_BlockName = blockName; return(pEntityRes); }
public void Add(Settings.MSExcel.COMMAND_ENTITY command, int indx, EntityCtor.ProxyEntity pEntity, string name) { m_dictEntityCtor.Add(new KEY_ENTITY(/*blockName, */ command, indx, name), pEntity); }
public void AddEntity(string blockName, Settings.MSExcel.COMMAND_ENTITY command, EntityCtor.ProxyEntity pEntity, string name) { if (this.ContainsKey(blockName) == false) { this.Add(blockName, new BLOCK()); } else { ; } this[blockName].Add(command, pEntity, name); }