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