internal override IntPtr _InternalGetConstPointer() { #if RHINO_SDK Rhino.DocObjects.RhinoObject parent_object = m__parent as Rhino.DocObjects.RhinoObject; if (null == parent_object) { Rhino.FileIO.File3dmObject parent_model_object = m__parent as Rhino.FileIO.File3dmObject; if (parent_model_object != null) { return(parent_model_object.GetAttributesConstPointer()); } } IntPtr pConstParent = IntPtr.Zero; if (null != parent_object) { pConstParent = parent_object.ConstPointer(); } return(UnsafeNativeMethods.CRhinoObject_Attributes(pConstParent)); #else Rhino.FileIO.File3dmObject parent_model_object = m__parent as Rhino.FileIO.File3dmObject; if (parent_model_object != null) { return(parent_model_object.GetAttributesConstPointer()); } return(IntPtr.Zero); #endif }
internal override IntPtr _InternalGetConstPointer() { if (null != m_shallow_parent) { return(m_shallow_parent.ConstPointer()); } #if RHINO_SDK Rhino.DocObjects.ObjRef obj_ref = m__parent as Rhino.DocObjects.ObjRef; if (null != obj_ref) { return(obj_ref.GetGeometryConstPointer(this)); } Rhino.DocObjects.RhinoObject parent_object = ParentRhinoObject(); if (parent_object == null) { Rhino.FileIO.File3dmObject fileobject = m__parent as Rhino.FileIO.File3dmObject; if (null != fileobject) { return(fileobject.GetGeometryConstPointer()); } } uint serial_number = 0; IntPtr pParentRhinoObject = IntPtr.Zero; if (null != parent_object) { serial_number = parent_object.m_rhinoobject_serial_number; pParentRhinoObject = parent_object.m_pRhinoObject; } ComponentIndex ci = new ComponentIndex(); // There are a few cases (like in ReplaceObject callback) where the parent // rhino object temporarily holds onto the CRhinoObject* because the object // is not officially in the document yet. if (pParentRhinoObject != IntPtr.Zero) { return(UnsafeNativeMethods.CRhinoObject_Geometry(pParentRhinoObject, ci)); } return(UnsafeNativeMethods.CRhinoObject_Geometry2(serial_number, ci)); #else Rhino.FileIO.File3dmObject fileobject = m__parent as Rhino.FileIO.File3dmObject; if (null != fileobject) { return(fileobject.GetGeometryConstPointer()); } return(IntPtr.Zero); #endif }
private void btnTest_Click(object sender, EventArgs e) { if (m_f3dm != null) { // //foreach (object o in m_f3dm.Objects) // //{ // // rtb3dmReport.AppendText(o.ToString()); // //} Rhino.FileIO.File3dmObjectTable table = m_f3dm.Objects; Rhino.FileIO.File3dmObject[] f3dmo0 = table.FindByLayer("material"); List <Rhino.FileIO.File3dmObject> list_objects = table.ToList <Rhino.FileIO.File3dmObject>(); Rhino.FileIO.File3dmObject[] array_objects = table.ToArray <Rhino.FileIO.File3dmObject>(); IEnumerator <Rhino.FileIO.File3dmObject> enu = table.GetEnumerator(); // //rtb3dmReport.AppendText(list_objects.Count.ToString()); // //rtb3dmReport.AppendText(list_objects[1970].ToString()); // //rtb3dmReport.AppendText(list_objects[100].Geometry.ToString()); Rhino.FileIO.File3dmObject f3dmo = table.ElementAt <Rhino.FileIO.File3dmObject>(0); Rhino.Geometry.Extrusion ge = new Rhino.Geometry.Extrusion(); // foreach (Rhino.FileIO.File3dmObject f3dmo in list_objects) // { // try // { // //Rhino.Geometry.Extrusion eo = (Rhino.Geometry.Extrusion)f3dmo.Geometry; // //rtb3dmReport.AppendText(eo.ToString()); // //Rhino.DocObjects.RhinoObject ro = (Rhino.DocObjects.RhinoObject)f3dmo; // } // catch (Exception ex) // { // //rtb3dmReport.AppendText(ex.ToString()); // //rtb3dmReport.AppendText("object " + f3dmo.Id.ToString() + " is not ON_Extrusion\n"); // } // } } }
internal ObjectAttributes(Rhino.FileIO.File3dmObject parent) { ConstructConstObject(parent, -1); }