Drawing3d documented Class Library

Drawing3d.Surfaces Namespace

Namespace Hierarchy

Classes

Class Description
ArrayExtruder This class extrude a xyArray with a height. You can use it to represent any prism as a quader, a box ..
BezierSurface The BezierSurface is the base class for BSplineSurface and implements ControlPoints, which defines the surface by calculating the 3D-Bezierfunction. The count of Controlpoints is limmited to 4 for the BezierSurface
BSplineSurface This class inherits from BezierSurface and uses its ControlPoints and additionally so called Knots to evaluate a 3D BSpline. BezierSurface has a degree for u and v parameters: UDegree and VDegree The default is 2. Usually: the Number of Controlpoints plus the degree plus 1 gives the number of Knots If this is not valid then the Knots will be setted new by SetDefaultKnots
Cone This class implements the outlook of a cone. It is defined by a (base) Radius a TopRadiusHeight. You can define also the HalfAngle on the top, so the Height is calculated.
CurveExtruder This class defines an extruder ArrayExtruder, which extrudes a Curve.
CustomSurface This Surface allows you to implement his function by its events. For example
    private void Form1_Load(object sender, EventArgs e)
    {   ...
        MySurface.OnGetValue += new RealFunction2d3d(MySurface_OnGetValue);
     }      
     xyz MySurface_OnGetValue(object sender, double u, double v)
     {
         u = (u - 0.5)*5 ; // map 0,1 --> -2.5,2.5
         v = (v - 0.5)*5 ; // map 0,1 --> -2.5,2.5
         return new xyz(u,v,(u * u + v * v)/2);
     }
 
Cylinder A cylinder is just the same as a Cone with Radius == TopRadius.
NurbsSurface Inherits from BSplineSurface and uses ControlPoints to calculate the surface. Additionally it defines Weights, which are needed for the evaluation.
PlaneSurface This class implements a surface, which is simply a plane.
Raster Use this class if you want to intersect an area, which is given by a xyArray with a raster. Origin and the size of this raster can be setted. A raster, contains a array of Raster.RasterSegment related to every cell. These rastersegments hold information about the related xyArray:

Raster.RasterSegment This class contains the information about the intersection of the underlying array with one Rasterelement Filled is true if the underlyling xyArray is intersecting with this cell.

Sphere Sphere is a surface, which implements a sphere with the origin as center and a Radius. Sphere overrides the abstract functions Value, uDerivation and vDerivation
Surface A surface is a area, which is given by a parameterized function (Value). She has two parameters u and v and has a xyz result. The parameters u and v are taken in the interval [0,1]. On this way a 3-dimsonal surface is defined.
With drawSurface you can draw the complete surface in a device definet for [0,1]X[0,1]. If you want to draw only a part of the surface, you have to define BoundedCurves. Now you get only the part of surface, which enclosed by the BoundedCurves. Additional the partial derivations uDerivation and vDerivation must bee given to calculate the Normal. Surface by himself is an abstract class. Value, uDerivation and vDerivation have to been overridden.
Torus Implements a torus, which is given by InnerRadius and OuterRadius.

Delegates

Delegate Description
RealFunction2d3d This delegate is used from CustomSurface to get value, Uderivation and VDerivation.