예제 #1
0
 /// <summary>Retrieves triangle data from a triangle ID. </summary>
 /// <param name="triangle">triangle points in local or world space. </param>
 /// <param name="edgeTri">World space edge normals for triangle (NULL to not compute). </param>
 /// <param name="flags">Flags which show if an edge is convex. See NxTriangleFlags</param>
 /// <param name="triangleIndex">The index of the triangle to retrieve. </param>
 /// <param name="worldSpaceTranslation">true to return triangle's position in world space, else false for local space </param>
 /// <param name="worldSpaceRotation">true to return triangle's orientation in world space, else false for local space </param>
 public virtual uint getTriangle(NxTriangle triangle, NxTriangle edgeTri, uint[] flags, uint triangleIndex, bool worldSpaceTranslation, bool worldSpaceRotation)
 {
     if (doSetFunctionPointers)
     {
         throw new System.NotSupportedException("Cannot call abstract base member");
     }
     return(NxTriangleMeshShape_getTriangle_INVOKE(ClassPointer, doSetFunctionPointers, (triangle != null ? triangle.ClassPointer : NullRef), (edgeTri != null ? edgeTri.ClassPointer : NullRef), flags, triangleIndex, worldSpaceTranslation, worldSpaceRotation));
 }
예제 #2
0
 /// <summary>Retrieves triangle data from a triangle ID. </summary>
 /// <param name="worldTri">World space triangle points. </param>
 /// <param name="edgeTri">World space edge normals for triangle (NULL to not compute). </param>
 /// <param name="flags">Flags which show if an edge is convex. See NxTriangleFlags</param>
 /// <param name="triangleIndex">The index of the triangle to retrieve. </param>
 /// <param name="worldSpaceTranslation">True if the triangle should be translated to world space. </param>
 /// <param name="worldSpaceRotation">True if the triangle should be rotated to world space.</param>
 public virtual uint getTriangle(NxTriangle worldTri, NxTriangle edgeTri, uint[] flags, uint triangleIndex)
 {
     if (doSetFunctionPointers)
     {
         throw new System.NotSupportedException("Cannot call abstract base member");
     }
     return(NxHeightFieldShape_getTriangle_2_INVOKE(ClassPointer, doSetFunctionPointers, (worldTri != null ? worldTri.ClassPointer : NullRef), (edgeTri != null ? edgeTri.ClassPointer : NullRef), flags, triangleIndex));
 }
예제 #3
0
 private uint getTriangle_virtual(IntPtr triangle, IntPtr edgeTri, uint[] flags, uint triangleIndex, bool worldSpaceTranslation, bool worldSpaceRotation)
 {
     return(getTriangle(NxTriangle.GetClass(triangle), NxTriangle.GetClass(edgeTri), flags, triangleIndex, worldSpaceTranslation, worldSpaceRotation));
 }
예제 #4
0
 private uint getTriangle_virtual(IntPtr triangle, IntPtr edgeTri, uint[] flags, uint triangleIndex)
 {
     return(getTriangle(NxTriangle.GetClass(triangle), NxTriangle.GetClass(edgeTri), flags, triangleIndex));
 }
예제 #5
0
 /// <summary>Copy constructor. </summary>
 /// <param name="triangle">Tri to copy </param>
 public NxTriangle(NxTriangle triangle) :
     base(new_NxTriangle_2_INVOKE(false, (triangle != null ? triangle.ClassPointer : NullRef)))
 {
     GC.ReRegisterForFinalize(this);
 }