|
Name
|
Description
|
|
AlgoDelaunayTriangulation<PT>
|
|
|
AmoebaOptimizer
|
Variant of the Melder-Nead general purpose multi dimensional
minimum optimizer.
|
|
AmoebaSolution
|
|
|
Angle
|
|
|
Apollonius2d
|
This class is used to compute circles that tangents other objects.
|
|
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.
|
|
Arc2dB
|
|
|
Arc3d
|
Class describing a 3d circular arc.
|
|
BBoolIntersect
|
Intersect boolean operation.
|
|
BBoolType
|
An abstract class describing a specific boolen operation.
|
|
BBoolUnion
|
Union boolean operation.
|
|
BBoolXOr
|
XOR boolean operation.
|
|
BNode
|
Represents an insert or deletion node in the sweepline implementation of boolean operations.
|
|
BSweep
|
|
|
Bezier2d
|
Cubic Bezier curve
|
|
Bijection<K, V>
|
|
|
BinGrid
|
|
|
BitGrid2d
|
|
|
Boolean2d
|
Boolean operations.
|
|
BoundaryPoly2d
|
Boundary polygon.
|
|
BoundingCircle
|
Implements Welzl’s algorithm for smallest enclosing circle with convex hull and randomization.
|
|
BumpDistance
|
Class to calculate the distance to move a set of polys agains another set of polys until they touch.
|
|
Cache<S, T>
|
|
|
Calc
|
A collection of useful numerical functions and constants.
|
|
Circle2d
|
Represents a two dimensional circle.
|
|
ClipperBoolean
|
|
|
Closest2d<Geometry>
|
|
|
ClosestPair3d
|
|
|
ClosestPoints2d
|
|
|
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.
|
|
Complex
|
|
|
Conic2d
|
|
|
ConvexHull2d
|
Various algorithms used to compute convex hulls
|
|
Convolve2d
|
|
|
Decompose2d
|
|
|
DelanuayIndices
|
|
|
Dijkstra
|
|
|
DijkstraEdge
|
|
|
DijkstraNode
|
|
|
Distance2d
|
Various distance computations between plane objects.
|
|
Distance3d
|
|
|
Edge
|
|
|
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.
|
|
Extents2d
|
Class that describes the extents of another object as an axis aligned box.
|
|
Extents3d
|
|
|
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.
|
|
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.
|
|
FastInside
|
|
|
FitBezierCurves
|
An Algorithm for Automatically Fitting Digitized Curves
by Philip J.Schneider. from "Graphics Gems", Academic Press, 1990
|
|
FlameCluster
|
|
|
FlamePoint
|
|
|
Geometry2d
|
This is the base class all 2d primitives should inherit.
|
|
GeometryGrid2d<T>
|
|
|
GeometryGrid3d<T>
|
|
|
GeometryGridArc2d
|
|
|
InsidePoly2d
|
Class for speeding up multiple point in polygon tests. Works with both Poly2d and Region2D.
|
|
Intersect2d
|
This static class contains various Intersection algorithms for 2d objects.
|
|
Intersect3d
|
|
|
IntervalTree<T>
|
|
|
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.
|
|
KDNode2d<T>
|
This class is used to hold objects in a KDTree2d.
|
|
KDNode3d<T>
|
|
|
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.
|
|
KDTree3d<T>
|
|
|
Line2d
|
Class describing a linear object. The Line2d class is used to describe booth infinite lines, line segments and rays.
|
|
Line3d
|
3d line class
|
|
LinkList<T>
|
General purpose linked list class.
|
|
LinkListNode<T>
|
A node structure for a generic Genamo.LinkList
|
|
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 |
|
|
Matrix3d
|
A 3d matrix class for 3d affine transformations.
|
|
Offset2d
|
|
|
OverScan2d<T>
|
Class to find overlapping bounding boxes.
Replaces class BoundingBox2d with a simplified interface.
|
|
OverScan3d<T>
|
|
|
Pair<T1, T2>
|
Pair is a utility class glueing two objects together.
|
|
Plane3d
|
3d plane 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.
|
|
PlaneSweepIntersection
|
Result node used by the PlaneSweep2d class, which represents a point and two user id:s.
|
|
Point2d
|
2d point class
|
|
Point3d
|
Class used to hold a simple 3d point.
|
|
Poly2d
|
Poly2d is a collection of PolyPoint2d describing a, possibly closed, contour which can have
bulged segments (segments that are circular arcs).
|
|
Poly3d
|
|
|
PolyClip2d
|
|
|
PolyPoint2d
|
Class that makes up the nodes in a polyline. Bulge is the 'bend' factor for the arc.
|
|
PolygonSimplification
|
|
|
Polynomial
|
|
|
Quad3d
|
|
|
QuadEdge
|
|
|
QuadraticBezier2d
|
|
|
Quaternion3d
|
|
|
RealMatrix
|
|
|
RealPolynomial
|
|
|
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.
|
|
SampleInterpolator2d
|
|
|
SegmentGrid
|
|
|
Set<T>
|
A generic Set type. Methods: Add, Remove, Contains and Clear.
|
|
ShapeSimilarity
|
|
|
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.
|
|
SkipListNode<T>
|
A node structure for the Genamo.SkipList.
|
|
Skyline
|
|
|
SkylineInt
|
|
|
SpanGrid
|
|
|
SweepArea2d
|
Algorithm to compute the region area that is covered when another region i swept along a vector.
|
|
Trapezoid
|
|
|
Trapezoidize
|
|
|
Triangle2d
|
|
|
Triangle3d
|
|
|
Tripple<T1, T2, T3>
|
Tripple is a utility class glueing three objects together.
|
|
Vector2d
|
Class that represents a 2d vector, that is a length and a direction in 2d space.
|
|
Vector3d
|
A class that represents a vector in 3d space.
|
|
Vornoi2d
|
|