//BIOQUIRK: This junk should ideally be handled by a source generator or something
        // (If it does get handled by a source generator it also needs to be threadsafe, which this is not.)
        public ContactReportCallback()
        {
            if (VTable.IsDefault)
            {
                VTable = new PxSimulationEventCallback.VirtualMethodTable()
                {
                    onConstraintBreak           = &onConstraintBreak,
                    onWake                      = &onWake,
                    onSleep                     = &onSleep,
                    onContact                   = &onContact,
                    onTrigger                   = &onTrigger,
                    onAdvance                   = &onAdvance,
                    __DeletingDestructorPointer = &Destructor
                };
            }

            Base = new()
            {
                VirtualMethodTablePointer = VTable
            };
        }
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PxSimulationEventCallback obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }