コード例 #1
0
 public override string ToString()
 {
     return(IfcReal.AsPart21(_theValue));
     //string str = _theValue.ToString();
     //if (str.IndexOfAny(new[] {'.', 'E', 'e'}) == -1) str += ".";
     //return str;
 }
コード例 #2
0
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
            case 1:
            case 2:
            case 3:
                base.Parse(propIndex, value, nestedIndex);
                return;

            case 4:
                _position = (IfcCartesianPoint)(value.EntityVal);
                return;

            case 5:
                _radius = value.RealVal;
                return;

            case 6:
                _constantAttenuation = value.RealVal;
                return;

            case 7:
                _distanceAttenuation = value.RealVal;
                return;

            case 8:
                _quadricAttenuation = value.RealVal;
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
コード例 #3
0
        public override void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
            case 1:
            case 2:
            case 3:
                base.IfcParse(propIndex, value);
                break;

            case 4:
                _Position = (IfcCartesianPoint)value.EntityVal;
                break;

            case 5:
                _Radius = value.RealVal;
                break;

            case 6:
                _ConstantAttenuation = value.RealVal;
                break;

            case 7:
                _DistanceAttenuation = value.RealVal;
                break;

            case 8:
                _QuadricAttenuation = value.RealVal;
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
コード例 #4
0
 public IfcLightSourcePositional(IfcLabel?__Name, IfcColourRgb __LightColour, IfcNormalisedRatioMeasure?__AmbientIntensity, IfcNormalisedRatioMeasure?__Intensity, IfcCartesianPoint __Position, IfcPositiveLengthMeasure __Radius, IfcReal __ConstantAttenuation, IfcReal __DistanceAttenuation, IfcReal __QuadricAttenuation)
     : base(__Name, __LightColour, __AmbientIntensity, __Intensity)
 {
     this._Position            = __Position;
     this._Radius              = __Radius;
     this._ConstantAttenuation = __ConstantAttenuation;
     this._DistanceAttenuation = __DistanceAttenuation;
     this._QuadricAttenuation  = __QuadricAttenuation;
 }
コード例 #5
0
        /// <summary>
        /// set IfcValue to IfcText or IfcReal
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        private IfcValue SetValue(string value)
        {
            IfcValue ifcValue;
            double   test;

            if (double.TryParse(value, out test))
            {
                ifcValue = new IfcReal(test);
            }
            else
            {
                ifcValue = new IfcText(value);
            }
            return(ifcValue);
        }
コード例 #6
0
ファイル: IfcLightSourceSpot.cs プロジェクト: vdubya/IfcDoc
 public IfcLightSourceSpot(IfcLabel?__Name, IfcColourRgb __LightColour, IfcNormalisedRatioMeasure?__AmbientIntensity, IfcNormalisedRatioMeasure?__Intensity, IfcCartesianPoint __Position, IfcPositiveLengthMeasure __Radius, IfcReal __ConstantAttenuation, IfcReal __DistanceAttenuation, IfcReal __QuadricAttenuation, IfcDirection __Orientation, IfcReal?__ConcentrationExponent, IfcPositivePlaneAngleMeasure __SpreadAngle, IfcPositivePlaneAngleMeasure __BeamWidthAngle)
     : base(__Name, __LightColour, __AmbientIntensity, __Intensity, __Position, __Radius, __ConstantAttenuation, __DistanceAttenuation, __QuadricAttenuation)
 {
     this.Orientation           = __Orientation;
     this.ConcentrationExponent = __ConcentrationExponent;
     this.SpreadAngle           = __SpreadAngle;
     this.BeamWidthAngle        = __BeamWidthAngle;
 }
コード例 #7
0
        /// <summary>
        /// Add the properties to the row object
        /// </summary>
        /// <param name="row">COBieAttributeRow holding the data</param>
        private void AddAttribute(COBieAttributeRow row)
        {
            //need a sheet and a row to be able to attach property to an object
            if ((ValidateString(row.RowName)) && (ValidateString(row.SheetName)))
            {
                switch (row.SheetName.ToLower())
                {
                case "facility":
                    //set list if first time
                    if (IfcBuildings == null)
                    {
                        IfcBuildings = Model.Instances.OfType <IfcBuilding>();
                    }
                    if (!((CurrentObject is IfcBuilding) && (CurrentObject.Name == row.RowName)))
                    {
                        CurrentObject = IfcBuildings.Where(b => b.Name.ToString().ToLower() == row.RowName.ToLower()).FirstOrDefault();
                    }
                    break;

                case "floor":
                    if (IfcBuildingStoreys == null)
                    {
                        IfcBuildingStoreys = Model.Instances.OfType <IfcBuildingStorey>();
                    }
                    if (!((CurrentObject is IfcBuildingStorey) && (CurrentObject.Name == row.RowName)))
                    {
                        CurrentObject = IfcBuildingStoreys.Where(b => b.Name.ToString().ToLower() == row.RowName.ToLower()).FirstOrDefault();
                    }
                    break;

                case "space":
                    if (IfcSpaces == null)
                    {
                        IfcSpaces = Model.Instances.OfType <IfcSpace>();
                    }
                    if (!((CurrentObject is IfcSpace) && (CurrentObject.Name == row.RowName)))
                    {
                        CurrentObject = IfcSpaces.Where(b => b.Name.ToString().ToLower() == row.RowName.ToLower()).FirstOrDefault();
                    }
                    break;

                case "type":
                    if (IfcTypeObjects == null)
                    {
                        IfcTypeObjects = Model.Instances.OfType <IfcTypeObject>();
                    }
                    if (!((CurrentObject is IfcTypeObject) && (CurrentObject.Name == row.RowName)))
                    {
                        CurrentObject = IfcTypeObjects.Where(b => b.Name.ToString().ToLower() == row.RowName.ToLower()).FirstOrDefault();
                    }
                    break;

                case "spare":
                    if (IfcConstructionProductResources == null)
                    {
                        IfcConstructionProductResources = Model.Instances.OfType <IfcConstructionProductResource>();
                    }
                    if (!((CurrentObject is IfcConstructionProductResource) && (CurrentObject.Name == row.RowName)))
                    {
                        CurrentObject = IfcConstructionProductResources.Where(b => b.Name.ToString().ToLower() == row.RowName.ToLower()).FirstOrDefault();
                    }
                    break;

                case "component":
                    if (IfcElements == null)
                    {
                        IfcElements = Model.Instances.OfType <IfcElement>();
                    }
                    if (!((CurrentObject is IfcElement) && (CurrentObject.Name == row.RowName)))
                    {
                        CurrentObject = IfcElements.Where(b => b.Name.ToString().ToLower() == row.RowName.ToLower()).FirstOrDefault();
                    }
                    break;

                case "zone":
                    if (IfcZones == null)
                    {
                        IfcZones = Model.Instances.OfType <IfcZone>();
                    }
                    if (!((CurrentObject is IfcZone) && (CurrentObject.Name == row.RowName)))
                    {
                        CurrentObject = IfcZones.Where(b => b.Name.ToString().ToLower() == row.RowName.ToLower()).FirstOrDefault();
                    }
                    break;

                default:
                    CurrentObject = null;
                    break;
                }

                if (CurrentObject != null)
                {
                    if (ValidateString(row.Name))
                    {
                        IfcPropertySet ifcPropertySet = CheckIfExistOnMerge(row.ExtObject, row.ExtIdentifier);

                        if (ifcPropertySet == null)
                        {
                            return;
                        }

                        //Set Description
                        string description = "";
                        if (ValidateString(row.Description))
                        {
                            description = row.Description;
                        }


                        if ((ValidateString(row.Value)) &&
                            row.Value.Contains(":") &&
                            row.Value.Contains("(") &&
                            row.Value.Contains(")")
                            )//only if we have a IfcPropertyTableValue defined by COBieDataAttributeBuilder
                        {
                            AddPropertyTableValue(ifcPropertySet, row.Name, description, row.Value, row.AllowedValues, row.Unit);
                        }
                        else if ((ValidateString(row.AllowedValues)) &&
                                 //row.Value.Contains(":") && can be single value
                                 (row.AllowedValues.Contains(":") ||
                                  row.AllowedValues.Contains(",")
                                 )
                                 )//have a IfcPropertyEnumeratedValue
                        {
                            IfcValue[] ifcValues     = GetValueArray(row.Value);
                            IfcValue[] ifcValueEnums = GetValueArray(row.AllowedValues);
                            IfcUnit    ifcUnit       = GetIfcUnit(row.Unit);
                            AddPropertyEnumeratedValue(ifcPropertySet, row.Name, description, ifcValues, ifcValueEnums, ifcUnit);
                        }
                        else
                        {
                            IfcValue ifcValue;
                            double   number;
                            if (double.TryParse(row.Value, out number))
                            {
                                ifcValue = new IfcReal((double)number);
                            }
                            else if (ValidateString(row.Value))
                            {
                                ifcValue = new IfcLabel(row.Value);
                            }
                            else
                            {
                                ifcValue = new IfcLabel("");
                            }
                            IfcUnit ifcUnit = GetIfcUnit(row.Unit);
                            AddPropertySingleValue(ifcPropertySet, row.Name, description, ifcValue, ifcUnit);
                        }

                        //Add Category****
                        if (ValidateString(row.Category))
                        {
                            SetCategory(ifcPropertySet, row.Category);
                        }

                        //****************Note need this as last call Add OwnerHistory*************
                        if (ifcPropertySet != null)
                        {
                            //Add Created By, Created On and ExtSystem to Owner History.
                            SetUserHistory(ifcPropertySet, row.ExtSystem, row.CreatedBy, row.CreatedOn);
                        }
                        //****************Note need SetOwnerHistory above to be last call, as XBim changes to default on any property set or changed, cannot use edit context as property set used more than once per row******
                    }
                    else
                    {
 #if DEBUG
                        Console.WriteLine("Failed to create attribute. No name : {0} value {1}", row.Name, row.ExtObject);
#endif
                    }
                }
                else
                {
#if DEBUG
                    Console.WriteLine("Failed to create attribute. No object found to add too {0} value {1}", row.Name, row.ExtObject);
#endif
                }
            }
            else
            {
#if DEBUG
                Console.WriteLine("Failed to create attribute. No sheet or row name {0} value {1}", row.Name, row.ExtObject);
#endif
            }
        }
コード例 #8
0
 public IfcSpecularRoughness(string value)
 {
     _theValue = IfcReal.ToDouble(value);
 }
コード例 #9
0
 public override string ToString()
 {
     return(IfcReal.AsPart21(_theValue));
 }
コード例 #10
0
    //coroutine for background initializing
    IEnumerator YieldingWork()
    {
        GameObject Togo     = GameObject.Find("Tablet_UI");
        bool       workDone = false;

        yield return(null);

        while (!workDone)
        {
            Debug.Log("Coro starts: ");

            // Do Work... yield return null;
            Physics.IgnoreLayerCollision(8, 9);//noclid with player
            //Architect Taging
            foreach (var IFCDoor in model.Instances.OfType <IIfcDoor>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCDoor.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag   = "Arch";
                        goo.layer = 9;//noclid layer for door/space must have collider for raycast
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCSpace in model.Instances.OfType <IIfcSpace>())
            {
                IfcValue CoolingLoad, HeatingLoad, LightingLoad, PowerLoad, CoolingLoad_pa, HeatingLoad_pa, LightingLoad_pa, PowerLoad_pa;
                CoolingLoad = HeatingLoad = LightingLoad = PowerLoad = CoolingLoad_pa = HeatingLoad_pa = LightingLoad_pa = PowerLoad_pa = new IfcReal();

                bool             isSpace = false;
                Sorting_IFCSpace mySpace = new Sorting_IFCSpace();
                IEnumerable <IfcRelDefinesByProperties> relations = IFCSpace.IsDefinedBy.OfType <IfcRelDefinesByProperties>();
                foreach (IfcRelDefinesByProperties rel in relations)
                {
                    IfcPropertySet pSet = rel.RelatingPropertyDefinition as IfcPropertySet;
                    if (pSet == null)
                    {
                        continue;
                    }
                    foreach (IfcProperty prop in pSet.HasProperties)
                    {
                        IfcPropertySingleValue singleVal = prop as IfcPropertySingleValue;
                        if (singleVal == null)
                        {
                            continue;
                        }
                        switch (singleVal.Name)
                        {
                        case "Reference":
                            if (singleVal.NominalValue.ToString().Contains("Space"))
                            {
                                isSpace = true;
                            }
                            break;

                        case "Calculated Cooling Load":
                            CoolingLoad = singleVal.NominalValue;
                            break;

                        case "Calculated Heating Load":
                            HeatingLoad = singleVal.NominalValue;
                            break;

                        case "Specified Lighting Load":
                            LightingLoad = singleVal.NominalValue;
                            break;

                        case "Specified Power Load":
                            PowerLoad = singleVal.NominalValue;
                            break;

                        case "Calculated Cooling Load per area":
                            CoolingLoad_pa = singleVal.NominalValue;
                            break;

                        case "Calculated Heating Load per area":
                            HeatingLoad_pa = singleVal.NominalValue;
                            break;

                        case "Specified Lighting Load per area":
                            LightingLoad_pa = singleVal.NominalValue;
                            break;

                        case "Specified Power Load per area":
                            PowerLoad_pa = singleVal.NominalValue;
                            break;

                        default:
                            break;
                        }
                    }
                }

                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCSpace.EntityLabel.ToString());
                if (!isSpace)
                {
                    try
                    {
                        foreach (GameObject goo in objects)
                        {
                            goo.SetActive(false);
                        }
                    }
                    catch { }
                }
                else
                {
                    try
                    {
                        SpaceList.Add(new Sorting_IFCSpace(IFCSpace.Name, IFCSpace.EntityLabel, CoolingLoad, HeatingLoad, LightingLoad, PowerLoad, CoolingLoad_pa, HeatingLoad_pa, LightingLoad_pa, PowerLoad_pa));

                        foreach (GameObject goo in objects)
                        {
                            goo.tag   = "XRay";
                            goo.layer = 9;
                            goo.GetComponent <MeshRenderer>().enabled = false;
                        }
                    }
                    catch { }
                }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcCurtainWall>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Arch";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcChimney>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Arch";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcRoof>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Arch";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcWall>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Arch";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcWindow>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Arch";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcPlate>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Arch";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcFurniture>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Arch";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcMember>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Arch";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcBuildingElementProxy>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Arch";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcShadingDevice>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Arch";
                    }
                }
                catch { }
                yield return(null);
            }

            //MEP Taging
            foreach (var IFCprop in model.Instances.OfType <IIfcDistributionElement>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "MEP";
                    }
                }
                catch { }
                yield return(null);
            }
            //Lighting is part of MEP component, to overwrite MEP to Arch here for Arch's Convience
            foreach (var IFCProduct in model.Instances.OfType <IIfcLightFixture>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCProduct.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Arch_light"; //because the name change, can't reference them with name later to tag them.
                        Light lt = goo.AddComponent <Light>();
                        lt.range     = 10f;
                        lt.shadows   = LightShadows.Hard;
                        lt.intensity = .5f;
                        goo.GetComponent <Light>().enabled = false;
                    }
                }
                catch { }
                yield return(null);
            }

            //Structual Taging
            foreach (var IFCprop in model.Instances.OfType <IIfcBeam>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcFooting>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcColumn>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcSlab>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcRailing>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcRamp>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcStair>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcStairFlight>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcCovering>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcSite>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcPile>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }
            foreach (var IFCprop in model.Instances.OfType <IIfcRampFlight>())
            {
                var objects = Resources.FindObjectsOfTypeAll <GameObject>().Where(obj => obj.name == IFCprop.EntityLabel.ToString());
                try
                {
                    foreach (GameObject goo in objects)
                    {
                        goo.tag = "Stru";
                    }
                }
                catch { }
                yield return(null);
            }

            Togo.transform.Find("Filter_Arch").GetComponent <Toggle>().interactable             = true;
            Togo.transform.Find("Filter_MEP").GetComponent <Toggle>().interactable              = true;
            Togo.transform.Find("Filter_Stru").GetComponent <Toggle>().interactable             = true;
            Togo.transform.Find("Switch_Day").GetComponent <Toggle>().interactable              = true;
            Togo.transform.Find("Filter_Space").GetComponent <Toggle>().interactable            = true;
            Togo.transform.Find("Switch_Light").GetComponent <Toggle>().interactable            = true;
            Togo.transform.Find("Dropdown_SpaceSorting").GetComponent <Dropdown>().interactable = true;
            workDone = true; //Go taging completes
        }
        if (workDone)
        {
            Debug.Log("Coro completes in " + Time.time);
        }
    }
コード例 #11
0
 public IfcSpecularExponent(string val)
 {
     _theValue = IfcReal.ToDouble(val);
 }
コード例 #12
0
        internal static void WriteEntity(this IPersistIfcEntity entity, TextWriter tw, byte[] propertyData)
        {
            tw.Write(string.Format("#{0}={1}", entity.EntityLabel, entity.GetType().Name.ToUpper()));
            BinaryReader    br          = new BinaryReader(new MemoryStream(propertyData));
            P21ParseAction  action      = (P21ParseAction)br.ReadByte();
            bool            comma       = false; //the first property
            XbimParserState parserState = new XbimParserState(entity);

            while (action != P21ParseAction.EndEntity)
            {
                switch (action)
                {
                case P21ParseAction.BeginList:
                    tw.Write("(");
                    break;

                case P21ParseAction.EndList:
                    tw.Write(")");
                    break;

                case P21ParseAction.BeginComplex:
                    tw.Write("&SCOPE");
                    break;

                case P21ParseAction.EndComplex:
                    tw.Write("ENDSCOPE");
                    break;

                case P21ParseAction.SetIntegerValue:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = true;
                    tw.Write(br.ReadInt64().ToString());
                    break;

                case P21ParseAction.SetHexValue:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = true;
                    tw.Write(Convert.ToString(br.ReadInt64(), 16));
                    break;

                case P21ParseAction.SetFloatValue:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = true;
                    tw.Write(IfcReal.AsPart21(br.ReadDouble()));
                    break;

                case P21ParseAction.SetStringValue:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = true;
                    tw.Write(br.ReadString());
                    break;

                case P21ParseAction.SetEnumValue:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = true;
                    tw.Write("." + br.ReadString() + ".");
                    break;

                case P21ParseAction.SetBooleanValue:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = true;
                    tw.Write(br.ReadBoolean() ? ".T." : ".F.");
                    break;

                case P21ParseAction.SetNonDefinedValue:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = true;
                    tw.Write("$");
                    break;

                case P21ParseAction.SetOverrideValue:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = true;
                    tw.Write("*");
                    break;

                case P21ParseAction.SetObjectValueUInt16:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = true;
                    tw.Write("#" + br.ReadUInt16().ToString());
                    break;

                case P21ParseAction.SetObjectValueInt32:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = true;
                    tw.Write("#" + br.ReadInt32().ToString());
                    break;

                case P21ParseAction.SetObjectValueInt64:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = true;
                    tw.Write("#" + br.ReadInt64().ToString());
                    break;

                case P21ParseAction.BeginNestedType:
                    if (comma)
                    {
                        tw.Write(",");
                    }
                    comma = false;
                    tw.Write(br.ReadString() + "(");
                    break;

                case P21ParseAction.EndNestedType:
                    comma = true;
                    tw.Write(")");
                    break;

                case P21ParseAction.EndEntity:
                    tw.Write(");");
                    break;

                case P21ParseAction.NewEntity:
                    comma = false;
                    tw.Write("(");
                    break;

                default:
                    throw new Exception("Invalid Property Record #" + entity.EntityLabel + " EntityType: " + entity.GetType().Name);
                }
                action = (P21ParseAction)br.ReadByte();
            }
            tw.WriteLine();
        }