| 
 
 Two dimensional ArcsOnly arcs, which are not longer than half of the full circumference are considered valid. An arc is fully determined by two points of its ends and its curvature.
    Curvature is a real number, which defines how curved is the segment. 
	Absolute value of curvature is an inverse of radius of the correspondent circumference:                
    Curvature = 1/Radius;        Radius =
    1/Curvature. Straight lines are considered a special case of arc.
    Straight lines are considered arcs with zero curvature (and infinite
    radius). Distance between ends of an arc is always less or equal to double
    radius, otherwise the arc is considered invalid 
	and does not have geometrical meaning. Arcs with curvature 0 (straight 
	lines) are always valid. When distance between its ends is equal double radius the arc is
    called full arc. Ends of Arcs (and lines) are distinguished as first end the last end. Curvature and radius can be negative. Geometrically, an arc has positive curvature and radius if the arc is
    located on the right-hand side while moving from the first end to the last
    end along a straight line.     Fig 1. Positive arc. 
 Fig 2. Negative arc. Normally Arcs are present only as a part of a line strip. In a strip an arc and its ends are considered different elements because they can be
    selected independently. That is why as a geometric element 
    arc has a single parameter - curvature or radius.  Primary PropertiesPrimary properties completely and uniquely define geometry of an arc. Secondary PropertiesSecondary properties like center of the arc are the ones calculated via
	IArc_DG interface. They are uniquely defined by the primary properties.  Points of an arc are often parameterized with ratio (length or 
	partial arc between the first end and the point) / (length of the whole 
	arc). This parameter always belongs to [0, 1] range, where 0 and 1 are 
	mapped to the first and the second ends. Programmatic accessPrimary  properties of an arc are accessed via
	ILine2d_DG and
	IArc_DG interfaces. To create a new arc use a call similar to  
	IArc_DG iArc = IObjectGenerator.Create<IArc_DG>();.   |