예제 #1
0
 private bool onContactConstraint_virtual([In()][Out()] ref uint changeFlags, IntPtr shape0, IntPtr shape1, uint featureIndex0, uint featureIndex1, IntPtr data)
 {
     return(onContactConstraint(ref changeFlags, NxShape.GetClass(shape0), NxShape.GetClass(shape1), featureIndex0, featureIndex1, NxContactCallbackData.GetClass(data)));
 }
예제 #2
0
 /// <summary>This is called when a contact constraint is generated. Modify the parameters in order to affect the generated contact constraint. This callback needs to be both thread safe and reentrant. </summary>
 /// <param name="changeFlags">when making changes to the contact point, you must mark in this flag what changes have been made, see NxContactConstraintChange. </param>
 /// <param name="shape0">one of the two shapes in contact </param>
 /// <param name="shape1">the other shape </param>
 /// <param name="featureIndex0">feature on the first shape, which is in contact with the other shape </param>
 /// <param name="featureIndex1">feature on the second shape, which is in contact with the other shape </param>
 /// <param name="data">contact constraint properties, for the user to change. Changes in this also requires changes in the changeFlags parameter.</param>
 public virtual bool onContactConstraint(ref uint changeFlags, NxShape shape0, NxShape shape1, uint featureIndex0, uint featureIndex1, NxContactCallbackData data)
 {
     if (doSetFunctionPointers)
     {
         throw new System.NotSupportedException("Cannot call abstract base member");
     }
     return(NxUserContactModify_onContactConstraint_INVOKE(ClassPointer, doSetFunctionPointers, ref changeFlags, (shape0 != null ? shape0.ClassPointer : NullRef), (shape1 != null ? shape1.ClassPointer : NullRef), featureIndex0, featureIndex1, (data != null ? data.ClassPointer : NullRef)));
 }