Table of Contents

Class ImplicitShape

Namespace
Gamelogic.Grids2
Assembly
Assembly-CSharp.dll

Provides methods for creating and manipulating implicit shapes.

public static class ImplicitShape
Inheritance
ImplicitShape
Inherited Members

Methods

Circle(float, Func<Vector2, float>)

Creates a 2D Circle Shape with center in (0,0)

Circle(Vector2, float, Func<Vector2, float>)

Creates a 2D Circle Shape.

ConvexPolygon(IEnumerable<GridPoint2>)

Creates a 2D Convex Polygon given a IEnumerable of vertices.

DownTriangle(float)

Creates a 2D Down Triangle Shape using a Down Triangle Norm.

DownTriangle(Vector2, float)

Creates a 2D Down Triangle Shape using a Circle Shape with a DownTriangle Norm.

FlatHexFatRectangle(GridPoint2)

Creates a fat rectangle shape suitable for a flat hex grid.

FlatHexRectangle(GridPoint2)

Creates a rectangle shape suitable for a flat hex grid.

FlatHexThinRectangle(GridPoint2)

Creates a thin rectangle shape suitable for a flat hex grid.

Func<TPoint>(Func<TPoint, bool>)

Creates a shape from a predicate.

HalfPlane(GridPoint2, GridPoint2)

Creates a 2D HalfPlane Shape given two points.

HexFatRectangle(GridPoint2)
HexRectangle(GridPoint2)
HexThinRectangle(GridPoint2)
Hexagon(float)

Creates a 2D Hexagon Shape using a Circle Shape with a Hex Norm.

Hexagon(Vector2, float)

Creates a 2D Hexagon Shape using a Circle Shape with a Hex Norm.

Intersect(IEnumerable<IImplicitShape<GridPoint2>>)

Creates a 2D Intersect Shape.

Intersection<TPoint>(IImplicitShape<TPoint>, IImplicitShape<TPoint>)

Creates a generic Function Shape that works as a Generic Intersection.

Intersection<TPoint>(IEnumerable<IImplicitShape<TPoint>>)

Creates a generic Function Shape that works as a Generic Intersection.

Inverse<TPoint>(IImplicitShape<TPoint>)

Create a generic Function Shape that works as a Generic Inverse.

Layer(IImplicitShape<GridPoint2>, int)

Creates a shape that has the given number of 2D shapes stacked in layers.

Layer(IEnumerable<IImplicitShape<GridPoint2>>)

Creates a new 3D shape by staking a list of 2D shapes.

List(IEnumerable<GridPoint2>)

Creates a 2D PointListShape with a list of given points.

Parallelepiped(GridPoint3)

Creates a 3D Parallelepiped.

Parallelogram(GridPoint2)

Creates a 2D Parallelogram Shape.

PointyHexFatRectangle(GridPoint2)

Creates a fat rectangle shape suitable for a pointy hex grid.

PointyHexRectangle(GridPoint2)

Creates a rectangle shape suitable for a pointy hex grid.

PointyHexThinRectangle(GridPoint2)

Creates a thin rectangle shape suitable for a pointy hex grid.

Product(IExplicitShape<GridPoint2>, IImplicitShape<GridPoint2>, GridPoint2)

Creates a 2D Product Shape.

Product(IExplicitShape<GridPoint3>, IImplicitShape<GridPoint3>, GridPoint3)

Creates a shape that is the product of this shape with another shape.

Product(IExplicitShape<int>, IImplicitShape<int>, int)

Creates a 1D Product Shape using another shape and a scale factor.

RectDiamond(float)

Creates a 2D RectDiamond Shape using a Circle Shape with a Manhattan Norm.

RectDiamond(Vector2, float)

Creates a 2D Rect Diamond Shape using a Circle Shape with a Manhattan Norm.

ReverseSelect<TPoint>(IImplicitShape<TPoint>, Func<TPoint, TPoint>)

Returns a new implicit shape that projects points before testing them for membership.

Segment(GridInterval)

Creates a 1D Segment Shape given a GridInterval.

Segment(int, int)

Creates a 1D Segment Shape with a given start and size interval.

SegmentFromEndpoints(int, int)

Creates a 1D Segment Shape with a given start and end point.

Single(int)

Creates a 1D Segment of size 1 and a value point of n.

Single1()

Creates a 1D Single Shape with center value 0.

Single1(GridPoint3)

Creates a 3D Single Shape.

Single1(int)

Creates a 1D Single Shape with a given point value.

Single2()

Creates a 2D Single Shape with a center value of (0,0)

Single2(GridPoint2)

Creates a 2D Single Shape with a given center value.

Single3()

Creates a 3D Single Shape with a center point of (0, 0, 0)

Sphere(float)

Creates a 3D Sphere.

Square(float)

Creates a 2D Square Shape using a Circle Shape with a Chebychev norm.

Square(Vector2, float)

Creates a 2D Square Shape using a Circle Shape with a Chebychev norm.

Star(float)

Creates a 2D Star Shape using a Circle Shape with a Star Norm.

Star(Vector2, float)

Creates a 2D Star Shape using a Circle Shape with a Star Norm.

SwapToXZY(IImplicitShape<GridPoint3>)

Creates a new shape with the same points as the given shape with Y and Z swapped.

SwapToYXZ(IImplicitShape<GridPoint3>)

Creates a new shape with the same points as the given shape with X and Y swapped.

SwapToYZX(IImplicitShape<GridPoint3>)

Creates a new shape with the same points as the given shape with the coordinates shifted left.

SwapToZXY(IImplicitShape<GridPoint3>)

Creates a new shape with the same points as the given shape with coordinates shifted right.

SwapToZYX(IImplicitShape<GridPoint3>)

Creates a new shape with the same points as the given shape with coordinates in reverse order.

SwapXY(IImplicitShape<GridPoint2>)

Creates a new shape with the same points as the given shape with X and Y swapped.

SwapYZ(IImplicitShape<GridPoint3>)

Creates a new shape with the same points as the given shape with Y and Z swapped.

Transform<TPoint>(IImplicitShape<TPoint>, IReverseMap<TPoint, TPoint>)

Creates a generic Function Shape that works as a Generic Transform.

Translate(IImplicitShape<GridPoint2>, GridPoint2)

Creates a 2D Translate Shape.

Translate(IImplicitShape<GridPoint3>, GridPoint3)

Creates a 3D Translate Shape.

Translate(IImplicitShape<int>, int)

Creates a 1D Translation Shape with a given offset.

Union(IEnumerable<IImplicitShape<GridPoint2>>)

Creates a 2D Union Shape.

Union<TPoint>(IImplicitShape<TPoint>, IImplicitShape<TPoint>)

Creates a generic Function Shape that works as a Generic Union.

Union<TPoint>(IEnumerable<IImplicitShape<TPoint>>)

Creates a generic Function Shape that works as a Generic Union.

UpTriangle(float)

Creates a 2D UpTriangle shape.

UpTriangle(Vector2, float)

Creates a 2D Up Triangle Shape using a Circle Shape with a UpTriangle Norm.

Where<TPoint>(IImplicitShape<TPoint>, Func<TPoint, bool>)

Creates a generic Function Shape that works as a Generic Where.