internal object FriendGetMinMaxCoords()
        {
            object           dvarItems     = RuntimeHelpers.GetObjectValue(hwpDxf_Functions.BkDXF_ValueCollectionToArray(mobjDictEntities.Values));
            int              num           = Information.LBound((Array)dvarItems);
            int              num2          = Information.UBound((Array)dvarItems);
            bool             dblnFirst     = default(bool);
            object           dvarMaxCoordX = default(object);
            object           dvarMaxCoordY = default(object);
            object           dvarMinCoordX = default(object);
            object           dvarMinCoordY = default(object);
            AcadPolyfaceMesh dobjObject    = default(AcadPolyfaceMesh);

            for (int dlngIdx = num; dlngIdx <= num2; dlngIdx = checked (dlngIdx + 1))
            {
                double ddblCurObjectID = Conversions.ToDouble(NewLateBinding.LateIndexGet(dvarItems, new object[1]
                {
                    dlngIdx
                }, null));
                AcadDatabase database       = Database;
                AcadObject   robjAcadObject = dobjObject;
                string       nrstrErrMsg    = "";
                database.FriendObjectIdToObject(ddblCurObjectID, ref robjAcadObject, ref nrstrErrMsg);
                dobjObject = (AcadPolyfaceMesh)robjAcadObject;
                object dvarMinMaxCoords = RuntimeHelpers.GetObjectValue(dobjObject.MinMaxCoords);
                if (dvarMinMaxCoords == null)
                {
                    continue;
                }
                if (!dblnFirst)
                {
                    dvarMaxCoordX = RuntimeHelpers.GetObjectValue(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                    {
                        0
                    }, null));
                    dvarMaxCoordY = RuntimeHelpers.GetObjectValue(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                    {
                        1
                    }, null));
                    dvarMinCoordX = RuntimeHelpers.GetObjectValue(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                    {
                        2
                    }, null));
                    dvarMinCoordY = RuntimeHelpers.GetObjectValue(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                    {
                        3
                    }, null));
                    dblnFirst = true;
                    continue;
                }
                if (Operators.ConditionalCompareObjectGreater(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                {
                    0
                }, null), dvarMaxCoordX, TextCompare: false))
                {
                    dvarMaxCoordX = RuntimeHelpers.GetObjectValue(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                    {
                        0
                    }, null));
                }
                if (Operators.ConditionalCompareObjectGreater(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                {
                    1
                }, null), dvarMaxCoordY, TextCompare: false))
                {
                    dvarMaxCoordY = RuntimeHelpers.GetObjectValue(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                    {
                        1
                    }, null));
                }
                if (Operators.ConditionalCompareObjectLess(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                {
                    2
                }, null), dvarMinCoordX, TextCompare: false))
                {
                    dvarMinCoordX = RuntimeHelpers.GetObjectValue(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                    {
                        2
                    }, null));
                }
                if (Operators.ConditionalCompareObjectLess(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                {
                    3
                }, null), dvarMinCoordY, TextCompare: false))
                {
                    dvarMinCoordY = RuntimeHelpers.GetObjectValue(NewLateBinding.LateIndexGet(dvarMinMaxCoords, new object[1]
                    {
                        3
                    }, null));
                }
            }
            object FriendGetMinMaxCoords = (!dblnFirst) ? null : new object[4]
            {
                dvarMaxCoordX,
                dvarMaxCoordY,
                dvarMinCoordX,
                dvarMinCoordY
            };

            dobjObject = null;
            return(FriendGetMinMaxCoords);
        }
        public AcadPolyfaceMesh Item(object vvarValue)
        {
            if (mobjDictEntities.Count > 0)
            {
                AcadDatabase dobjAcadDatabase = hwpDxf_Vars.pobjAcadDatabases.FriendGetItem(mlngDatabaseIndex);
                if (dobjAcadDatabase != null)
                {
                    AcadPolyfaceMesh dobjAcadPolyfaceMesh4 = default(AcadPolyfaceMesh);
                    switch (Information.VarType(RuntimeHelpers.GetObjectValue(vvarValue)))
                    {
                    case VariantType.Double:
                    {
                        double ddblObjectID2 = Conversions.ToDouble(vvarValue);
                        if (mobjDictEntities.ContainsKey("K" + Conversions.ToString(ddblObjectID2)))
                        {
                            double     ddblCurObjectID2 = Conversions.ToDouble(mobjDictEntities["K" + Conversions.ToString(ddblObjectID2)]);
                            double     vdblObjectID3    = ddblCurObjectID2;
                            AcadObject robjAcadObject   = dobjAcadPolyfaceMesh4;
                            string     nrstrErrMsg      = "";
                            bool       flag             = dobjAcadDatabase.FriendObjectIdToObject(vdblObjectID3, ref robjAcadObject, ref nrstrErrMsg);
                            dobjAcadPolyfaceMesh4 = (AcadPolyfaceMesh)robjAcadObject;
                            if (flag)
                            {
                                return(dobjAcadPolyfaceMesh4);
                            }
                        }
                        break;
                    }

                    case VariantType.String:
                    {
                        string vstrHexNum  = Conversions.ToString(vvarValue);
                        int    nrlngErrNum = 0;
                        string nrstrErrMsg = "";
                        if (!hwpDxf_Functions.BkDXF_ValidHexNum(vstrHexNum, ref nrlngErrNum, ref nrstrErrMsg))
                        {
                            break;
                        }
                        double ddblObjectID2 = hwpDxf_Functions.BkDXF_HexToDbl(Conversions.ToString(vvarValue));
                        if (mobjDictEntities.ContainsKey("K" + Conversions.ToString(ddblObjectID2)))
                        {
                            double     ddblCurObjectID2 = Conversions.ToDouble(mobjDictEntities["K" + Conversions.ToString(ddblObjectID2)]);
                            double     vdblObjectID2    = ddblCurObjectID2;
                            AcadObject robjAcadObject   = dobjAcadPolyfaceMesh4;
                            nrstrErrMsg = "";
                            bool flag = dobjAcadDatabase.FriendObjectIdToObject(vdblObjectID2, ref robjAcadObject, ref nrstrErrMsg);
                            dobjAcadPolyfaceMesh4 = (AcadPolyfaceMesh)robjAcadObject;
                            if (flag)
                            {
                                return(dobjAcadPolyfaceMesh4);
                            }
                        }
                        break;
                    }

                    case VariantType.Short:
                    case VariantType.Integer:
                    {
                        int dlngIndex = Conversions.ToInteger(vvarValue);
                        if ((dlngIndex >= 0) & (dlngIndex < mobjDictEntities.Count))
                        {
                            object dvarObjectIDs = RuntimeHelpers.GetObjectValue(hwpDxf_Functions.BkDXF_ValueCollectionToArray(mobjDictEntities.Values));
                            double vdblObjectID  = Conversions.ToDouble(NewLateBinding.LateIndexGet(dvarObjectIDs, new object[1]
                                {
                                    dlngIndex
                                }, null));
                            AcadObject robjAcadObject = dobjAcadPolyfaceMesh4;
                            string     nrstrErrMsg    = "";
                            bool       flag           = dobjAcadDatabase.FriendObjectIdToObject(vdblObjectID, ref robjAcadObject, ref nrstrErrMsg);
                            dobjAcadPolyfaceMesh4 = (AcadPolyfaceMesh)robjAcadObject;
                            if (flag)
                            {
                                return(dobjAcadPolyfaceMesh4);
                            }
                        }
                        break;
                    }
                    }
                }
            }
            AcadPolyfaceMesh Item = default(AcadPolyfaceMesh);

            return(Item);
        }
Пример #3
0
 public void Init(ref AcadDatabase robjAcadDatabase, ref Dictionary <object, object> robjDictReadCodes, ref Dictionary <object, object> robjDictReadValues)
 {
     mobjAcadDatabase   = robjAcadDatabase;
     mobjDictReadCodes  = robjDictReadCodes;
     mobjDictReadValues = robjDictReadValues;
 }