Table of Contents

Class vdArc

Namespace
VectorDraw.Professional.vdFigures
Assembly
VectorDraw.Professional.dll

Represents a circular arc segment used by the VectorDraw document model.

public class vdArc : vdCurve, IDisposable, IVDSerialise, IvdHatchFigure, IBaseObject
Inheritance
vdArc
Implements
Inherited Members

Examples

// Create a quarter-circle arc centered at the origin
var arc = new vdArc(document)
{
    Center = new gPoint(0.0, 0.0, 0.0),
    Radius = 10.0,
    StartAngle = 0.0,
    EndAngle = Math.PI / 2.0
};
document.Model.Entities.AddItem(arc);

Remarks

A vdArc is defined by a center point, a radius and start/end angles (in radians). The geometry of the arc is stored in the world coordinate system (WCS). The class supports hatch filling, grip editing, intersection testing, splitting, breaking and conversion to other curve types (for example vdPolyline and vdEllipse).

Modifying geometric properties (Center, Radius, StartAngle, EndAngle) raises document modification events and callers should invoke Update() when required so dependent state (bounding box, cached sample points, hatch internals) is recalculated.

Constructors

vdArc()

Initializes a new instance of the vdArc object.

vdArc(vdDocument)

Initializes a new instance of the vdArc object and registers it to the passed Document.

vdArc(vdDocument, gPoint, double, double, double)

Initializes a new instance of the vdArc object and registers it to the passed Document.

Properties

BoundingBox

Gets the Bounding Box of the vdArc object in WorldCoordinate System.

Center

Get/Set the Center of the vdArc object.

ECSMatrix

Gets the transformation Matrix that converts coordinates from the object's local coordinate system (object coordinate system, OCS) to the World Coordinate System (WCS).

EndAngle

Get/Set the end angle of the vdArc object.

HatchProperties

Get/Set the hatch properties of the vdArc object.

Radius

Get/Set the radius of the vdArc object.

StartAngle

Get/Set the start angle of the vdArc object.

Methods

AreSegmentEqual(object)

Returns True if Center , StartAngle , EndAngle are equal using Globals default equalities.

Area()

Calculates the enclosed area of the vdArc object in Drawing Units.

AsEllipse()

Returns a vdEllipse object with the same properties as this vdArc.

AsPolyline()

Create a vdPolyline object with the same properties as the this object.

Break(gPoint, gPoint, out vdFigure)

Breaks the vdArc into two or one subarcs.Deletes the part that is between p1,p2.

DeSerialize(DeSerializer, string, object)

This Function is called foreach field name of the vdArc object when opening in vdml format.

Draw(vdRender)

Called in order to draw the object in a specified vdRender object.

Explode()

If the vdArc object has hatchproperties the explode method creates a vdPolyhatch object.

Fillet(double, ref vdCurve, gPoint, gPoint, out vdArc)

Fillets the edges between arcs and lines.

GetCompareHash()

Returns a unique 32 bit integer value according to the object type and its properties values

GetGripPoints()

A function returning the grip points of the object.

GetSamplePoints(int, double)

Returns a list of points on the vdArc object from the start to the end point of the curve.

GetValidGripPointsItems()

Returns the number of valid grip points of the object. Must return the same number of points as the GetGripPoints() method.

InitializeProperties()

Resets the properties of the vdArc object to the Default values.

InternalSetOwner(vdBaseObject)

Internally used only.

Set the object owner

IntersectWith(vdFigure, VdConstInters, gPoints)

Finds the intersection points of an object with another object.

Length()

Calculates the length of the vdArc object.

MatchProperties(vdPrimary, vdDocument)

Matches all the common properties from an object and sets them to this object.

MoveGripPointsAt(Int32Array, double, double, double)

This function is intended to be called during a grip edit of the vdArc object.

PointOnCurve(gPoint, bool)

Returns if a point belongs to a vdArc object.

Serialize(Serializer)

This Function is called when saving the vdArc object to vdml format.

Split(gPoint, vdSelection)

Splits the Arc into two newlly created arcs devided by the passed point.

TestOffsetSide(gPoint)

Tests if a point is inside a vdArc or not.

ToMesh(int)

Converts the vdArc into a vdPolyface object.

ToString()

Gets a System.String that represents the type of the vdArc Object.

Transformby(Matrix)

Transforms all geometrical properties of this object by the specified Matrix.

Update()

Updates the object after change of properties.

getEndParam()

Return the end parameter for the vdArc object.

getFirstOffsetParam()

Get a value representing the start angle of the vdArc object.

getOffsetCurve(double)

Creates a new vdArc object at a specified distance and in the same plane with the existing object.

getOsnapPoints(Matrix, OsnapMode, gPoint, gPoint, int, OsnapPoints)

Overrrides the getOsnapPoints(Matrix, OsnapMode, gPoint, gPoint, int, OsnapPoints).

getParamAtDist(double)

Get the parameter at a specified distance.

getParamAtPoint(gPoint)

Returns the parameter of the vdArc object at the specified point.

getPointAtParam(double)

Get a point of the vdArc object at a given param distance.

getStartParam()

Returns the start parameter for the vdArc object.

getTangentAtPoint(gPoint, out gPoint)

Overrides the getTangentAtPoint(gPoint, out gPoint)

See Also