Fusee.Jometri Namespace 
The types in this module implement geometry manipulation functionality.
Geometry manipulation algorithms need to quickly access information about a geometry's topology including queries such as "Wich edges are connected to a vertex", "Retrieve all vertices for a given polygon", "Retrieve all adjacent polygons".
The main type provided in this module is Geometry internally keeping geometry data in a data structure called DECL (doubly connected (half) edge list) allows for such queries. Additionally, a number of geometric algorithms are implemented here.
Class  Description  

BinarySearchTreeTK, TV 
Data structure that stores items and allows fast lookup, insertion and deletion.
 
CreatePrimitiveGeometry 
This class provides public methods to create primitive geometry from scratch. The Geometry is stored in DCEL
 
Extrude 
Provides extrusion functionality for geometries.
 
GeomEditing 
Provides methods to edit the components of a geometry.
 
GeometricOperations 
Provides methods to perform geometric operations.
 
Geometry 
Stores geometry in a DCEL (doubly connected (half) edge list).
 
GeomInitializeHelper 
Helper class for initializing Geometry objects.
 
NodeTK, TV 
Represents a node in a (binary) tree.
 
SubdivisionSurface 
Provides functionallity to perform a CatmullClark SubdivisionSurface algorithm on a Geometry.
 
TangentSpaceCalulator 
Static class for tangent space calculation
 
Triangulation 
Contains the triangulation of a geometry, stored in half edge data structure.

Structure  Description  

Face 
Each face belonging to a 2D geometry contains:
a handle to assign a abstract reference to it.
a referance to one of the half edges that belongs to the faces outer boundary.
a List that contains handles to one half edge for each hole in a face.
attribute information, e.g. the face nromal.
Note that unbounded faces can't have a OuterHalfEdge but must have at least one InnerHalfEdge  bounded faces must have a OuterComponent.
 
FaceData 
Contains additional information that can be added to Faces.
 
HalfEdge 
Represents a half edge.
Each half edge contains:
a handle to assign a abstract reference to it.
a handle to the half edge's origin vertex.
a handle to the next half edge.
a handle to the previous half edge.
a handle to the face it belongs to.
attribute information, e.g. the normal and the texture coordinates.
 
HalfEdgeData 
Contains additional information that can be added to HalfEdges.
 
PolyBoundary 
Represents an outer or inner boundary of a polygon.
 
Vertex 
Each vertex contains:
a handle to assign a abstract reference to it.
attribute information, e.g. the position of the vertex.
 
VertexData 
Contains additional information that can be added to Vertices.

Enumeration  Description  

VertexType 
To divide a polygon into y monotone pieces, the corners of this polygon must be divided into different categories.
Those are start, end, split, merge, and regular vertices.
