Esempio n. 1
0
            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);
            }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
 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);
 }
Esempio n. 4
0
            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);
            }