public new static vtkDotProductSimilarity SafeDownCast(vtkObjectBase o)
        {
            vtkDotProductSimilarity vtkDotProductSimilarity = null;
            uint   mteStatus   = 0u;
            uint   mteIndex    = 4294967295u;
            uint   rawRefCount = 0u;
            IntPtr intPtr      = vtkDotProductSimilarity.vtkDotProductSimilarity_SafeDownCast_14((o == null) ? default(HandleRef) : o.GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);

            if (IntPtr.Zero != intPtr)
            {
                bool flag;
                vtkDotProductSimilarity = (vtkDotProductSimilarity)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, true, out flag);
                if (flag)
                {
                    vtkDotProductSimilarity.Register(null);
                }
            }
            return(vtkDotProductSimilarity);
        }