An NDoc Documented Class Library

Minais.Drawing3d Namespace

Namespace hierarchy

Classes

Class Description
ActiveCtrl The ActiveCtrl inherits from an entity. It holds properties and methods to implement interactive manipulations of graphical datas.
It is bouded to a Device and is located as child of Work With the Mouse- and Keyevents you have an instrument to handle actions of an user. The methods ctrlMarker, ctrlLine,ctrlCurve and ctrlPoly are nice drawmethods. They change the Color ( HoverColor if the mouse lays over it. By a click you get information about the tag, which is setted as parameter to these methods.
...
protected override void draw(MNDevice device)
    { 
    ...
        ctrlMarker(new xyz(4, 4, 0), 2006);
        // draws a marker at position (4 / 4/ 0)
        // if the mouse moves over this marker then it will be highlighted with 
        //hovercolor
        ctrlMarker(new xyz(0, 4, 0), 2007);
        ctrlMarker(new xyz(0, 0, 0), 2008);
        
    ...
        
    }

protected override void MouseMove( System.Windows.Forms.MouseEventArgs e)
    {
    if (CurrentHit!=null)
     switch ((int)CurrentHit.Tag)
     {
        case 2006 :// Mouse is at Marker  4/ 4/ 0 
                    break;
        case 2007 :// Mouse is at Marker  0/ 4/ 0 
                    break;
        case 2008 :// Mouse is at Marker  0/ 0/ 0 
                    break;
     }
    }
...
CommitItem  
CurveEditor  
CurveEditor.UndoData  
D3DCursors Zusammenfassung für Cursors.
D3DReader  
D3DWriter  
DrawCtrl  
DrawEventArgs Argument of the DrawEvent-Delegate. It holds the field device
Entity Entity is the foundationclass for all graphical classes. She contains a Transformation and can ordered in a treestructured system becaus she is an instance of MNComponent. Additionally she has a public virtual Paintmethod, who will be called by the parent. To start this painting one of the parents must be setted as Root of a device or as child of Work of a device. then the device starts the painting by its own Paint-Method.
The method Paint is calling the protected method draw. It is better to override draw then Paint, because in the Paintmethod some calls enclose the drawmethod ( for example the transformation will be setted ).
EventServer  
HelpGeometry2D  
IOAttribute  
Light The abstract class Light encapsulate the essential properties of a light like Ambient, Specular, Diffuse A intstance of Light must override, the abstract method UpDate. A call to this method moves all values of the light to the graphicenvironment.
MarkeredRectCtrl  
MarkeredRectCtrl.Option  
MNComponent MNComponent is the rootclass, from which are derived some important classes, like Entity and MNDevice. The class is typical for a nodestructure. So she contains children and has a parent by himself. With the property MNName a node inner a parent is unique. With the function fullPath you get an unique nodedescription by "/" separated names. If you set the parent, the MNComponent is added to the children of this parent. In case of generatenams = true a valid name is generated and set to the MNComponent. The default indexer is set to a MNComponentclass
MNDevice MNDevice is the basic abstract class for all the other devices. She implements all concepts of a modern graphicengine, like Lights,Material, Texture, ProjectionMatrix... Beside the representation of graphic objects she offers the possibility beyond that to select graphical objects in a very confortable way See HitItemList The MNdevice is linked to a WinControl and manages also their mouseevents ( MouseMove ,MouseDown , MouseUp, windowsevents (Resize, OnPaint ..).
The fastest way to see some result is to use the OnPaint-Method. There you can set up some primitive drawmethods like (drawPolyLine, drawSurface, drawPolyCurve,...). With the property Navigate a automatical navigation of the device can be forced.

From this device derived are the
- OpenGlDevice :
She uses the opengllibrary opengl32.dll.
- DirectXDevice:
She uses Microsofts Directdraw.
MNDevice.FontItem  
MNDevice.GlyphInfo Protected setMethod of the FontName-property
MNDevice.lights This class is a container for the lights and retrieves as default indexer a Light.
RectCtrl  
RectEditor  
SimpleCad  
TaskCtrl  
TaskCtrl.commitList  
TextCtrl The curveeditor handles alist of curves CurveArray. With the methods CreateBeziers, CreateLines, CreateQSplines you can create curves.
TextEditor  
TextEditor.UndoData  
TextObject  
Texture Texture encapsulate the properties, which are needed for drawing. The most important property is Bitmap, which halds the bitmadata.
Tools Utils contains some fine methods, to draw in a device. Most of them are static methods.
TransformEditor  

Interfaces

Interface Description
IEvents  
IName  
IPath  

Structures

Structure Description
MNDevice.FIXED  
MNDevice.GLYPHMETRICS  
MNDevice.PointData Define the Data of drawing of a point in the drawPoint-Method
PointData pd = new PointData( PointKind.Cube, new xyz(device.CatchDistanceF, device.CatchDistanceF, 0),new xyz(0, 0, 0));
device.drawPoint(new xyz(4 , 2, 1), pd); // Draws a Point as cube at position 4, 2, 1
MNDevice.POINTFX  
MNDevice.TEXTMETRIC  

Delegates

Delegate Description
DrawEvent This delegate is used from a Entity in its draw-method.
DrawNotify  
UndoHandler  

Enumerations

Enumeration Description
CtrlPointKind  
CurveEditor.CreatingTypes  
CurveEditor.EditKinds  
IOAttributes  
MarkeredRectCtrl.EditKinds  
MarkeredRectCtrl.RotationKinds  
MNDevice.PointKind This type is used from the MNDevice.PointData-structure, which is used in drawPoint
NavigateKind  
PenStyles  
PolygonMode PolygonMode is the Type of the PolygonMode - property of a Device. In case of Fill solid surfaces will be drawn, otherwise only a wireframe.
Priority  
RenderMode If a device plays the paintmechanism, then a so called rendermode is setted. The following Types describe the RenderMode of a device.
TextEditor.EditKinds  
TransFormKind