IGS.Genamo Namespace

Classes
 
Name Description
Public class Static AlgoDelaunayTriangulation<PT>
Public class AmoebaOptimizer Variant of the Melder-Nead general purpose multi dimensional minimum optimizer.
Public class AmoebaSolution
Public class Angle
Public class Apollonius2d This class is used to compute circles that tangents other objects.
Public class Arc2d Class describing a circular arc. This circular arc should not be seen as a part of a circle, but more lika a bent segment. Internally it is stored with two points and a bulge factor, which makes it possible to have an arc that equals a line segment. The bulge is defined as i=4*atan(bulge) where i is the arcs included angle. A positive bulge is a counter clockwise arc while a negative is a clockwise.
Public class Arc2dB
Public class Arc3d Class describing a 3d circular arc.
Public class BBoolIntersect Intersect boolean operation.
Public class BBoolType An abstract class describing a specific boolen operation.
Public class BBoolUnion Union boolean operation.
Public class BBoolXOr XOR boolean operation.
Public class BNode Represents an insert or deletion node in the sweepline implementation of boolean operations.
Public class BSweep
Public class Bezier2d Cubic Bezier curve
Public class Bijection<K, V>
Public class BinGrid
Public class BitGrid2d
Public class Boolean2d Boolean operations.
Public class BoundaryPoly2d Boundary polygon.
Public class BoundingCircle Implements Welzl’s algorithm for smallest enclosing circle with convex hull and randomization.
Public class BumpDistance Class to calculate the distance to move a set of polys agains another set of polys until they touch.
Public class Cache<S, T>
Public class Static Calc A collection of useful numerical functions and constants.
Public class Circle2d Represents a two dimensional circle.
Public class ClipperBoolean
Public class Closest2d<Geometry>
Public class Static ClosestPair3d
Public class Static ClosestPoints2d
Public class CollisionGrid2d A fast geometry collission detection class. Note that the extents of the to-be-added obstacle geometry must be known in advance to use this structure.
Public class Complex
Public class Conic2d
Public class Static ConvexHull2d Various algorithms used to compute convex hulls
Public class Convolve2d
Public class Decompose2d
Public class DelanuayIndices
Public class Dijkstra
Public class DijkstraEdge
Public class DijkstraNode
Public class Static Distance2d Various distance computations between plane objects.
Public class Static Distance3d
Public class Edge
Public class Ellipse2d The ellipse can represent either a full ellipse or an elliptical arc. The ellipse can be tilted in world space, using the angle of the major axis. Degenerate ellipses (one of the axis is zero length) is not supported and will most likely produce odd results and exceptions. The elliptical arc is always seen as counter clockwise and the major axis is always the longest axis of the ellipse. Constuctors will swap axes and angles so that this conditions are fullfilled. A word about our definition of elliptical parameters: an elliptical parameter is in range 0-2pi, where parameter 0 is the right quadrant point of the ellipse in the ellipses local coordinate system. When the ellipse is an arc, the paramteric range of this arc is a sub part of this parametric range, which means an arc can for example have startparameter=0.3 endparameter=0.8.
Public class Extents2d Class that describes the extents of another object as an axis aligned box.
Public class Extents3d
Public class ExtentsGrid2d<T> A dynamic size grid working on objects with IExtents2d. Extents is saved internally so the only time extents is called is in the Add function.
Public class ExtentsOverlaps2d This class contains only one method, ComputeOverlappingPairs. It is used to determine which of the input objects, which has to inherit from IExtends2d, overlaps with each other, judging only by their extents box. The result is a list of intersection pairs.
Public class FastInside
Public class Static FitBezierCurves An Algorithm for Automatically Fitting Digitized Curves by Philip J.Schneider. from "Graphics Gems", Academic Press, 1990
Public class FlameCluster
Public class FlamePoint
Public class Geometry2d This is the base class all 2d primitives should inherit.
Public class GeometryGrid2d<T>
Public class GeometryGrid3d<T>
Public class GeometryGridArc2d
Public class InsidePoly2d Class for speeding up multiple point in polygon tests. Works with both Poly2d and Region2D.
Public class Static Intersect2d This static class contains various Intersection algorithms for 2d objects.
Public class Static Intersect3d
Public class IntervalTree<T>
Public class Join2d Joins a set of arcs, lines, regions or polys. Polys will not be exploded but will be kept together during the join operation. If this is not what you want you need to traverse the polys and add the arcs one by one.
Public class KDNode2d<T> This class is used to hold objects in a KDTree2d.
Public class KDNode3d<T>
Public class KDTree2d<T> The KDTree2d class is a 2d variant of a general KD tree. This data structure is used too rapidly find points in the plane who resides in a given bounding box.
Public class KDTree3d<T>
Public class Line2d Class describing a linear object. The Line2d class is used to describe booth infinite lines, line segments and rays.
Public class Line3d 3d line class
Public class LinkList<T> General purpose linked list class.
Public class LinkListNode<T> A node structure for a generic Genamo.LinkList
Public class Matrix2d Class of which objects represents affine transformatins in 2d space. The matrix public doubles is a 2*3 matrix that has the following structure: | m00=xaxis-x | m10=xaxis-y | | m01=yaxis-x | m11=yaxis-y | | m02=transx | m12=transy |
Public class Matrix3d A 3d matrix class for 3d affine transformations.
Public class Offset2d
Public class OverScan2d<T> Class to find overlapping bounding boxes. Replaces class BoundingBox2d with a simplified interface.
Public class OverScan3d<T>
Public class Pair<T1, T2> Pair is a utility class glueing two objects together.
Public class Plane3d 3d plane class
Public class PlaneSweep2d A class that implements an algorithm to test overlapping objects to each other. Uses bounding box rejection to speed things up, which means the time complexity is output sensitive.
Public class PlaneSweepIntersection Result node used by the PlaneSweep2d class, which represents a point and two user id:s.
Public class Point2d 2d point class
Public class Point3d Class used to hold a simple 3d point.
Public class Poly2d Poly2d is a collection of PolyPoint2d describing a, possibly closed, contour which can have bulged segments (segments that are circular arcs).
Public class Poly3d
Public class PolyClip2d
Public class PolyPoint2d Class that makes up the nodes in a polyline. Bulge is the 'bend' factor for the arc.
Public class PolygonSimplification
Public class Polynomial
Public class Quad3d
Public class QuadEdge
Public class QuadraticBezier2d
Public class Quaternion3d
Public class RealMatrix
Public class RealPolynomial
Public class Region2d A region is basically a collection of Poly2d objects, where counter clockwise contours are seen as outer contours and clockwise polygons are seen as holes.
Public class SampleInterpolator2d
Public class SegmentGrid
Public class Set<T> A generic Set type. Methods: Add, Remove, Contains and Clear.
Public class ShapeSimilarity
Public class SkipList<T> General purpose skiplist class. A skiplist is a sorted linked list with O(logn) search time. The skiplist works like a binary tree but also have linear traversal access to the sorted elements.
Public class SkipListNode<T> A node structure for the Genamo.SkipList.
Public class Skyline
Public class SkylineInt
Public class SpanGrid
Public class SweepArea2d Algorithm to compute the region area that is covered when another region i swept along a vector.
Public class Trapezoid
Public class Trapezoidize
Public class Triangle2d
Public class Triangle3d
Public class Tripple<T1, T2, T3> Tripple is a utility class glueing three objects together.
Public class Vector2d Class that represents a 2d vector, that is a length and a direction in 2d space.
Public class Vector3d A class that represents a vector in 3d space.
Public class Vornoi2d
Top
Name Description
Public interface ICircular2d An interface that implments common properties of circular objects such as circles and circular arcs.
Public interface IExtents2d Objects having this interface can return a 2d bounding box of themselves.
Public interface IExtents3d
Public interface IPosition2d This interface is for objects that have a 2d position, for example a point. Used in positional algorithms such as KDTree2d etc.
Public interface IPosition3d
Top
Name Description
Public structure BigInt Integer class to hold integers of any size
Public structure Rat64
Top
Name Description
Public delegate Boolean2dProgressDelegate A delegate used as callback for boolen operations.
Public delegate DrawArcDelegate A delegate used when debugging. Will be removed in final version.
Public delegate DrawPointDelegate
Public delegate FlattenEvalCallback
Public delegate IntegrationFunction A delegate used as callback for numeric integration. IntegrationFunction(x) is the value of the function to integrate at x.
Public delegate MultiFunction
Public delegate NumericFunctionDelegate A delegate used as callback in numeric search functions.
Public delegate OverScanCallback<T> Callback for OverScan2d. If this function returns true the scan is breaked.
Public delegate PlaneSweepDelegate Callback delegate used for testing object agains each other in a plane sweep.
Top
Name Description
Public enumeration ClipFlags Flags used in various clipping and distance algorithms. This clever enum can combine North and East for example to have NorthEast which means ( ClipFlags.North|ClipFlags.East == ClipFlags.NorthEast )
Public enumeration ConicType
Public enumeration Contain
Public enumeration Direction Specifies the direction of an object as clockwise,counter clockwise or linear. For example used by Arc2d.
Public enumeration FlameType
Public enumeration FlattenMode Specifies how an object should be flattened.
Public enumeration LineCapMode Specifies how the endcaps should be created.
Public enumeration OffsetGapType Specifies how offsetted lines should be joined when disjoint.
Public enumeration PlaneSweepResult Result flags to return from the plane sweep callback.
Public enumeration Side Specifies a side of something, for example the relative side of a point to a line.
Public enumeration TriangleSplitFlags
Public enumeration TwistMode
Top

.NET Framework

Supported in: 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

In this article

Definition