C# Class GeometryClassLibrary.PointListExtensions

显示文件 Open project: ParagonTruss/GeometryClassLibrary

Public Methods

Method Description
AllPointsAreOnTheSameSideOf ( this pointList, Plane plane ) : bool

determines if the points in the list, all lie on the same side of the dividing plane. Points on the plane are disregarded

AreAllCoplanar ( this points ) : bool
CenterPoint ( this points ) : Point
ConvexHull ( this passedPointList, bool allPointsShouldBeVertices = false ) : Polygon

Creates the largest convex polygon whose vertices are from this list Uses the Graham Scan: http://en.wikipedia.org/wiki/Graham_scan the suppressed boolean is for cases where you know all your points can be used

FurthestPoints ( this pointList ) : List

Returns the two points that are furthest from each other in the list.

GreatestXDistance ( this points ) : Distance
GreatestYDistance ( this points ) : Distance
GreatestZDistance ( this points ) : Distance
MakeIntoLineSegmentsThatMeet ( this points ) : List

Makes line segments that connect the given points in the order the appear in the list

ProjectAllOntoPlane ( this pointList, Plane plane ) : List
Rotate ( this pointList, Rotation rotation ) : List
Shift ( this pointList, Shift shift ) : List

Private Methods

Method Description
_removeInteriorPoints ( Point initial, List pointsInOrder ) : void
_sortByAngles ( this pointList, Point initial ) : List
_xCompIsConstant ( this pointList ) : bool

Method Details

AllPointsAreOnTheSameSideOf() public static method

determines if the points in the list, all lie on the same side of the dividing plane. Points on the plane are disregarded
public static AllPointsAreOnTheSameSideOf ( this pointList, Plane plane ) : bool
pointList this
plane Plane
return bool

AreAllCoplanar() public static method

public static AreAllCoplanar ( this points ) : bool
points this
return bool

CenterPoint() public static method

public static CenterPoint ( this points ) : Point
points this
return Point

ConvexHull() public static method

Creates the largest convex polygon whose vertices are from this list Uses the Graham Scan: http://en.wikipedia.org/wiki/Graham_scan the suppressed boolean is for cases where you know all your points can be used
public static ConvexHull ( this passedPointList, bool allPointsShouldBeVertices = false ) : Polygon
passedPointList this
allPointsShouldBeVertices bool
return Polygon

FurthestPoints() public static method

Returns the two points that are furthest from each other in the list.
public static FurthestPoints ( this pointList ) : List
pointList this
return List

GreatestXDistance() public static method

public static GreatestXDistance ( this points ) : Distance
points this
return UnitClassLibrary.DistanceUnit.Distance

GreatestYDistance() public static method

public static GreatestYDistance ( this points ) : Distance
points this
return UnitClassLibrary.DistanceUnit.Distance

GreatestZDistance() public static method

public static GreatestZDistance ( this points ) : Distance
points this
return UnitClassLibrary.DistanceUnit.Distance

MakeIntoLineSegmentsThatMeet() public static method

Makes line segments that connect the given points in the order the appear in the list
public static MakeIntoLineSegmentsThatMeet ( this points ) : List
points this
return List

ProjectAllOntoPlane() public static method

public static ProjectAllOntoPlane ( this pointList, Plane plane ) : List
pointList this
plane Plane
return List

Rotate() public static method

public static Rotate ( this pointList, Rotation rotation ) : List
pointList this
rotation Rotation
return List

Shift() public static method

public static Shift ( this pointList, Shift shift ) : List
pointList this
shift Shift
return List