CADability dotNET
Namespace for all classes that are not contained in the other sub namespaces


Public classActiveFrame
This class provides access to the current active frame (IFrame) object. It is typically the one and only SingleDocumentFrame in the application but may be diefferent in future, when there will be a MultiDocumenFrame.
Public classAnimatedView
A view in which mechanical dependencies of objects can be defined and animated.
Public classAxisDrive
Describes a rotation around an axis.
Public classBitmapTable
Internal nur zum Debuggen public
Public classCADControl
The main Control used to display CAD models and optionally display the user interface to manipulate the CAD model. Simply place this control on a Windows.Form. Use ShowControlCenter, ShowToolBars and ShowMenu to activate or inactivate the user interface. Use ShowFile(String, String) to display a CAD file. The Frame property provides access to many more properties and methods to control the display and the menipulation of the CAD data.
Public classCollisionDetection
Public classColorSetting
ColorSetting is intended for objects to be used in Settings. It provides a Color with the IShowProperty interface.
Public classCoordSysException
Exception thrown by constructors of CoordSys indication a failure
Public classCurrentMenuIdHolder
Public classCurveDrive
Describes a movement along a curve (which may be any path or simple curve like a line)
Public classCurveMovement
Public classDisplayChangeArg
Parameter declaration for DisplayChangedEvent.
Public classDriveList
Public classDualCurveDrive
Public classDualSurfaceCurve
Public classEdge
Edge is a abstract description of an egde on a Face. An Edge may belong to one or two faces. Edges don't exist without faces (use IGeoObject and ICurvederived classes for simple 3d curves). The Edge is defined in several ways, which are overdetermined and therfore must always be in a consistent state: It is the pur 3-dimensional curve, an ICurve, and on each Face the edge is defined as a 2-dimensional curve on the surface (see Surface), which has a 2-dimensional (u/v) coordinate system (parametric space). The Edge may be an outer or an inner edge on each face or some curve on the inside of a face (typically an outlining curve for a certain Projection). The edge may not be outside of a face.
Public classExportDwgDirect
Public classFinishDeserialization
[Deprecated], Container for objects that need a callback after deserialization. These objects must implement IFinishDeserialization
Public classGDI2DView
Public classGDIResources
A collection of GDI Resources (Pen, Font etc.) created internally by the ProjectedModel.
Public classGeometry
The class Geometry only contains static methods to solve some basic geometric tasks.
Public classGeometry..::..GeometryException
ApplicationException derived exception class for methods in class Geometry.
Public classGeoPoint2D..::..GeoPoint2DICompareX
Public classGeoVectorException
ApplicationException thrown by some GeoVector operations.
Public classGrid
The Grid settings, used only in class Projection.
Public classImportCondor4Exception
Public classImportDwgDirect
Public classImportDwgDirectException
Public classInfoReader
Encapsulates the SerializationInfo.GetInfo function
Public classLayout
A Layout defines the placement of one or more patches on a paper. A patch is the projection of a model into the two dimensional space with respect to scaling, projection direction, visibility of layers etc. A Layout can be viewed with the LayoutView and can be printed.
Public classLayoutView
Public classLinearMovement
Public classModel
Public classModelView
The ModelView is the three-dimensional presentation of a single Model.
Public classModifiedMovement
Public classModOpException
Exception class for modification operations
Public classMultipleChoiceSetting
Wrappes an int value. The value represents a choice of severel predefined choices. It represents a setting defined by a [!:SettingName] and a [!:Selected] value. Ths setting can be displayed and modified in the control center. It is represented as a combo box. The label left of the combo box is given by the resourceId GetString(String, StringTable..::..Category), the values are
Public classNameAlreadyExistsException
Bei der Namensänderung eines Objektes (z.B. Layer, Farbe u.s.w.) tritt diese Exception auf, wenn eine nach Namen sortierte Liste (z.B. LayerList) ein Objekt mit diesen Namen bereits enthält. Diese Exception wird in CONDOR bei Namensänderungen abgefangen und der alte Name wird wieder gesetzt.
Public classOctTree<(Of <(<'T>)>)>
Generic class to privide fast access to IOctTreeInsertable implementing objects.
Public classOctTree<(Of <(<'T>)>)>..::..Node<(Of <(<'TT>)>)>
Definition of a node of this octtree.
Public classOpenGlCustomize
This class defines static events that can be used to customize the OpenGL implementation
Public classPaintBuffer
Klasse, die die Darstellung auf dem Bildschirm realisiert. Die Klasse hält (z.Z.) 4 Bitmaps, die nacheinander und transparent in das Fenster (genauer in das Graphics Objekt des Parameters e beim Aufruf von Compose) kopiert werden. Für jedes Bitmap gibt es ein eigenes "Invalid" Rechteck bzw. Region. Der Ablauf ist wie folgt: 1. irgend etwas ändert sich (z.B das Raster, die Markierung, ein geometrisches Objekt u.s.w.). Das muss zur Folge haben, dass InvalidateXxx für den entsprechenden Aspekt (z.B. InvalidateDrawing für die geometrischen Objekte, InvalidateSelect für die Markierung) aufgerufen wird. Die Invalid-Bereiche werden für die einzelnen Aspekte akkumuliert. Irgendwann erfolgt der Aufruf von Compose (gewöhnlich ausgelöst durch den Paint Event des Controls)Dort versucht nun diese Klasse das Bild neu zusammenzusetzten. Ist der Invalid-Bereich eines Aspektes leer, dann ist das zugehörige Bitmap aktuell, d.h. kann so verwendet werden. Wenn nicht, so muss der Bereich neu gezeichnet werden. Compose löst den RepaintXxxEvent (z.B. RepaintDrawingEvent) aus. Die Handler dieses Events (gewöhnlich nur einer) bekommen ein PaintToGDI Objekt, mit dessen Hilfe sie zeichnen können.
Public classPaintTo3D
Some static helper methods
Public classPaintTo3DException
Exceptions that can happen during painting
Public classPaintTo3DOutOfMemory
Exception which is thrown when the is not egnough memory for the 3D display driver
Public classPaintToBitmap
Class to create a bitmap and draw IGeoObjects or Models on the it. GDI+ is used for drawing, not OpenGL.
Public classPaintToGDI
Public classPaintToGDIDeprecated
DEPRECATED! Do not use this class it will be removed in future versions of CADability
Public classPenResource
A handle to a Pen. Pens are retrieved with this handle from a Hashtable and are zoomed appropriately.
Public classPerformanceTimer
Summary description for PerformanceTimer.
Public classPlaneException
Public classPlaneRef
A reference to a plane. The Plane is implemented as a struct, i.e. a value type. Sometimes it is necessary to have a parameter or member, which designates a plane but may be null (when the plane is not yet computed or not valid). This class works as an object replacement of the struct Plane.
Public classPoint2D
Public classPrecision
Precision specifies the order of size of a typical model. For example two points are considered geometrically equal if their distance is less than Precision.eps. Default value for Precision.eps is 1e-6. Precision.epsa is the angular precision. Two directions are considered equal if their angular difference is less than Precision.epsa.
Public classPrecisionOverride
Use this class to temporary override the values for the precision. The best way to use this class is the C# using statement. The constructor of this class overrides the values for the global Precision. The Dispose()()()() method restores the previous values.
Public classPrintToGDI
Public classProject
A Project is the database CADability works on. A Project is serializable and contains one or more Models (which contain GeoObjects) lists of attributes, views and UserData. A Project is usually saved in a file.
Public classProjectedModel
Public classProjectException
Public classProjection
A parallel or perspective projection which is used to convert the 3-dimensional world coordinate system to a 2-dimensional screen coordinate system or to a normalized 3-dimensional cube for the paint or rendering interface (IPaintTo3D). Contains also additional hints for the paint interface and the drawing plane.
Public classProjection..::..PickArea
Class defining the span or scope in the world coordinate space defined by a axis aligned rectangle in a view or on the screen. The area defined by this object is either a rectangular prism of infinite length in the direction of the view (in case of the parallel view) or a frustum (in case of a perspective view). The pickarea is created by the [!:Projection.GetPickSpace(Rectangle)], [!:Projection.GetPickSpace(RectangleF)] or [!:Projection.GetPickSpace(BoundingRect)].
Public classProjectSerializationException
Public classQuadTree
A QuadTree of 2-dimensional objects that implement IQuadTreeInsertable. This Class might change in future, so the use of this class is deprecated
Public classRemovingFromListEventArgs
Used as a parameter in the event RemovingFromListDelegate. When handling an appropriate event, you can prevent the object beeing removed from the list.
Public classReversibleChange
This class contains the information to undo a change in the project database. Undoing a change is done by reflection. So we need an object, the name of a method or a property and the parameters to use in the call. This information must be provided in the constructor. The method or property must have public access.
Public classRotationMovement
Public classRuledSurface
Surface definition of a surface defined by two curves. Both curves use the standard parameter interval from 0.0 to 1.0 The u-direction is provided by a combination of the two curves. The v parameter is defined by a line starting on the first curve and ending on the second curve. It is the surface described by a wire or rubber band synchronously moving along the two curves. the default parameter space is 0.0 to 1.0 on u and v.
Public classSchedule
Public classScheduleList
Public classScrollableCtrl
A System.Windows.Forms.UserControl that is composed of a CondorCtrl and two scrollbars. It implements the scrolling on a CondorCtrl.
Public classSettings
This class is used to give acces and store information that influences global behaviour of the CADability system. There is a static variable GlobalSettings. This is the only use of settings in CADability. This class behaves as a hierarchical dictionary. The keys are strings, which may have the form "mainkey.subkey" The values are objects, i.e. any kind of data. If the objects implement the IShowProperty interface they are displayed in the global setting tab of the controlcenter. There are some classes like ColorSetting, [!:IntergerProperty], DoubleProperty, StringProperty which can be used as a setting value. If you instead simply use a double or string value the setting will be only available to programming code but not to the user in the ControlCenter.
Public classSettingsException
Exception Klasse für die Methoden der Klasse Settings
Public classSettingsGlobalFileName
Public classShortCuts
Public classShowProgressArg
Argument for ShowProgressDelegate
Public classSimpleControl
This class is a simple System.Windows.Forms.Control derived class that implements the task to display a [!:ICondorView] implementing object (e.g. ModelView, LayoutView. You can use this class to display such a view on a System.Windows.Forms.Form. It does not contain scrollbars. If you need a control with scrollbars use the class [!:CondorScrollableCtrl]. Use the SingleDocumentFrame which already creates and connects different kind of views with one or more [!:CondorScrollableCtrl] objects.
Public classSingleDocumentFrame
This is the main connecting point for an interactive CADability application. Other interactive components like ControlCenter, ToolBarDockContainer, MoveableToolBar or LoadMenu(String, IFrame) have to be created with a reference to this SingleDocumentFrame.
Public classSweptPlanarCurve
Public classSymbolEntry
Public classSymbolList
Public classSymbolMainProperty
Property page in the control center, that manages the symbols available for the project.
Public classSymbolView
Public classUndoFrameException
Exception class for the UndoFrame class
Public classUndoRedoSystem
The undo/redo sytem usually exists as a member in the Project and is accessed via Undo. The project handles the menu commands "MenuId.Edit.Undo" and ""MenuId.Edit.Redo" and calls UndoLastStep()()()() rsp. RedoLastStep()()()(). To add a step to the undo system call AddUndoStep(ReversibleChange)
Public classUndoStep
Public classUserData
A table, that associates names with objects. Its purpose is to attach any kind of (user) information to existing CADability objects. Many objects of the CADability namespace provide a UserData property, by means of which you can connect any object to it. If the object is serializable, it will be serialized together with the CADability object. If it implements IClonable it will be cloned when the containing object is cloned. If it implements IShowProperty it will be displayed together with the object in the ControlCenter. If it implements IMultiObjectUserData it will be displayed as a common property when multiple objects are displayed in the ControlCenter
Public classVertex
Describes a vertex of an Edge. A vertex is the start or endpoint of an edge. It connects at least two edges but can belong to any number of edges.


Public structureAngle
An angle defined in radians. The value of the angle is a double which is greater or equal to 0 and less than (and not equal) 2*pi. Via cast operators the angle seamlessly operates as a double.
Public structureAxis
An axis given by a location and a direction. There is no orientation for an x-direction or y-direction. If you need that use CoordSys Keep in mind that this is a value type. Passing a value type as a (non ref) parameter and changing it's value inside the invoked method leaves the original unchanged.
Public structureBoundingCube
Represents a bounding cuboid, that is an extent in 3 dimensions
Public structureBoundingRect
BoundingRect stellt ein horizontales zweidimensionales Rechteck dar. Es beschreibt eine Ausdehnung. BoundingRect ist kein "geometrisches Objekt" im Sinne von CADability. Es ist als "value type" implementiert, nicht als Objekt. D.h. insbesondere, dass Zuweisungen immer Kopien erzeugen, die von dem Original unabhängig sind.
Public structureCoordSys
Rechtwinkliges, rechtshändiges Koordinatensystem. Normierte Einheitsvektoren?
Public structureGeoPoint
A 3-dimensional point with double components. The components are directly accesible to achieve maximum speed.
Note Note

Keep in mind that this is a value type. Passing a value type as a (non ref) parameter and changing it's value inside the invoked method leaves the original unchanged.

Public structureGeoPoint2D
A 2-dimensional point with double x and y components. Keep in mind that this is a value type. Passing a value type as a (non ref) parameter and changing it's value inside the invoked method leaves the original unchanged.
Public structureGeoVector
A 3-dimensional vector with double x,y and z components. The vector is not necessary normalized. Keep in mind that this is a value type. Passing a value type as a (non ref) parameter and changing it's value inside the invoked method leaves the original unchanged.
Public structureGeoVector2D
A two dimensional vector with double x and y components. Keep in mind that this is a value type. Passing a value type as a (non ref) parameter and changing it's value inside the invoked method leaves the original unchanged.
Public structureMatrix4
Homogenuos matrix for 3 dimensions, i.e. 4x4 matrix. Mainly used for perspective views.
Public structureModOp
A 3-dimensional modification operation implemented as a homogenous matrix 4*3. You can apply such a modification to GeoPoints or GeoVectors or you can use it for GeoObjects Modify(ModOp). If you want to move, rotate, scale reflect or generally modify a GeoObject you will need this class. Use the static methods to create ModOps that do a required modification (like Rotate(Int32, SweepAngle), Translate(Double, Double, Double) etc.
Public structureModOp2D
A 2-dimensional modification operation implemented as a homogenous matix 3*2. You can apply such modificaion to GeoVector2D and GeoPoint2D points or to [!:ICurve2D] implementing objects.
Public structurePlane
A simple plane as a value type. Is used e.g. as a drawing plane, an intersection plane etc. It also serves as a coordinate system (see CoordSys).
Public structureSelection
Public structureSweepAngle
A sweep angle. Typically the value of this object is between -2*pi and +2*pi. Used for rotation operations etc.


Public interfaceIDisplayHotSpots
Public interfaceIDrive
Methods and properties common to all drive objects
Public interfaceIDualSurfaceCurve
Public interfaceIFinishDeserialization
[Deprecated], Implement this interface to receive the "DeserializationDone" callback after the object is deserialized. To receive this callback you also hav to add your object to the appropriate list by doing the following on the Constructor (SerializationInfo info, StreamingContext context):
FinishDeserialization fd = context.Context as FinishDeserialization;
if (fd!=null) fd.Add(this);
Public interfaceIFrame
Public interfaceIHotSpot
Interface implemented by HotSpots.
Public interfaceIMovement
Public interfaceIMultiObjectUserData
Implement this interface on your UserData objects if you want your UserData to be displayed as a common property of multiple selected objects.
Public interfaceINamedAttribute
All Attributes for IGeoObject objects (e.g. Layer) are identified by name. They all implement this interface
Public interfaceINotifyModification
Objekte, die dieses Interface implementieren, rufen bei relevanten Veränderungen DidModifyDelegate auf.
Public interfaceIOctTreeInsertable
Public interfaceIPaintTo3D
Interface to paint on a OpenGL, DirectX, GDI or some other output device. This interface may still change in future it is provided for informational purposes only.
Public interfaceIPaintTo3DList
Public interfaceIQuadTreeInsertable
Ein Interface für Objekte, die in einen QuadTree eingefügt werden können. Der QuadTree kann also nicht nur IGeoObject Objekte aufnehmen, sondern alle Objekte, die IQuadTreeInsertable unterstützen.
Public interfaceISchedule
Public interfaceISettingChanged
Objekte, die dieses Interface implementieren, zeigen an, dass sie eine Einstellung repräsentieren und bei deren Veränderung SettingChanged aufrufen. Verwender dieser Objekte können sich hier anmelden, um diese Änderungen mitzubekommen.
Public interfaceIView


Public delegateAnimatedView..::..GetTimeDelegate
Delegate for the GetTimeEvent. If not handeled the time is determined by the internal clock.
Public delegateAnimatedView..::..NextStepDelegate
Delegate for the NextStepEvent
Public delegateCADControl..::..DragDropDelegate
Public delegateCADControl..::..DragGetDataDelegate
Public delegateCADControl..::..FilterKeyDownDelegate
Public delegateCADControl..::..FrameCreatedDelegate
Public delegateDidModifyDelegate
Prototyp für die Mitteilung von Änderungen. Die Zeichnung verwendet es für das IsModified Flag, welches gesetzt wird, wenn von irgendwo (GeoObjekte, Listen) dieser event kommt
Public delegateGrid..::..GridChangedDelegate
Public delegateHotspotChangedDelegate
Public delegateImportDwgDirect..::..ProgressDelegate
Public delegateLayoutView..::..RepaintActionDelegate
Public delegateModel..::..AddingGeoObject
Delegate definition for the AddingGeoObjectEvent. Setting cancel to true prevents the object beeing added to the model.
Public delegateModel..::..AddingGeoObjects
Delegate definition for the AddingGeoObjectsEvent.
Public delegateModel..::..CalculateExtentForZoomTotalDelegate
Delegate definition for CalculateExtentForZoomTotalEvent. If handeled must return the extent which is considered as the zoom total extent. Standard implementation will return this.Extent.Project(pr)
Public delegateModel..::..ExtentChangedDelegate
Delegate definition for the ExtentChangedEvent.
Public delegateModel..::..GeoObjectAdded
Delegate definition for the GeoObjectAddedEvent.
Public delegateModel..::..GeoObjectRemoved
Delegate definition for the GeoObjectRemovedEvent.
Public delegateModel..::..GeoObjectsAdded
Delegate definition for the GeoObjectsAddedEvent.
Public delegateModel..::..ImportingObjectsDelegate
Delegate definition for the ImportingObjectsEvent. The handler may modify importedObjects
Public delegateModel..::..NameChangedDelegate
Delegate definition for the NameChangedEvent.
Public delegateModelView..::..DisplayChangedDelegate
Public delegateModelView..::..PaintBackgroundDelegate
Delegate definition for background painting event. The painting of the coordinate cross and arrows, the grid and the DrawingPlane can be modified using this event
Public delegateModelView..::..ProjectionChangedDelegate
Delegate definition for notification of changes of the view position or direction
Public delegateMouseFilterDelegate
Filter mouse messages to the ModelView. return true, if you want to prevent further processing of the mouse message.
Public delegateOctTree<(Of <(<'T>)>)>..::..Filter
Delegate definition of a filtering method restricting IOctTreeInsertable objects.
Public delegateOctTree<(Of <(<'T>)>)>..::..FilterNode
Delegate definition of a filtering method restricting [!:Node]s.
Public delegateOpenGlCustomize..::..SetProjectionDelegate
Delegate definition of sSetProjectionEvent.
Public delegatePaintBuffer..::..Repaint
Public delegatePaintView
Public delegateProcessCommandDelegate
Delegate definition for ProcessCommandEvent, which is raised when the user selects a menu command from the main menu.
Public delegateProcessContextMenuDelegate
Delegate definition for ProcessContextMenuEvent, which is raised when a context menu is about to be executed.
Public delegateProject..::..BindToTypeDelegate
Delegate to enable the deserialization of objects that have been renamed or changed the version number.
Public delegateProject..::..ConstructionDelegate
Public delegateProject..::..ModelsChangedDelegate
Public delegateProject..::..RefreshDelegate
Public delegateProject..::..ViewChangedDelegate
Public delegateProjectClosedDelegate
Public delegateProjection..::..ProjectionChangedDelegate
Delegate definition for the ProjectionChangedEvent
Public delegateProjectOpenedDelegate
Public delegateRemovingFromListDelegate
List objects (e.g. [!:HatchStylelist]) raise this event, when an object is going to be removed. You may prevent this by setting the Refuse member in RemovingFromListEventArgs to true.
Public delegateRepaintView
Public delegateScrollPositionChanged
Public delegateSettingChangedDelegate
Durch Aufruf dieses delegates wird angezeigt, dass sich eine Einstellung geändert hat
Public delegateSettingsGlobalFileName..::..GetGlobalSettingsFileNameDelegate
Public delegateShowProgressDelegate
Delegate definition for showing a progress bar
Public delegateSingleDocumentFrame..::..DragDropDelegate
Public delegateSingleDocumentFrame..::..DragGetDataDelegate
Public delegateSingleDocumentFrame..::..FileNameChangedDelegate
Public delegateSingleDocumentFrame..::..FilterKeyDownDelegate
Public delegateSymbolView..::..DragDropDelegate
Public delegateSymbolView..::..DragSourceDelegate
Public delegateUIEventHandler
Public delegateUpdateCommandDelegate
Public delegateUpdateContextMenuDelegate
Delegate definition for UpdateContextMenuEvent, which is raised, when a context menu is about to be displayed.
Public delegateUserData..::..UserDataAddedDelegate
Public delegateUserData..::..UserDataRemovedDelegate
Public delegateValueChangedDelegate
Public delegateViewsChangedDelegate


Public enumerationBoundingRect..::..Position
The location of a point relative to a bounding rectangle
Public enumerationCoordSysException..::..tExceptionType
Enumeration of different causes of this exception
Public enumerationDisplayChangeArg..::..DraggingModes
While dragging the scrollbarbutton Dragging is on
Public enumerationDisplayChangeArg..::..Reasons
Public enumerationEdge..::..EdgeKind
Kind of the edge
Public enumerationExportDwgDirect..::..Format
Public enumerationExportDwgDirect..::..Version
Public enumerationGDIResources..::..EDisplayMode
Public enumerationGeoVectorException..::..tExceptionType
Type of exception.
Public enumerationGrid..::..Appearance
Public enumerationHotspotChangeMode
Public enumerationImportDwgDirect..::..ProgressState
Public enumerationLayout..::..HorizontalCenter
Horizontal positioning
Public enumerationLayout..::..VerticalCenter
Vertical positioning
Public enumerationModel..::..Units
Public enumerationModelView..::..BackgroungTaskHandled
Which backgroung paint tasks were handled by the PrePaintBackground event (flags, combine with "|")
Public enumerationModOp..::..ModificationMode
Kind of operation
Public enumerationModOpException..::..tExceptionType
Protected enumerationOctTree<(Of <(<'T>)>)>..::..Side
Enumeration of the 6 sides of a cube.
Public enumerationPaintBuffer..::..DrawingAspect
Public enumerationPaintCapabilities
Capabilities of the paint interface
Public enumerationPaintTo3D..::..PaintMode
Public enumerationPaintToGDIDeprecated..::..DisplaySpecialMode
Public enumerationPickMode
How objects are selected or picked
Public enumerationPlane..::..StandardPlane
Enumeration of the standard planes
Public enumerationPlaneException..::..tExceptionType
Public enumerationProjectedModel..::..IntersectionMode
Public enumerationProjectException..::..tExceptionType
Public enumerationProjection..::..StandardProjection
The standard parallel projections
Public enumerationScrollableCtrl..::..EShowActive
Public enumerationShowProgressArg..::..States