public new static vtkParametricCrossCap SafeDownCast(vtkObjectBase o) { vtkParametricCrossCap vtkParametricCrossCap = null; uint mteStatus = 0u; uint mteIndex = 4294967295u; uint rawRefCount = 0u; IntPtr intPtr = vtkParametricCrossCap.vtkParametricCrossCap_SafeDownCast_08((o == null) ? default(HandleRef) : o.GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount); if (IntPtr.Zero != intPtr) { bool flag; vtkParametricCrossCap = (vtkParametricCrossCap)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, true, out flag); if (flag) { vtkParametricCrossCap.Register(null); } } return(vtkParametricCrossCap); }