**V# - the vector geometry namespace**enables you to solve most

**2d and 3d**descriptive geometry tasks with a few lines of code. It supports the planar objects point, edge, line, plane, triangle, circle, ellipse and arc.

**It's easy!** Once instantiated, you may rotate, move, mirror, project, scale or transform the coordinates of an object.
Interact objects by computing intersections, distances or perpendiculars between them.
Access a multitude of interesting properties like special circles and points of a triangle.
All in all, you will find more than 1000 methods and properties.

**It's fast!** This library provides highly efficient algorithms suitable for large-scale applications.

**It's graphic!**V# comprises a powerful tool to output all objects in an AC1009-dxf™ format compatible file.
This format is probably one of the most widely supported vector formats and can be read by most professional CAD systems like Autodesk™ AutoCAD™ (release 12 or higher). There are many freely available viewers like Autodesk™ TrueView™.
Use this tool to quickly visualize your computations or even to create complex drawings!

**Plus!** Benefit from the fast matrix, vector or solver classes in your own computations. There is more to discover! Learn more about all types exposed by V# in this documentation.

# Classes

Class | Description | |
---|---|---|

Arc | A 3d circular arc. | |

Circle | A 3d circle. | |

CompareEndpoint | Compare end points. | |

CompareStartEndPoints | Compare start points, then end points. | |

CompareStartpoint | Compare start points. | |

CoordinateSystem | A 3d Cartesian coordinate system. | |

CoordinateTransformator | Provides high performance coordinate transformation. | |

Edge | A 3d edge. | |

Ellipse | A 3d ellipse. | |

EllipticalCone | A 3d elliptical cone. | |

KernelTimeGauge | A high-resolution time gauge to measure the kernel time. | |

Line | A 3d line. | |

LineSearch | Performs a line search. | |

Matrix3d | A 3d ([3x3]) - matrix. | |

Matrix4d | A 4d ([4x4]) - matrix. | |

Plane | A 3d plane. | |

Point | A 3d point. | |

PointSet | High performance methods for large point sets. | |

RandomGenerator | A random number generator. | |

Scene | An object container for AC1009-format dxf™-compatible file output. | |

Scene..::.Layer | A layer. | |

Scene..::.SceneText | A text with additional information. | |

Solver | A linear 3x3 system solver. | |

Triangle | A 3d triangle. | |

Triangle..::.CompareArea |
Area compare.
| |

Triangle..::.CompareCenterZ |
Center Z compare.
| |

Triangle..::.CompareMaxX |
Max Z compare.
| |

Triangle..::.CompareMaxY |
Max Z compare.
| |

Triangle..::.CompareMaxZ |
Max Z compare.
| |

Triangle..::.CompareMinimumAngle |
Minimum angle compare.
| |

Triangle..::.CompareMinX |
Max Z compare.
| |

Triangle..::.CompareMinY |
Max Z compare.
| |

Triangle..::.CompareMinZ |
Max Z compare.
| |

Vector3d | A 3d vector. |

# Structures

Structure | Description | |
---|---|---|

Global | Global variable settings affecting robustness and precision - READ!. |

# Delegates

Delegate | Description | |
---|---|---|

LineSearch..::.ObjectiveFunction | Declares an objective function y = f(x) |

# Enumerations

Enumeration | Description | |
---|---|---|

Edge..::.EdgeStatus | The status of the edge. | |

PointSet..::.SortOrder | The sort order of coordinates for a lexicographical point sort. | |

Scene..::.Layer..::.DxfLineType | The line types available. | |

Scene..::.SceneText..::.HorizontalJustification | The horizontal alignment of the text. | |

Scene..::.SceneText..::.VerticalJustification | The vertical alignment of the text. | |

Triangle..::.SliceMethod | Determines which side to keep after slicing a triangle. | |

Triangle..::.SortOrder | The sort order of coordinates for a lexicographical point sort. |