/// <summary>Finds triangles touching the input bounds. </summary> /// <param name="bounds">Bounds to test against. In object or world space depending on NxQueryFlags. Range: See NxBounds3</param> /// <param name="flags">Controls if the bounds are in object or world space and if we return first contact only. See NxQueryFlags. </param> /// <param name="callback">Used to return triangles which intersect the AABB </param> public virtual bool overlapAABBTriangles(NxBounds3 bounds, uint flags, NxUserEntityReport callback) { if (doSetFunctionPointers) { throw new System.NotSupportedException("Cannot call abstract base member"); } return(NxTriangleMeshShape_overlapAABBTriangles_1_INVOKE(ClassPointer, doSetFunctionPointers, (bounds != null ? bounds.ClassPointer : NullRef), flags, (callback != null ? callback.ClassPointer : NullRef))); }
/// <summary></summary> public virtual bool overlapAABBTrianglesDeprecated(NxBounds3 bounds, uint flags, ref uint nb, ref uint[] indices) { if (doSetFunctionPointers) { throw new System.NotSupportedException("Cannot call abstract base member"); } return(NxTriangleMeshShape_overlapAABBTrianglesDeprecated_INVOKE(ClassPointer, doSetFunctionPointers, (bounds != null ? bounds.ClassPointer : NullRef), flags, ref nb, ref indices)); }
/// <summary>Retrieves the bounding box of a PhysX processor mesh page in the local space of the mesh. </summary> /// <param name="pageIndex">The index of the mesh page. Pages are indexed sequentially starting from 0.</param> public virtual NxBounds3 getPageBBox(uint pageIndex) { if (doSetFunctionPointers) { throw new System.NotSupportedException("Cannot call abstract base member"); } return(NxBounds3.GetClass(NxTriangleMesh_getPageBBox_INVOKE(ClassPointer, doSetFunctionPointers, pageIndex))); }
private bool overlapAABBTriangles_virtual(IntPtr bounds, uint flags, IntPtr callback) { return(overlapAABBTriangles(NxBounds3.GetClass(bounds), flags, NxUserEntityReport.GetClass(callback))); }
private bool overlapAABBTrianglesDeprecated_virtual(IntPtr bounds, uint flags, [In()][Out()] ref uint nb, [In()] ref uint[] indices) { return(overlapAABBTrianglesDeprecated(NxBounds3.GetClass(bounds), flags, ref nb, ref indices)); }
/// <summary>Finds triangles touching the input bounds. </summary> /// <param name="bounds">Bounds to test against. In object or world space depending on NxQueryFlags. Range: See NxBounds3</param> /// <param name="flags">Controls if the bounds are in object or world space and if we return first contact only. See NxQueryFlags. </param> /// <param name="nb">Retrieves the number of triangle indices touching the AABB. </param> /// <param name="indices">Returns an array of touching triangle indices. </param> public bool overlapAABBTriangles(NxBounds3 bounds, uint flags, ref uint nb, ref uint[] indices) { return(NxTriangleMeshShape_overlapAABBTriangles_INVOKE(ClassPointer, doSetFunctionPointers, (bounds != null ? bounds.ClassPointer : NullRef), flags, ref nb, ref indices)); }
/// <summary>indicates whether the intersection of this and b is empty or not in the plane orthogonal to the axis passed (X = 0, Y = 1 or Z = 2). </summary> /// <param name="b">Bounds to test for intersection. </param> /// <param name="axisToIgnore">Axis to ignore when performing the intersection test. </param> public bool intersects2D(NxBounds3 b, uint axisToIgnore) { return(NxBounds3_intersects2D_INVOKE(ClassPointer, doSetFunctionPointers, (b != null ? b.ClassPointer : NullRef), axisToIgnore)); }
/// <summary>indicates whether the intersection of this and b is empty or not. </summary> /// <param name="b">Bounds to test for intersection. </param> public bool intersects(NxBounds3 b) { return(NxBounds3_intersects_INVOKE(ClassPointer, doSetFunctionPointers, (b != null ? b.ClassPointer : NullRef))); }
/// <summary>sets this to the union of this and b2. </summary> /// <param name="b2">Bounds to perform union with. </param> public void combine(NxBounds3 b2) { NxBounds3_combine_INVOKE(ClassPointer, doSetFunctionPointers, (b2 != null ? b2.ClassPointer : NullRef)); }