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); }