private static void onTrigger(PxSimulationEventCallback * @this, PxTriggerPair *pairs, uint count)
 {
     // Console.WriteLine($"onTrigger: {count} trigger pairs");
     while ((count--) != 0)
     {
         ref PxTriggerPair current = ref *pairs++;
         if (current.status.HasFlag(PxPairFlags.eNOTIFY_TOUCH_FOUND))
         {
             Console.WriteLine("Shape is entering trigger volume");
         }
         if (current.status.HasFlag(PxPairFlags.eNOTIFY_TOUCH_LOST))
         {
             Console.WriteLine("Shape is leaving trigger volume");
         }
     }
 private static void onSleep(PxSimulationEventCallback * @this, PxActor **actors, uint count)
 => Console.WriteLine("onSleep");
 private static void onConstraintBreak(PxSimulationEventCallback * @this, PxConstraintInfo *constraints, uint count)
 => Console.WriteLine("onConstraintBreak");