Drawing3d documented Class Library

Drawing3d.Math Namespace

Namespace Hierarchy

Classes

Class Description
CrossItem CrossItem is a member of a CrossList. Every intersection of two xyArrays get a Crossitem.
CrossList Is the result of getCrossList. It contains all intersections of two xyArrays.
Loxy Loxy is a List of xyzArrays. This is sometimes needed in geometry, when a polygon contains holes.
Loxyz Loxyz is a List of xyzArrays. This is sometimes needed in geometry, when a polygon contains holes.
MathException All exceptions in the namespace Math are of type MathExceptions
MultiTriangleList This list manages MultiIndexedTriangles
Plane An essential geometrical object is a Plane. We represent a plane allways by a point and a normal vector, which is normalized.
TriangleList This list manages IndexedTriangles
Utils This is a collection of useful mathematical functions and constants. All methods are static
Vertex2d Encapsulates the structure xy in a class.
Vertex3d Encapsulates the structure xyz in a class.
Vertex3dArray List of Vertex3d
Vertex3dArray_2 List of Vertex3dArray
xyArray The class xyArray is our base container for points of type xy. It has some pretty properties and Methods. So the Count is setable. With the Value method you get for any positive param < Count a point, which lies on the polygon. Also a triangulation is implemented, which returns a

The Method returns if the xyArray is clockwise orientated, a positive value otherwise the value is negative. The length of cross is twice the area of the xyArray.
xyiArray This class is a container, which holds Point . Inside is an agreeable method, whith which you can check whether a point is inside a polygon or not. The property Count is read- and writeable. That makes the handling easier. With Maxrect you get a rectangle enveloping the polygon.
xyzArray The class xyzArray is our base container for points of type xyz. It has some pretty properties and Methods. So the count is setable. With the Value method you get for any positive param < Count a point, which lies on the polygon. Also a triangulation is implemented, which returns a

The Method returns if the xyzArray is plane, a normal vector. His length is 2*area of the closed polygon.

Interfaces

Interface Description
ITransform If an object implements the interface ITransform it will be transformated by calling this interface

Structures

Structure Description
Base Base is a class which represents a base in the mathematical sense. So it contains a baseorigin and three axes for x, y and z. These values are stored in the fields BaseO, BaseX, BaseY and BaseZ, each of them from type xyz. In general doesn`t have to be normalized, but some methods require this property ( Relativ,Absolut). Bases and matrices which have (0, 0, 0, 1) in the fourth row are very similar. If the columns of such a matrix are considered, they represent a base when we omit the fourth coordinate. On the other side, a base defines a transformation matrix, if baseX, baseY, baseZ, baseO are taken as columns of a matrix (and adding (0, 0, 0, 1) in the fourth row). ToMatrix
Box The object Box encapsulates the essential properties and datas that are needed to work with it. So it holds an Origin and a Size.
IndexedTriangle Is used, if a triangle is described by indices related to a list of coordinates. IndexedTriangle is the default recordtype for the TriangleList
LineType This structure belongs to the geometrical object 3d-line. It contains two Points P and Q and of course a direction, which is given by Q - P. In addition it contains a Valuefunction, which returns a point for every parameter lam on the line. In case lam = 0, the Value is P and in case lam = 1, the Value is Q. Sometimes the LineType is regarded as infinite line, somtimes as bounded line, bounded by P and Q. To avoid confusions with the Curveclass 'Line', it`s called LineType.
LineType2d This structure belongs to the geometrical object 2d-line. It contains two Points, P and Q and of course a direction, given by Q - P. Additional it contains a Valuefunction with returns for every parameter lam a point on the line. In case lam = 0 the value is P and in case lam = 1 the alue is Q. Sometimes the LineType2d is regarded as infinite line, somtimes as bounded line (bounded by P and Q). To avoid confusions with the Curveclass Line, it is named LineType2d.
Matrix Matrix is the fundamental class for all transformations. The dimensions of a Matrix can be set in the constructor. So a Matrix has a property Rows and a property Cols which indicate the dimensions for rows and columns. In most cases we'll deal with 4 x 4 matrices, because they are needed to represent transformations in a three-dimensional room.
MultiIndexedTriangle Is used, if a triangle is described by indices related to more than one list of coordinates. In that case ListA, ListB, ListC are references to the related coordinatelist. MultiIndexedTriangle is the default recordtype for the MultiTriangleList
Triangle This class represents a container for three points A, B, C
Utils.SplineExValue Defines a structure for the calculations of spline. This structure contains the value and the derivation of the spline
xy xyis a foundation type for points in the 2D-Geometry I think the name is nice and short. He has two fields x and y which represent the x-Coordinate and the y-coordinate of the point.
xyz xyz is a foundation type for points in the 3D-world I think the name is nice, short and handy. He has three fields x, y and z, which represent the x-Coordinate, the y-coordinate and the z-coordinate respectively

Enumerations

Enumeration Description
BorderBehavior Defines a type for a cross of a line with a xyArray
SetOperations SetOperations is a parameter of SetOperation