C# Class R3.Math.Isometry

Inheritance: ITransform
显示文件 Open project: roice3/Honeycombs Class Usage Examples

Private Properties

Property Type Description
ApplyCachedCircleInversion System.Numerics.Complex
CacheCircleInversion void
CacheCircleInversion void
CalculateFromTwoPolygonsInternal void
CircleInversion System.Numerics.Complex
IsNaN bool

Public Methods

Method Description
Apply ( System.Numerics.Complex z ) : System.Numerics.Complex

Applies an isometry to a complex number.

Apply ( Vector3D z ) : Vector3D

Applies an isometry to a vector.

Use the complex number version if you can.

CalculateFromTwoPolygons ( Tile home, Polygon boundaryPolygon, Geometry g ) : void
CalculateFromTwoPolygons ( Tile home, Tile tile, Geometry g ) : void

Calculates an isometry by taking a tile boundary polygon to a home.

Clone ( ) : Isometry
Inverse ( ) : Isometry

Returns a new Isometry that is the inverse of us.

Isometry ( ) : System.Collections.Generic
Isometry ( Isometry i ) : System.Collections.Generic
Isometry ( Mobius m, Circle r ) : System.Collections.Generic
ReflectX ( ) : Isometry

Returns an isometry which represents a reflection across the x axis.

TransformVertices ( Vector3D vertices, Isometry isometry ) : Vector3D[]

Simple helper to transform an array of vertices using an isometry. Warning! Allocates a new array.

operator ( ) : Isometry

Composition operator.

Private Methods

Method Description
ApplyCachedCircleInversion ( System.Numerics.Complex input ) : System.Numerics.Complex
CacheCircleInversion ( Circle inversionCircle ) : void

Does a circle inversion on an arbitrary circle.

CacheCircleInversion ( System.Numerics.Complex c1, System.Numerics.Complex c2, System.Numerics.Complex c3 ) : void

Does a circle inversion in an arbitrary, generalized circle. IOW, the three points may be collinear, in which case we are talking about a reflection.

CalculateFromTwoPolygonsInternal ( Polygon home, Polygon boundary, CircleNE homeVertexCircle, Geometry g ) : void
CircleInversion ( System.Numerics.Complex input ) : System.Numerics.Complex

This will reflect a point in an origin centered circle.

IsNaN ( System.Numerics.Complex c ) : bool

Method Details

Apply() public method

Applies an isometry to a complex number.
public Apply ( System.Numerics.Complex z ) : System.Numerics.Complex
z System.Numerics.Complex
return System.Numerics.Complex

Apply() public method

Applies an isometry to a vector.
Use the complex number version if you can.
public Apply ( Vector3D z ) : Vector3D
z Vector3D
return Vector3D

CalculateFromTwoPolygons() public method

public CalculateFromTwoPolygons ( Tile home, Polygon boundaryPolygon, Geometry g ) : void
home R3.Geometry.Tile
boundaryPolygon Polygon
g Geometry
return void

CalculateFromTwoPolygons() public method

Calculates an isometry by taking a tile boundary polygon to a home.
public CalculateFromTwoPolygons ( Tile home, Tile tile, Geometry g ) : void
home R3.Geometry.Tile
tile R3.Geometry.Tile
g Geometry
return void

Clone() public method

public Clone ( ) : Isometry
return Isometry

Inverse() public method

Returns a new Isometry that is the inverse of us.
public Inverse ( ) : Isometry
return Isometry

Isometry() public method

public Isometry ( ) : System.Collections.Generic
return System.Collections.Generic

Isometry() public method

public Isometry ( Isometry i ) : System.Collections.Generic
i Isometry
return System.Collections.Generic

Isometry() public method

public Isometry ( Mobius m, Circle r ) : System.Collections.Generic
m Mobius
r Circle
return System.Collections.Generic

ReflectX() public static method

Returns an isometry which represents a reflection across the x axis.
public static ReflectX ( ) : Isometry
return Isometry

TransformVertices() public static method

Simple helper to transform an array of vertices using an isometry. Warning! Allocates a new array.
public static TransformVertices ( Vector3D vertices, Isometry isometry ) : Vector3D[]
vertices Vector3D
isometry Isometry
return Vector3D[]

operator() public static method

Composition operator.
public static operator ( ) : Isometry
return Isometry