Show / Hide Table of Contents

Namespace CADability

Classes

ActionStack

A stack of actions. The top entry is the active action, the bottom entry usually is the SelectObjectsAction.

ActiveFrame

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 different in future, when there will be a MultiDocumenFrame.

AnimatedView

A view in which mechanical dependencies of objects can be defined and animated.

ArrayColumn<T>

Convert a column of a 2 dimensional array to a one dimensional array (without copying the data)

ArrayLinear<T>

Convert a 2 dimensional array to a one dimensional array (without copying the data)

ArrayRow<T>

Convert a row of a 2 dimensional array to a one dimensional array (without copying the data)

AxisDrive

Describes a rotation around an axis.

BoxedSurfaceExtension

BRepItem

BRepOperation

CollisionDetection

Preliminary

ColorSetting

ColorSetting is intended for objects to be used in Settings. It provides a Color with the IShowProperty interface.

CombinedEnumerable<T>

CoordSysException

Exception thrown by constructors of CoordSys indication a failure

CurveDrive

Describes a movement along a curve (which may be any path or simple curve like a line)

CurveMovement

DisplayChangeArg

Parameter declaration for DisplayChangedEvent.

DriveList

DualCurveDrive

DualSurfaceCurve

Edge

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.

ExplicitPCurve2D

Curve defined by 3 polynomials in one veriable ("u"), or by 4 polynoms with an additional "w" component (homogenuous coordinates). the curve may be defined piecewise: the knots array defines the intervalls for the u parameter while the polynom arrays define the curves for each intervall

ExplicitPCurve3D

Curve defined by 3 polynomials in one veriable ("u"), or by 4 polynoms with an additional "w" component (homogenuous coordinates). the curve may be defined piecewise: the knots array defines the intervalls for the u parameter while the polynom arrays define the curves for each intervall

ExportStep

ExportToThreeJs

ExportToThreeJsException

ExportToWebGl

Export a Model as a WebGl based html file.

Extension

FindPathThroughForbiddenArea

Class to find a polyline between two points that does not cross the forbidden area

FindPathThroughForbiddenArea.Impossible

FinishDeserialization

[Deprecated], Container for objects that need a callback after deserialization. These objects must implement IFinishDeserialization

FrameImpl

A standard implementation of the IFrame interface, used by CadFrame and the old SingleDocumentFrame

GaussNewtonMinimizer

Gdi

GDI2DView

GeneralSweptCurve

A general surface defined by a curve "toSweep", which is swept along a curve "along" The u parameter moves along the curve "toSweep", the v parameter moves along the curve "along" The curve "along" must implement IOrientation: the coordinate system is defined by the direction of "along" at parameter u, which is the z-axis, while the OrientationAt(u) is the x-axis

GeneralSweptCurve.FixedUCurve

Geometry

The class Geometry only contains static methods to solve some basic geometric tasks.

Geometry.GeometryException

ApplicationException derived exception class for methods in class Geometry.

GeoPoint2D.GeoPoint2DICompareX

GeoPoint2DList

GeoVectorException

ApplicationException thrown by some GeoVector operations.

Gl

OpenGL wrapper methods and constants. See OpenGL documentation for more information.

Glu

Grid

The Grid settings, used only in class Projection.

IArrayImpl<T>

General implementation of IArray<T> providing enumerators and first and last properties.

ImplicitPSurface

A surface, defined by a polynom in 3 variables. The surface is defined as P(x,y,z)==0.

ImportCondor4Exception

ImportStep

ImportStep.SyntaxError

ImportSTL

InfoReader

Encapsulates the SerializationInfo.GetInfo function

JsonSerialize

JsonVersion

Kernel

Layout

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.

LayoutView

LinearMovement

ListToIArray<T>

Model

ModelView

The ModelView is the three-dimensional presentation of a single Model.

ModifiedMovement

ModOpException

Exception class for modification operations

monom

A single term of the polynom

MultipleChoiceSetting

Wrappes an int value. The value represents a choice of severel predefined choices. It represents a setting defined by a name and a value. This 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

MyExtensions

NameAlreadyExistsException

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.

OctTree<T>

Generic class to privide fast access to IOctTreeInsertable implementing objects.

OctTree<T>.Node<TT>

Definition of a node of this octtree.

OpenGlCustomize

This class defines static events that can be used to customize the OpenGL implementation

PaintBuffer

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.

PaintTo3D

Some static helper methods

PaintTo3DOutOfMemory

Exception which is thrown when the is not egnough memory for the 3D display driver

ParallelHelper

Parametrics

PerformanceTimer

Summary description for PerformanceTimer.

PlaneException

PlaneRef

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.

Polynom

A Polynom in multiple variables, often named x,y,z, but may be any dimension. e.g. ax³ + bx²y + cxy² +dy³ + ex² + fxy + gy² + hx + iy + j (deg(ree)==3, dim(ension)==2: (x,y))

Precision

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.

PrecisionOverride

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.

PrintToGDI

Project

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.

ProjectedCurve

A 2d curve as a projection of a 3d curve onto a surface. Sometimes it is easier to calculate points in 3d than in 2d. Then we use this as a more exact for of the curve than we get, when we approximate the curve in 2d.

ProjectedModel

ProjectException

Projection

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.

Projection.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 GetPickSpace(Rectangle), GetPickSpace(RectangleF) or GetPickSpace(BoundingRect).

ProjectSerializationException

QuadTree

A QuadTree of 2-dimensional objects that implement IQuadTreeInsertable. This Class might change in future, so the use of this class is deprecated

QuadTree<T>

RemoveFillet

RemovingFromListEventArgs

Used as a parameter in the event RemovingFromListDelegate. When handling an appropriate event, you can prevent the object beeing removed from the list.

ReversibleChange

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.

RotationMovement

RuledSurface

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.

Schedule

ScheduleList

Settings

This class is used to give access and store information that influences global behavior 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, IntegerProperty, 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.

SettingsException

Exception Klasse für die Methoden der Klasse Settings

SettingsGlobalFileName

ShapeMiddelLine

Erzeugt die Mittelline für einen Text

ShortConnection

Tries to find a good solution for the (metric) "travelling salesman problem". This is still prliminary and may change in future.

SweptArc

ToIArray<T>

Convert a simple one dimensional array to an IArray Use someArray.ToIArray()

UndoFrameException

Exception class for the UndoFrame class

UndoRedoSystem

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)

UndoStep

User

UserData

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

Vertex

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.

VoxelTree

Describes a 3d object (curve or face) in a voxel representation at a dynamic resolution.

Wgl

Structs

Angle

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.

Axis

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.

BoundingCube

Represents a bounding cuboid, that is an extent in 3 dimensions

BoundingRect

BoundingRect is an axis oriented rectangle or a 2-dimensional bounding box. It is implemented as a "struct" (value type) so assignements always make a copy.

ClipRect

Mit dieser Klasse werden primitive Clip-Funktionen abgehandelt.

CoordSys

Rechtwinkliges, rechtshändiges Koordinatensystem. Normierte Einheitsvektoren?

Gdi.ABC

Gdi.GLYPHMETRICSFLOAT

Gdi.KERNINGPAIR

Gdi.PIXELFORMATDESCRIPTOR

Gdi.POINTFLOAT

GeoPoint

A 3-dimensional point with double components. The components are directly accesible to achieve maximum speed.

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.

GeoPoint2D

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.

GeoVector

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.

GeoVector2D

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.

Glu.GLUnurbs

Kernel.MEMORYSTATUS

The MEMORYSTATUS structure contains information about the current state of both physical and virtual memory.

The GlobalMemoryStatus(out Kernel.MEMORYSTATUS) function stores information in a MEMORYSTATUS structure.

Kernel.SYSTEM_INFO

The SYSTEM_INFO structure contains information about the current computer system. This includes the architecture and type of the processor, the number of processors in the system, the page size, and other such information.

Kernel.SYSTEM_INFO_UNION

Union for the OemId, ProcessorArchitecture, and Reserved fields of the Kernel.SYSTEM_INFO structure.

Matrix4

Homogenuos matrix for 3 dimensions, i.e. 4x4 matrix. Mainly used for perspective views.

ModOp

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 CADability.ModOp.Rotate(System.Int32,CADability.SweepAngle), Translate(Double, Double, Double) etc.

ModOp2D

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.

Plane

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).

SweepAngle

A sweep angle. Typically the value of this object is between -2pi and +2pi. Used for rotation operations etc.

WebGLData

Interfaces

IArray<T>

Interface to access a collections as an array. Mainly used for twodimensional array to access rows or columns as simple array without copying the contents. Or access a twodimensional array as a one dimensional array.

ICanvas

Interface must be implemented by a view, which is hosted in a CadCanvas

IConvertForWebGL

IDisplayHotSpots

IDrive

Methods and properties common to all drive objects

IDualSurfaceCurve

IExplicitPCurve2D

IExplicitPCurve3D

IExportStep

IFinishDeserialization

[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);

IFrame

IHotSpot

Interface implemented by HotSpots.

IImplicitPSurface

IJsonReadData

IJsonReadStruct

IJsonSerialize

IJsonSerializeDone

IJsonVersion

IJsonWriteData

IMovement

IMultiObjectUserData

Implement this interface on your UserData objects if you want your UserData to be displayed as a common property of multiple selected objects.

INamedAttribute

All Attributes for IGeoObject objects (e.g. Layer) are identified by name. They all implement this interface

INotifyModification

Objekte, die dieses Interface implementieren, rufen bei relevanten Veränderungen DidModifyDelegate auf.

IOctTreeInsertable

IPaintTo3D

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.

IPaintTo3DList

IQuadTreeInsertable

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.

ISchedule

ISettingChanged

IView

QuadTree<T>.IIterateQuadTreeLists

Enums

BoundingRect.Position

The location of a point relative to a bounding rectangle

BRepItem.ItemType

BRepOperation.Operation

CoordSysException.tExceptionType

Enumeration of different causes of this exception

DisplayChangeArg.DraggingModes

While dragging the scrollbarbutton Dragging is on

DisplayChangeArg.Reasons

Reason

GeoVectorException.tExceptionType

Type of exception.

Grid.Appearance

HotspotChangeMode

Layout.HorizontalCenter

Horizontal positioning

Layout.VerticalCenter

Vertical positioning

Model.Units

Units

ModelView.BackgroungTaskHandled

Which background paint tasks were handled by the PrePaintBackground event (flags, combine with "|")

ModOp.ModificationMode

Kind of operation

ModOpException.tExceptionType

ExceptionType

OctTree<T>.Side

Enumeration of the 6 sides of a cube.

PaintBuffer.DrawingAspect

PaintCapabilities

Capabilities of the paint interface

PaintTo3D.PaintMode

PickMode

How objects are selected or picked

Plane.StandardPlane

Enumeration of the standard planes

PlaneException.tExceptionType

ProjectedModel.IntersectionMode

ProjectException.tExceptionType

Projection.StandardProjection

The standard parallel projections

QuadTree<T>.IterateAction

Delegates

ActionStartedDelegate

ActionTerminatedDelegate

AnimatedView.GetTimeDelegate

Delegate for the GetTimeEvent. If not handeled the time is determined by the internal clock.

AnimatedView.NextStepDelegate

Delegate for the NextStepEvent

ControlCenterCreatedDelegate

DidModifyDelegate

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

FrameImpl.DragDropDelegate

FrameImpl.DragGetDataDelegate

FrameImpl.FileNameChangedDelegate

GaussNewtonMinimizer.CheckParameterFunction

GaussNewtonMinimizer.CurtailParameterFunction

GaussNewtonMinimizer.ErrorFunction

GaussNewtonMinimizer.JacobiFunction

Grid.GridChangedDelegate

HotspotChangedDelegate

LayoutView.RepaintActionDelegate

Model.AddingGeoObject

Delegate definition for the AddingGeoObjectEvent. Setting cancel to true prevents the object beeing added to the model.

Model.AddingGeoObjects

Delegate definition for the AddingGeoObjectsEvent.

Model.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)

Model.ExtentChangedDelegate

Delegate definition for the ExtentChangedEvent.

Model.GeoObjectAdded

Delegate definition for the GeoObjectAddedEvent.

Model.GeoObjectRemoved

Delegate definition for the GeoObjectRemovedEvent.

Model.GeoObjectsAdded

Delegate definition for the GeoObjectsAddedEvent.

Model.GeoObjectsRemoved

Delegate definition for the GeoObjectsRemovedEvent.

Model.ImportingObjectsDelegate

Delegate definition for the ImportingObjectsEvent. The handler may modify importedObjects

Model.NameChangedDelegate

Delegate definition for the NameChangedEvent.

Model.RemovingGeoObject

Delegate definition for the RemovingGeoObjectEvent. Setting cancel to true prevents the object beeing removed from the model.

Model.RemovingGeoObjects

Delegate definition for the RemovingGeoObjectsEvent.

ModelView.DisplayChangedDelegate

ModelView.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

ModelView.ProjectionChangedDelegate

Delegate definition for notification of changes of the view position or direction

MouseFilterDelegate

Filter mouse messages to the ModelView. return true, if you want to prevent further processing of the mouse message.

OctTree<T>.Filter

Delegate definition of a filtering method restricting IOctTreeInsertable objects.

OctTree<T>.FilterNode

OctTree<T>.SplitTestFunction

Constructs an octtree providing an initial size and a precision

OpenGlCustomize.SetProjectionDelegate

Delegate definition of SetProjectionEvent.

PaintView

ProcessCommandDelegate

Delegate definition for ProcessCommandEvent, which is raised when the user selects a menu command from the main menu.

ProcessContextMenuDelegate

Delegate definition for ProcessContextMenuEvent, which is raised when a context menu is about to be executed.

Project.BindToTypeDelegate

Delegate to enable the deserialization of objects that have been renamed or changed the version number.

Project.ConstructionDelegate

Project.ModelsChangedDelegate

Project.RefreshDelegate

Project.ViewChangedDelegate

ProjectClosedDelegate

Projection.ProjectionChangedDelegate

Delegate definition for the ProjectionChangedEvent

ProjectOpenedDelegate

QuadTree<T>.CheckOne

RemovingFromListDelegate

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.

ScrollPositionChanged

SettingChangedDelegate

A setting has been changed

SettingsGlobalFileName.GetGlobalSettingsFileNameDelegate

UIEventHandler

UndoRedoSystem.BeginContinousChangesDelegate

UndoRedoSystem.ClosingUndoFrameDelegate

UndoRedoSystem.EndContinousChangesDelegate

UndoRedoSystem.OpeningUndoFrameDelegate

UpdateCommandDelegate

UpdateContextMenuDelegate

Delegate definition for UpdateContextMenuEvent, which is raised, when a context menu is about to be displayed.

UserData.UserDataAddedDelegate

UserData.UserDataRemovedDelegate

ValueChangedDelegate

Delegate for the notification of a change of a value

ViewsChangedDelegate

In This Article
Back to top Generated by DocFX