Example #1
0
 /// <summary>Sets 128-bit mask used for collision filtering. See comments for NxGroupsMask. </summary>
 /// <param name="mask">The group mask to set for the shape.</param>
 public virtual void setGroupsMask(NxGroupsMask mask)
 {
     if (doSetFunctionPointers)
     {
         throw new System.NotSupportedException("Cannot call abstract base member");
     }
     NxForceField_setGroupsMask_INVOKE(ClassPointer, doSetFunctionPointers, (mask != null ? mask.ClassPointer : NullRef));
 }
Example #2
0
 /// <summary>Gets 128-bit mask used for collision filtering. See comments for NxGroupsMask. </summary>
 public virtual NxGroupsMask getGroupsMask()
 {
     if (doSetFunctionPointers)
     {
         throw new System.NotSupportedException("Cannot call abstract base member");
     }
     return(NxGroupsMask.GetClass(NxForceField_getGroupsMask_INVOKE(ClassPointer, doSetFunctionPointers)));
 }
Example #3
0
 private void setGroupsMask_virtual(IntPtr mask)
 {
     setGroupsMask(NxGroupsMask.GetClass(mask));
 }
Example #4
0
 private void move_virtual([In()] ref NxVec3 disp, uint activeGroups, float minDist, [In()][Out()] ref uint collisionFlags, float sharpness, IntPtr groupsMask)
 {
     move(ref disp, activeGroups, minDist, ref collisionFlags, sharpness, NxGroupsMask.GetClass(groupsMask));
 }
Example #5
0
 /// <summary>Moves the character using a "collide-and-slide" algorithm. </summary>
 /// <param name="disp">a displacement vector </param>
 /// <param name="activeGroups">a filtering mask for collision groups. If a bit is set, corresponding group is active. </param>
 /// <param name="minDist">the minimum travelled distance to consider. If travelled distance is smaller, the character doesn't move. This is used to stop the recursive motion algorithm when remaining distance to travel is small. </param>
 /// <param name="collisionFlags">returned collision flags, collection of NxControllerFlag</param>
 /// <param name="sharpness">to prevent sudden height changes due to the autostep feature, the motion can be smoothed using a feedback filter. This coefficient defines the amount of smoothing. The smaller, the smoother. (1.0 means no smoothing). </param>
 /// <param name="groupsMask">Alternative mask used to filter shapes, see NxScene::overlapAABBShapes(). </param>
 public virtual void move(ref NxVec3 disp, uint activeGroups, float minDist, ref uint collisionFlags, float sharpness, NxGroupsMask groupsMask)
 {
     if (doSetFunctionPointers)
     {
         throw new System.NotSupportedException("Cannot call abstract base member");
     }
     NxController_move_INVOKE(ClassPointer, doSetFunctionPointers, ref disp, activeGroups, minDist, ref collisionFlags, sharpness, (groupsMask != null ? groupsMask.ClassPointer : NullRef));
 }