private static GH_TurtleMesh HandleOne(GetObject go, int index) { var o = go.Object(index); var c = o.Curve(); var m = RhinoMeshSupport.ExtractTMesh(c); return(new GH_TurtleMesh(m) { ReferenceID = o.ObjectId }); }
public override bool CastFrom(object source) { if (source == null) { m_value = null; ClearCaches(); return(true); } if (source is GH_GeometricGoo <Mesh> ) { source = ((GH_GeometricGoo <Mesh>)source).Value; } else if (source is GH_GeometricGoo <Curve> ) { source = ((GH_GeometricGoo <Curve>)source).Value; } if (source is ITurtleMesh) { m_value = source as ITurtleMesh; ClearCaches(); return(true); } else if (source is Mesh) { m_value = RhinoMeshSupport.ImportRhinoMesh((Mesh)source); ClearCaches(); return(true); } else if (source is Curve) { m_value = RhinoMeshSupport.ExtractTMesh((Curve)source); ClearCaches(); return(true); } else if (source is Grasshopper.Kernel.Types.GH_Curve) { m_value = RhinoMeshSupport.ExtractTMesh((Curve)source); ClearCaches(); return(true); } return(base.CastFrom(source)); }
public override bool LoadGeometry(Rhino.RhinoDoc doc) { RhinoObject obj = doc.Objects.Find(ReferenceID); if (obj == null) { return(false); } if (obj.Geometry.ObjectType == ObjectType.Curve) { var c = (Curve)obj.Geometry; m_value = RhinoMeshSupport.ExtractTMesh(c); ClearCaches(); return(true); } return(false); }