Namespace GeometryHelper.Geometry
Classes
- GeoFace2
Whether a face touches another shape.
- GeoFace3
Whether a face touches another shape.
- GeoObb3
Whether an oriented box touches another shape.
- GeoPolygon2
Whether a polygon touches another shape.
- GeoPolygon3
Whether a polygon touches another shape.
- GeoPolygonArc2
Whether a curved loop touches another shape.
- GeoPolygonArc3
Whether a curved loop touches another shape.
- GeoPolyline2
Whether a polyline touches another shape.
- GeoPolyline3
Whether a polyline touches another shape.
- GeoPolylineArc2
Whether a curved chain touches another shape.
- GeoPolylineArc3
Whether a curved chain touches another shape.
- GeoSolid3
Whether a solid touches another shape.
- GeoTransform2
Represents a 2D transformation as a 3x3 homogeneous matrix, covering translation, rotation, scaling and mirroring.
The matrix is stored row-major and applied on the left, so
a.Multiply(b)means "apply b, then a", the usual convention for column vectors. Instances are immutable: every operation returns a new transformation rather than changing this one. It is the counterpart in the plane of GeoTransform3, and the two are built and read the same way.
- GeoTransform3
Represents a 3D transformation as a 4x4 homogeneous matrix, covering translation, rotation, scaling and mirroring.
The matrix is stored row-major and applied on the left, so
a.Multiply(b)means "apply b, then a", the usual convention for column vectors. Instances are immutable: every operation returns a new transformation rather than changing this one.
Structs
- GeoAabb3
Whether an axis-aligned box touches another shape.
- GeoArc2
Whether an arc touches another shape.
- GeoArc3
Whether an arc touches another shape.
- GeoCircle2
Whether a circle touches another shape.
- GeoCircle3
Whether a circle touches another shape.
- GeoCoordinateSystem2
A local coordinate system in the plane: an origin and two orthonormal axes, the counterpart of GeoCoordinateSystem3 in space.
It is the place a drawing sits rather than something done to a drawing. GeoTransform2 can say the same thing, and ToTransform() hands it over in that form, but a transformation may also scale, mirror or shear, and reading one backwards means inverting a matrix. A frame is rigid by construction, and reading it backwards is turning the axes round, which costs nothing and loses nothing.
- GeoCoordinateSystem3
Represents a 3D local coordinate system: an origin and three orthonormal axes.
The axes are always orthonormal, whatever is passed in. The supplied X direction is kept, the Z axis is taken as X × Y, and the Y axis is then rebuilt as Z × X. That third step is what makes the system square: keeping the supplied Y unchanged would leave a skewed frame in which ToLocal(GeoPoint3) and ToGlobal(GeoPoint3) stop being inverses of each other, and every measurement taken through it would be quietly wrong.
- GeoEdge2
Whether an edge touches another shape.
- GeoEdge3
Whether an edge touches another shape.
- GeoLine2
Whether a segment touches another shape.
- GeoLine3
Whether a segment touches another shape.
- GeoPlane3
Whether a plane touches another shape.
- GeoPoint2
Whether a point touches another shape.
- GeoPoint3
Whether a point touches another shape.
- GeoRay3
Whether a ray touches another shape.
- GeoRectangle2
Whether a rectangle touches another shape.
- GeoTriangle3
Whether a triangle touches another shape.
- GeoVector2
Represents a 2D vector with double precision coordinates.
- GeoVector3
Represents a 3D vector with double precision components.