public static PxFilterFlags *VehicleFilterShader(PxFilterFlags *__retBuf, uint attributes0, PxFilterData *filterData0,
                                                  uint attributes1, PxFilterData *filterData1,
                                                  PxPairFlags *pairFlags, void *constantBlock, uint constantBlockSize)
 {
     *__retBuf = VehicleFilterShader(attributes0, *filterData0, attributes1, *filterData1, ref Unsafe.AsRef <PxPairFlags>(pairFlags), constantBlock, constantBlockSize);
     return(__retBuf);
 }
 private static void pairLost(PxSimulationFilterCallback * @this, uint pairID,
                              uint attributes0, PxFilterData *filterData0,
                              uint attributes1, PxFilterData *filterData1,
                              NativeBoolean objectRemoved)
 {
     // Console.WriteLine("pairLost");
 }
    static PxFilterFlags *scissorFilter(PxFilterFlags *__retBuf,
                                        uint attributes0, PxFilterData *filterData0,
                                        uint attributes1, PxFilterData *filterData1,
                                        PxPairFlags *pairFlags, void *constantBlock, uint constantBlockSize)
    {
        if (filterData0->word2 != 0 && filterData0->word2 == filterData1->word2)
        {
            *__retBuf = PxFilterFlags.eKILL;
            return(__retBuf);
        }

        *pairFlags |= PxPairFlags.eCONTACT_DEFAULT;
        *__retBuf   = PxFilterFlags.eDEFAULT;
        return(__retBuf);
    }
        private static PxFilterFlags *pairFound(PxSimulationFilterCallback * @this, PxFilterFlags *_retBuf, uint pairID,
                                                uint attributes0, PxFilterData *filterData0, PxActor *a0, PxShape *s0,
                                                uint attributes1, PxFilterData *filterData1, PxActor *a1, PxShape *s1,
                                                PxPairFlags *pairFlags)
        {
            // Console.WriteLine("pairFound");

            if (s0->userData != null || s1->userData != null) // See createTriggerShape() function
            {
                *pairFlags = PxPairFlags.eTRIGGER_DEFAULT;

                if (usesCCD())
                {
                    *pairFlags |= PxPairFlags.eDETECT_CCD_CONTACT | PxPairFlags.eNOTIFY_TOUCH_CCD;
                }
            }
            else
            {
                *pairFlags = PxPairFlags.eCONTACT_DEFAULT;
            }

            *_retBuf = default;
            return(_retBuf);
        }