Vertices Methods |
The Vertices type exposes the following members.
Name | Description | |
---|---|---|
Add | Adds an object to the end of the ListT. (Inherited from ListVector2.) | |
AddRange | Adds the elements of the specified collection to the end of the ListT. (Inherited from ListVector2.) | |
AsReadOnly | Returns a read-only ReadOnlyCollectionT wrapper for the current collection. (Inherited from ListVector2.) | |
BinarySearch(T) | Searches the entire sorted ListT for an element using the default comparer and returns the zero-based index of the element. (Inherited from ListVector2.) | |
BinarySearch(T, IComparerT) | Searches the entire sorted ListT for an element using the specified comparer and returns the zero-based index of the element. (Inherited from ListVector2.) | |
BinarySearch(Int32, Int32, T, IComparerT) | Searches a range of elements in the sorted ListT for an element using the specified comparer and returns the zero-based index of the element. (Inherited from ListVector2.) | |
CheckPolygon |
Checks if the polygon is valid for use in the engine.
Performs a full check, for simplicity, convexity,
orientation, minimum angle, and volume.
From Eric Jordan's convex decomposition library
| |
Clear | Removes all elements from the ListT. (Inherited from ListVector2.) | |
Contains | Determines whether an element is in the ListT. (Inherited from ListVector2.) | |
ConvertAllTOutput | Converts the elements in the current ListT to another type, and returns a list containing the converted elements. (Inherited from ListVector2.) | |
CopyTo(T) | Copies the entire ListT to a compatible one-dimensional array, starting at the beginning of the target array. (Inherited from ListVector2.) | |
CopyTo(T, Int32) | Copies the entire ListT to a compatible one-dimensional array, starting at the specified index of the target array. (Inherited from ListVector2.) | |
CopyTo(Int32, T, Int32, Int32) | Copies a range of elements from the ListT to a compatible one-dimensional array, starting at the specified index of the target array. (Inherited from ListVector2.) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Exists | Determines whether the ListT contains elements that match the conditions defined by the specified predicate. (Inherited from ListVector2.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
Find | Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire ListT. (Inherited from ListVector2.) | |
FindAll | Retrieves all the elements that match the conditions defined by the specified predicate. (Inherited from ListVector2.) | |
FindIndex(PredicateT) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire ListT. (Inherited from ListVector2.) | |
FindIndex(Int32, PredicateT) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the ListT that extends from the specified index to the last element. (Inherited from ListVector2.) | |
FindIndex(Int32, Int32, PredicateT) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the ListT that starts at the specified index and contains the specified number of elements. (Inherited from ListVector2.) | |
FindLast | Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire ListT. (Inherited from ListVector2.) | |
FindLastIndex(PredicateT) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire ListT. (Inherited from ListVector2.) | |
FindLastIndex(Int32, PredicateT) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the ListT that extends from the first element to the specified index. (Inherited from ListVector2.) | |
FindLastIndex(Int32, Int32, PredicateT) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the ListT that contains the specified number of elements and ends at the specified index. (Inherited from ListVector2.) | |
ForceCounterClockWise |
Forces the vertices to be counter clock wise order.
| |
ForEach | Performs the specified action on each element of the ListT. (Inherited from ListVector2.) | |
GetAABB |
Returns an AABB that fully contains this polygon.
| |
GetArea |
Gets the area.
| |
GetCentroid |
Gets the centroid.
| |
GetEnumerator | Returns an enumerator that iterates through the ListT. (Inherited from ListVector2.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetRange | Creates a shallow copy of a range of elements in the source ListT. (Inherited from ListVector2.) | |
GetSignedArea |
Gets the signed area.
If the area is less than 0, it indicates that the polygon is clockwise winded.
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
IndexOf(T) | Searches for the specified object and returns the zero-based index of the first occurrence within the entire ListT. (Inherited from ListVector2.) | |
IndexOf(T, Int32) | Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the ListT that extends from the specified index to the last element. (Inherited from ListVector2.) | |
IndexOf(T, Int32, Int32) | Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the ListT that starts at the specified index and contains the specified number of elements. (Inherited from ListVector2.) | |
Insert | Inserts an element into the ListT at the specified index. (Inherited from ListVector2.) | |
InsertRange | Inserts the elements of a collection into the ListT at the specified index. (Inherited from ListVector2.) | |
IsConvex |
Determines whether the polygon is convex.
O(n^2) running time.
Assumptions:
- The polygon is in counter clockwise order
- The polygon has no overlapping edges
| |
IsCounterClockWise |
Indicates if the vertices are in counter clockwise order.
Warning: If the area of the polygon is 0, it is unable to determine the winding.
| |
IsSimple |
Checks if the vertices forms an simple polygon by checking for edge crossings.
| |
LastIndexOf(T) | Searches for the specified object and returns the zero-based index of the last occurrence within the entire ListT. (Inherited from ListVector2.) | |
LastIndexOf(T, Int32) | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the ListT that extends from the first element to the specified index. (Inherited from ListVector2.) | |
LastIndexOf(T, Int32, Int32) | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the ListT that contains the specified number of elements and ends at the specified index. (Inherited from ListVector2.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
NextIndex |
Gets the next index. Used for iterating all the edges with wrap-around.
| |
NextVertex |
Gets the next vertex. Used for iterating all the edges with wrap-around.
| |
PointInPolygon |
Winding number test for a point in a polygon.
| |
PointInPolygonAngle |
Compute the sum of the angles made between the test point and each pair of points making up the polygon.
If this sum is 2pi then the point is an interior point, if 0 then the point is an exterior point.
ref: http://ozviz.wasp.uwa.edu.au/~pbourke/geometry/insidepoly/ - Solution 2
| |
PreviousIndex |
Gets the previous index. Used for iterating all the edges with wrap-around.
| |
PreviousVertex |
Gets the previous vertex. Used for iterating all the edges with wrap-around.
| |
ProjectToAxis |
Projects to axis.
| |
Remove | Removes the first occurrence of a specific object from the ListT. (Inherited from ListVector2.) | |
RemoveAll | Removes all the elements that match the conditions defined by the specified predicate. (Inherited from ListVector2.) | |
RemoveAt | Removes the element at the specified index of the ListT. (Inherited from ListVector2.) | |
RemoveRange | Removes a range of elements from the ListT. (Inherited from ListVector2.) | |
Reverse | Reverses the order of the elements in the entire ListT. (Inherited from ListVector2.) | |
Reverse(Int32, Int32) | Reverses the order of the elements in the specified range. (Inherited from ListVector2.) | |
Rotate |
Rotate the vertices with the defined value in radians.
Warning: Using this method on an active set of vertices of a Body,
will cause problems with collisions. Use Body.Rotation instead.
| |
Scale(Vector2) |
Scales the vertices with the specified vector.
| |
Scale(Vector2) |
Scales the vertices with the specified vector.
| |
Sort | Sorts the elements in the entire ListT using the default comparer. (Inherited from ListVector2.) | |
Sort(IComparerT) | Sorts the elements in the entire ListT using the specified comparer. (Inherited from ListVector2.) | |
Sort(ComparisonT) | Sorts the elements in the entire ListT using the specified ComparisonT. (Inherited from ListVector2.) | |
Sort(Int32, Int32, IComparerT) | Sorts the elements in a range of elements in ListT using the specified comparer. (Inherited from ListVector2.) | |
ToArray | Copies the elements of the ListT to a new array. (Inherited from ListVector2.) | |
ToString | (Overrides ObjectToString.) | |
Translate(Vector2) |
Translates the vertices with the specified vector.
| |
Translate(Vector2) |
Translates the vertices with the specified vector.
| |
TrimExcess | Sets the capacity to the actual number of elements in the ListT, if that number is less than a threshold value. (Inherited from ListVector2.) | |
TrueForAll | Determines whether every element in the ListT matches the conditions defined by the specified predicate. (Inherited from ListVector2.) |