An NDoc Documented Class Library

Minais.Drawing3d.Math Namespace

Namespace hierarchy

Classes

Class Description
CrossItem  
CrossList  
Loxy Loxyz is a List of xyzArrays. This is sometimes needed in a geometrie, when a polygon contains holes
Loxyz Loxyz is a List of xyzArrays. This is sometimes needed in a geometrie, when a polygon contains holes
MathException All exceptions in the namespace Math are of type MathExceptions
Matrix Matrix is the fundamental class for all transformations. The dimensions of a Matrix you can set in the constructor. So am Matrix has a property Rows and a Property Cols whith indicats the dimensions for rows and columns. In most cases w'll deal with 4 x 4 matrices, because there are needed to represent transformations in a threedimenional room.
MultiTriangleList This list manages MultiIndexedTriangles
Plane A essential geometrical object is a Plane. We represent a plane allways by a point and a normalvector, who is normalized.
TriangleList This list manages IndexedTriangles
Utils This is a collection of useful mathematical functions and constants. All methods are static
xyArray The class xyArray is our basecontainer 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 layes on the polygon. Also a triangulation is implemented, who returns a

The Method returns in case, that the xyArray is clockwise orientates a positive value else the value is negative. The Length of cross is twice the area of the xyArray.
xyiArray This class is a container, which holds Point . A fine method is Inside, where you can check whether a point is inside a polygon or not. The property Count is read- and writeable. That makes the handling better. With Maxrect you get a rectangle envelopping the polygon.
xyzArray The class xyzArray is our basecontainer 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 layes on the polygon. Also a triangulation is implemented, who returns a

The Method returns in case, that the xyzArray is plane, a normalvector. His length is 2*area of the closed polygon.

Interfaces

Interface Description
ITransform  

Structures

Structure Description
Base Base is a class whitch represents a base in the mathematical sense. So it contains a baseorigin and three axes for x, y and z. Stored are these values in the fields BaseO, BaseX, BaseY and BaseZ, each of them is from type xyz. In general a base musn't be normalized, but some methods require this property ( Relativ,Absolut). Bases and matrices, who has (0, 0, 0, 1) in the fourth row are nearly the same thing. If you consider the columns of such a matrix then the columns represent a base when we omit the fourth coordinate. On the other side defines a base a transformationsmatrix, 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 essentials properties and datas, what are needed in work with it. So it holds an Origin and a Size.
IndexedTriangle Is used, if a triangle is descripted 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. 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 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' the name LineType is taken.
LineType2d This structure belongs to the geometrical object 2d-line. It contains two Points P and Q and of course a direction, which is 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 Value 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 the name LineType2d is taken.
MultiIndexedTriangle Is used, if a triangle is descripted by indices related to more then 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
xy xy is a foundation type for points in the 2D-Geometry I find the name is nice, short and handly. He has two fields x and y, who represent the x-Coordinate and the y-coordinate of the point.
xyz xyz is a foundation type for points in the 3D-world I find the name is nice, short and handly. He has tree fields x, y and z, who represent the x-Coordinate, the y-coordinate and the z-coordinate respectively

Enumerations

Enumeration Description
SetOperations