Show / Hide Table of Contents

Namespace CADability.GeoObject

Classes

Block

Ein Block als geometrisches Objekt. Der Block besitzt seine Kinder. Beim Clonen werden Kopien der Kinder erzeugt. A collection of several IGeoObjects

BlockRef

BSpline

A BSpline is a smooth curve defined by a set of control points. It is implemented as a NURBS - non uniform rational b-spline.

BSplineException

ConicalSurface

A conical surface which implements ISurface. The surface represents a circular or elliptical cone. The u parameter always describes a circle or ellipse, the v parameter a Line.

ConicalSurfaceNP

Conical surface with a uv system (parametric space) which is not periodic and has no pole. The uv system correspond to a plane through the apex perpendicular to the axis which contains the projected cone to this plane. Disadvantage is numeric precision when the opening angle is very small. A solution would be an offset and a factor which only projects the "used area" of this cone to a standard ring

CurveException

Exception thrown by object implementing ICurve.

Curves

This class provides static methods concerning the interaction of two or more ICurve objects.

CylindricalSurface

A cylindrical surface which implements ISurface. The surface represents a circular or elliptical cylinder. The u parameter always describes a circle or ellipse, the v parameter a Line.

CylindricalSurfaceNP

A cylindrical surface, defined by a point (location), and axis (zAxis). The axis (zAxis) and the two vectors xAxis and yAxis build an orthogonal coordinate system. xAxis and yAxis have the same length, which define the radius of the cylinder. The length of the zAxis is the domain of the cylindrical surface. points outside this domain are defined, but not used. The 2d u/v system is defined by the plane through "location" which is spanned by xAxis and yAxis. For each point on the surface, there is a point in this plane, which is found by intersecting the line from (location-zAxis) to the surface point with the u/v plane. Thus all points of the domain on the surface are within an annulus with the cylinder radius and a hole of half the cylinder radius. The u/v system is not periodic and has no poles (except of the 2d origin, which is at the infinite end of the axis). When the orthogonal system of xAxis, yAxis and zAxis is right handed, the normal vectors point to the outside, otherwise they point to the inside. Circles, ellipses and lines in 3d correspond to circles, ellipses and lines in 2d. 3d ellipses with their center at (location-zAxis) degenerate to lines in 2d.

Dimension

The dimension object represents a dimensioning in a model and is a GeoObject. To use a dimension object you must at least set the properties DimensionStyle, DimLineRef, DimLineDirection, and add two points with the AddPoint(GeoPoint) method. Example:

// assuming "project" is a reference to a Project
Dimension d = Dimension.Construct();
d.DimensionStyle = project.DimensionStyleList.Current;
d.DimLineRef = new GeoPoint(200, 200, 0);
d.DimLineDirection = GeoVector.XAxis;
d.AddPoint(new GeoPoint(100, 100, 0));
d.AddPoint(new GeoPoint(200, 100, 0));
d.AddPoint(new GeoPoint(300, 100, 0));
project.GetActiveModel().Add(d);

Ellipse

EllipseException

Face

A face is a finite piece of a surface. It is bounded by a SimpleShape in the 2-dimensional u/v space of the surface. A face is also a IGeoObject. The bounding curves of a face are implemented as Edges. If a face is contained in a Model it doesnt share its edges with other faces. If a face is part of a Shell (which maybe a part of a Solid) it shares some or all of its edges with other faces.

GeneralCurve

A base implementation of ICurve

GeneralCurveException

GeoObjectChange

This class is used as a parameter in the ChangeDelegate event of IGeoObject (see WillChangeEvent).

GeoObjectException

Exception type thrown by GeoObjects

GeoObjectList

Simple list of GeoObjects (IGeoObject). Implemented as an ArrayList.

Hatch

A GeoObject that represents a flat (2d) shape filled by a HatchStyle. It also acts as a Block presenting e.g. the hatch lines as its containing child objects. To fully define a Hatch object you have to set these three properties: Plane, CompoundShape and HatchStyle. If you omit one of these properties you wont see the Hatch object as it is not fully defined. No defaults are assumed.

HelicalSurface

A helical surface defined by an axis, a curve and a pitch. the curve and the axis must reside in a common plane. The curve is revolved around the axis while beeing moved in direction of the axis. The distance movement in direction of the aixs is "pitch" for one full turn.

Icon

A GeoObject that displays an icon at a given position. The icon will always face the viewer and will not be scaled. The icon appears with a small offset in direction to the viewer, so it will not be covered by a face whith which it coincides.

IGeoObjectImpl

This class helps to implement IGeoObject by implementing some IGeoObject methods in a default way and by offering some helper methods.

IGeoObjectImpl.Changing

Helper class to wrap any changing of this GeoObject. Usually used in this way:

    using (new Changing(this,...))
    {
        // ... make the change here ...
    }

This will call FireWillChange(GeoObjectChange) before the GeoObject is changed and FireDidChange(GeoObjectChange) after the GeoObject was changed with the appropriate parameters. Changig takes nested changes into account and raises the events only at the outermost level.

IGeoObjectImpl.ChangingAttribute

Helper class to wrap the setting of an attribute. Usually used in this way:

    using (new ChangingAttribute(this,atrName,attribute))
    {
        // ... set the attribute here ...
    }

This will call FireWillChange(GeoObjectChange) before the attribute is changed and FireDidChange(GeoObjectChange) after the attribute was changed.

IGeoObjectImpl.ChangingException

An ApplicationException thrown when an error happens during a change operation.

Intersection

This class provides some static methods concerning the intersection of 3D IGeoObject objects. The class Curves also provides some inetersction methods of ICurve objects.

ISurfaceImpl

Internal helper class for ISurface implementation.

Line

The line is a IGeoObject. It is actually a line segment not an infinite line.

Make3D

A class with static methods to create and combine Solids, Shells or Faces.

NonPeriodicCylindricalSurface

NonPeriodicSurface

Non-periodic surface made from an underlying periodic surface. The underlying periodic surface must be periodic in u or in v and may have a pole at the minimum or maximum of the non periodic parameter. The underlying periodic surface may also be non periodic but have one singularity, which will be removed.

NurbsSurface

A NURBS surface implementing ISurface.

OffsetSurface

Path

A geoobject, that derives from Block and represents a ordered collection of geoobjects which all support the ICurve intrface. The contained curves are connected, i.e. Child(i).EndPoint is equal or close to Child(i+1).StartPoint. The Path is not necessary planar, closed and may be self intersecting.

PathException

Picture

A bitmap as a rectangular or rhombiod face in 3D space. This object is mainly used for illustration or as a background in a model. It is a GeoObject and may be part of a model. It is defined by the bitmap bits and the location in space.

PlaneSurface

A planar infinite surface. Implements ISurface. The plane is defined by two vectors which are not necessary perpendicular or normalized.

Point

Implements a point as a IGeoObject.

Polyline

PolylineException

QuadTreeCollection

Shell

ShowPropertyFont

ShowPropertyPicture

ShowPropertyText

SnapPointFinder

Ths class serves as a parameter to FindSnapPoint(SnapPointFinder). It keeps the best snappoint, the object, which caused it and the distance to the mouse point.

Solid

A Solid is a IGeoObject implementation that represents a solid body. Its main data is a collection of oriented faces. The normal vector on any point of the face points to the outside of the body. Solids have one set of faces that represent the outer hull and any number of cavities that reside totally inside the outer hull. All cavyties are disjoint.

SphericalSurface

SphericalSurfaceNP

A spherical surface with a non periodic u/v system. It also has no poles. It cannot represent a whole sphere, there must be some part which is outside the usable area. The center, xAxis, yAxis and zAxis define a coordinate system. The plane defined by (center, xAxis and yAxis) is the equator plane of the sphere, (center+zAxis) is the north pole. (center-zAxis9 is the south pole, which may not be part of the used area. The u/v system is the u/v system of the equator area. The point of the sphere for a provided u/v point is the projection of this point from the south pole to the surface. All circular arcs on the sphere (e.g. planar intersections) are elliptical arcs in the u/v system (or lines, when they pass the north pole)

SurfaceHelper

SurfaceOfLinearExtrusion

Surface defined by a 3d curve and a direction. A point at (u,v) of the surface is defined by the point of the curve at parameter u plus v*direction. It is the surface that is generated by the curve moved along the direction. The curve may not have the direction as a tangential vector. Also the curve is defined in the interval [0,1], the parameterspace of this curve may also be defined by a startParameter and an endParameter.

SurfaceOfRevolution

SurfaceOfRevolution.Hyperbola

SurfaceOfRevolution.HyperbolaHelp

SurfaceOfRevolutionException

Surfaces

Text

Simple Text object, Implements IGeoObject.

ToroidalSurface

A toroidal surface which implements ISurface. The surface represents a torus in space. It is defined by its position in space (three directions) and two radii. The u parameter describes the "big" circles around the main axis, the v parameter describes the "small" circles.

UnscaledGeoObject

A IGeoObject which always appears in the same size in a view. It is not scaled when the view is zoomed. These objects can not be kept in displaylists and hence have a poor performance when used in high numbers. The objects rotate with the view when viewed from different directions. The Location specifies the position of the origin (GeoPoint(0,0,0)) of the referenced GeoObject. Usually you would center the referenced object at the origin so this object will be centered at the Location. In contrast to the Icon object, which always shows its face to the viewer and is much faster, because it can be kept in the display list. Since this object does not have a well defined size in world coordinates, it is only pickable or selectable at its insertion point. The size of the object is assumed in device units (pixels) The Layer of this object will be taken into account for the objects visibility, not the layer of the referenced object. The use of this object is not recommended because it has a poor performance in both display and selection. Consider using Icon instead.

Interfaces

ICategorizedDislayLists

ICurve

Interface implemented by one-dimensional geometric objects (eg. line, circle, bspline etc.). The curve may be open or closed.

IDimensionStyle

IExtentedableCurve

Interface for ICurve implementing objects that can be extended in one or two directions

IGeoObject

IGeoObject is the interface that all geometric entities must support (see GeoObject).

IGeoObjectOwner

An IGeoObject object is either owned by a Model or by a Block or it has no owner. The property Owner sets or gets that owner. The Model or Block implement this interface. If you need more functionality than Add and Remove, try to cast IGeoObjectOwner to Model or Block.

IGeoObjectShowProperty

INonPeriodicSurfaceConversion

IOrientation

---Yet to be used--- Imagine a coordinate system moving along a 3d curve. Th z-axis always showing in direction of the curve. The x- and y-axis are still arbitrary. This orientation interface defines the direction of the x-axis at some point

IQuadTreeInsertableZ

IRestrictedDomain

Interface for surfaces with non rectangular definition space. Normally surfaces are either defined for all 2d values (infinite) or they are restricted to a rectangular domain (e.g. NurbsSurface). The NonPeriodicSurface is only defined on a circular area or on a ring. Maybe other surfaces with irregular domains will follow.

ISurface

The ISurface interface must be implemented by all 3-dimensional unbound surfaces that are used by the Face object. The surface has a well defined 2-dimensional coordinate system, usually referred to as the u/v system.

ISurfaceOfRevolution

Interface of a surface rotating in u direction. Should be implemented by all surfaces, which can be looked at this was

Enums

AttributeUsage

CurveException.Mode

Enumeration of different causes for this exception

Dimension.EDimType

Different types of dimensioning

Dimension.EditingMode

Dimension.HitPosition

EllipseException.tExceptionType

ExtentedableCurveDirection

Enumeration for direction of curve extension

ExtentPrecision

GeoObjectException.tExceptionType

Kind of exception

Make3D.SolidModellingMode

Path.ModificationMode

PathException.ExceptionType

PlanarState

Enumeration for the classification of the planar state of a curve

PointSymbol

Flags definig the symbol for the presentation of a Point object. The flag may contain one of the values Empty=0x0,Dot=0x1,Plus=0x2,Cross=0x3,Line=0x4 combined with Square=0x8 or Circle=0x10.

PolylineException.PolylineExceptionType

RuledSurfaceMode

Shell.FindSameFormSearchMode

SnapPointFinder.DidSnapModes

Resulting snap modes of the snap opertaion.

SnapPointFinder.SnapModes

Snap modes to specify in which points the SnapPointFinder should respect

Text.AlignMode

Vertical alignement of the text.

Text.LineAlignMode

Horizontal alignement of the text

Delegates

Block.ConstructionDelegate

Block.PaintTo3DDelegate

BlockRef.ConstructionDelegate

BlockRef.PaintTo3DDelegate

BSpline.ConstructedDelegate

BSpline.ConstructionDelegate

BSpline.PaintTo3DDelegate

ChangeDelegate

Delegate method that is invoked when a GeoObject is about to change or did change.

CreateContextMenueDelegate

Dimension.ConstructionDelegate

Dimension.PaintTo3DDelegate

Ellipse.ConstructedDelegate

Ellipse.ConstructionDelegate

Ellipse.PaintTo3DDelegate

Face.ConstructedDelegate

Face.ConstructionDelegate

Face.PaintTo3DDelegate

GeneralCurve.ConstructionDelegate

GeoObjectList.ObjectAddedDelegate

GeoObjectList.ObjectRemovedDelegate

Hatch.ConstructedDelegate

Hatch.ConstructionDelegate

Delegate definition for Constructor

Hatch.PaintTo3DDelegate

Hatch.RecalcDelegate

Icon.ConstructedDelegate

Definition of the Constructed event

Icon.ConstructionDelegate

Delegate for the construction of a Icon.

IGeoObjectImpl.GetAdditionalContextMenueDelegate

Line.ConstructedDelegate

Line.ConstructionDelegate

Delegate for the construction of a Line.

Line.PaintTo3DDelegate

Path.ConstructedDelegate

Path.ConstructionDelegate

Path.PaintTo3DDelegate

Picture.ConstructedDelegate

Definition of the Constructed event

Picture.ConstructionDelegate

Delegate for the construction of a Picture.

Point.ConstructedDelegate

Point.ConstructionDelegate

Point.PaintTo3DDelegate

Polyline.ConstructedDelegate

Polyline.ConstructionDelegate

Polyline.PaintTo3DDelegate

Shell.ConstructedDelegate

Shell.ConstructionDelegate

Shell.PaintTo3DDelegate

Solid.ConstructedDelegate

Solid.ConstructionDelegate

Solid.PaintTo3DDelegate

Text.ConstructionDelegate

Text.PaintTo3DDelegate

UnscaledGeoObject.ConstructedDelegate

UnscaledGeoObject.ConstructionDelegate

Delegate for the construction of a UnscaledGeoObject.

In This Article
Back to top Generated by DocFX