public static BeamBase FromSpeckle(SpeckleBrep BaseObj)
        {
            if ((string)BaseObj.Properties[GlobalVar.discriminator] != "BeamBase")
            {
                throw new Exception("Can't convert to BeamBase, missing discriminator.");
            }

            using (RhinoConverter rhConv = new RhinoConverter())
            {
                var myBeamBase = new BeamBase();

                myBeamBase.MainVolume = (Brep)rhConv.ToNative(BaseObj);

                myBeamBase.DetailedVolume = (Brep)rhConv.ToNative((SpeckleObject)BaseObj.Properties["DetailedVolume"]);

                myBeamBase.TopLeftCurve = (Curve)rhConv.ToNative((SpeckleObject)BaseObj.Properties["TopLeft"]);

                myBeamBase.TopRightCurve = (Curve)rhConv.ToNative((SpeckleObject)BaseObj.Properties["TopRight"]);

                myBeamBase.BottomRightCurve = (Curve)rhConv.ToNative((SpeckleObject)BaseObj.Properties["BottomRight"]);

                myBeamBase.BottomLeftCurve = (Curve)rhConv.ToNative((SpeckleObject)BaseObj.Properties["BottomLeft"]);

                return(myBeamBase);
            }
        }
        // Brep fallback

        public static Mesh ToNative(this SpeckleBrep brep)
        {
            if (brep.DisplayValue != null)
            {
                return(brep.DisplayValue.ToNative());
            }
            return(null);
        }
        public SpeckleBrep ToSpeckle()
        {
            SpeckleBrep speckleBrep = ((BeamBase)this).ToSpeckle();

            speckleBrep.Properties[GlobalVar.discriminator] = "DetailedBeam";
            speckleBrep.Properties["tolerance"]             = Tolerance;
            speckleBrep.Properties["densityMat"]            = DensityMat;

            return(speckleBrep);
        }
        public SpeckleBrep ToSpeckle()
        {
            SpeckleBrep speckleBrep = MainVolume.ToSpeckle();

            speckleBrep.Properties[GlobalVar.discriminator] = "BeamBase";

            speckleBrep.Properties["TopLeft"]     = TopLeftCurve.ToSpeckle();
            speckleBrep.Properties["TopRight"]    = TopRightCurve.ToSpeckle();
            speckleBrep.Properties["BottomRight"] = BottomRightCurve.ToSpeckle();
            speckleBrep.Properties["BottomLeft"]  = BottomLeftCurve.ToSpeckle();

            speckleBrep.Properties["DetailedVolume"] = DetailedVolume.ToSpeckle();

            return(speckleBrep);
        }
 public static Brep ToNative(this SpeckleBrep brep)
 {
     try
     {
         if (brep.Provenance == "Rhino")
         {
             var myBrep = JsonConvert.DeserializeObject <Brep>(( string )brep.RawData);
             myBrep.UserDictionary.ReplaceContentsWith(brep.Properties.ToNative());
             return(myBrep);
         }
         throw new Exception("Unknown brep provenance: " + brep.Provenance + ". Don't know how to convert from one to the other.");
     }
     catch
     {
         System.Diagnostics.Debug.WriteLine("Failed to deserialise brep");
         return(null);
     }
 }
 public static Brep ToNative(this SpeckleBrep brep)
 {
     try
     {
         if (brep.Provenance == "ON")
         {
             var myBrep = ( Brep )Converter.getObjFromString(brep.Base64);
             myBrep.UserDictionary.ReplaceContentsWith(brep.Properties.ToNative());
             return(myBrep);
         }
         else
         {
             throw new Exception("Unknown brep provenance: " + brep.Provenance + ". Don't know how to convert from one to the other.");
         }
     }
     catch
     {
         // Fail silently
         return(null);
     }
 }
Exemple #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="brep"></param>
        /// <returns></returns>
        public static SpeckleUnityMesh ToNative(this SpeckleBrep brep)
        {
            SpeckleMesh speckleMesh = brep.DisplayValue;

            return(speckleMesh.ToNative());
        }
 public static DetailedBeam FromSpeckle(SpeckleBrep BaseObj)
 {
     return(new DetailedBeam());
 }
    public static GameObject ToNative(this SpeckleBrep brep)
    {
        var mesh = brep.DisplayValue;
        return mesh.ToNative();

    }