Enhanced C#
Language of your choice: library documentation

Documentation moved to ecsharp.net

GitHub doesn't support HTTP redirects, so you'll be redirected in 3 seconds.

 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Classes | Typedefs | Enumerations
Package Loyc.Geometry

Contains math code and data types for processing geometry (points, lines, polygons, etc.). Basic geometry stuff is in Loyc.Essentials.dll, while more advanced algorithms are found in Loyc.Utilities.dll. More...

Classes

class  BoundingBox< T >
 Holds a mutable 2D bounding rectangle. More...
 
class  BoundingBoxExt
 Extension methods for BoundingBox{T}. More...
 
class  BoundingBoxMath
 Math and extension methods for BoundingBox{T}. More...
 
interface  INewPoint3< Point, T >
 This interface exists to work around a limitation of C#; see IPoint{T} and IPoint3{T}. More...
 
interface  INewPoint< Point, T >
 This interface exists to work around a limitation of C#; see IPoint{T}. More...
 
interface  INewRectangle3< Rect, T >
 This interface exists to work around a limitation of C#; see IRectangle3{T}. More...
 
interface  INewRectangle< Rect, T >
 This interface exists to work around a limitation of C#; see IRectangle{T}. More...
 
interface  IPoint3< T >
 A mutable 3D point with X, Y, and Z coordinates. More...
 
interface  IPoint3Base< T >
 This interface exists to work around a limitation of C#; use IPoint{T} instead. More...
 
interface  IPoint3Reader< T >
 Interface for reading the coordinates of a 3D point. More...
 
interface  IPoint< T >
 A mutable 2D point with X and Y coordinates. More...
 
interface  IPointBase< T >
 This interface exists to work around a limitation of C#; use IPoint{T} instead. More...
 
interface  IPointReader< T >
 Interface for reading the coordinates of a 2D point. More...
 
interface  IRectangle3< T >
 Represents a mutable 3D rectangle. More...
 
interface  IRectangle3Base< T >
 Represents a mutable 3D rectangular prism. More...
 
interface  IRectangle3Reader< T >
 Represents a read-only 3D rectangular prism. More...
 
interface  IRectangle< T >
 Represents a mutable 2D rectangle. More...
 
interface  IRectangleBase< T >
 Represents a mutable 2D rectangle. More...
 
interface  IRectangleReader< T >
 Represents a read-only 2D rectangle. More...
 
interface  ISize3Reader< T >
 Interface for reading the size of a 3D object. More...
 
interface  ISizeReader< T >
 Interface for reading the size of a 2D object. More...
 
class  LineMath
 Contains algorithms that operate on lines. More...
 
struct  LineSegment3< T >
 Holds a 3D line segment. More...
 
struct  LineSegment< T >
 Holds a 2D line segment. More...
 
struct  Point3< T >
 A 3D point (X-Y-Z triplet) structure. More...
 
struct  Point< T >
 A 2D point (X-Y pair) structure. More...
 
class  PointExt
 Contains methods for manipulating points in generic code. More...
 
class  PointMath
 Math and extension methods for Point{T}. More...
 
class  PolygonMath
 Contains useful basic polygon algorithms: hit testing, area calculation, orientation detection. More...
 
class  Rectangle3Ext
 Contains methods to manipulate rectangles. More...
 
class  RectangleExt
 Contains methods to manipulate rectangles. More...
 
struct  Vector3< T >
 Represents a three-dimensional vector, i.e. a magnitude and direction or the difference between two points, stored as X, Y and Z components. More...
 
struct  Vector3Math< T >
 Implementation of IAdditionGroup{T} for Vector{T}. More...
 
struct  Vector< T >
 Represents a two-dimensional vector, i.e. a magnitude and direction or the difference between two points, stored as X and Y components. More...
 
class  VectorExt
 Extension methods for vectors. TODO: reconsider distribution of methods between this class and PointMath in Loyc.Utilities. More...
 
struct  VectorMath< T >
 An implementation of IAdditionGroup{T} for Vector{T}. More...
 

Typedefs

using T = System.Int32
 
using BoundingBox = BoundingBox< int >
 
using LineSegment = LineSegment< float >
 
using Point = Point< float >
 
using Vector = Vector< float >
 
using Point3 = Point3< int >
 
using Vector3 = Vector3< int >
 

Enumerations

enum  LineType { Segment, Ray, Infinite }
 Indicates how a LineSegment{T} should be treated in a math algorithm: as a segment (the default), as a ray originating at A (extending B infinitely), or as an line that is infinite in both directions. More...
 

Detailed Description

Contains math code and data types for processing geometry (points, lines, polygons, etc.). Basic geometry stuff is in Loyc.Essentials.dll, while more advanced algorithms are found in Loyc.Utilities.dll.

Enumeration Type Documentation

Indicates how a LineSegment{T} should be treated in a math algorithm: as a segment (the default), as a ray originating at A (extending B infinitely), or as an line that is infinite in both directions.