Degeneracy

Certain operations can result in the creation of degenerate entities. Degenerate means that, although the resulting object belongs to a particular class, its geometry may no longer conform to the requirements of that class. For example, if you begin with a circular arc and then set its start angle equal to its end angle, you actually have a point instead of a circular arc. Geometrically, the object is a point, but its runtime type is still a circular arc. You can use one of the isDegenerate() functions to determine whether the object is degenerate. The first version of each pair of functions returns the type. The second version returns a nondegenerate object of a different runtime type. In the previous example, it would return a point:

Adesk::Boolean
AcGeCurve2d::isDegenerate(
    AcGe::EntityId& degenerateType,
    const AcGeTol& tol = AcGeContext::gTol) const;
 
Adesk::Boolean
AcGeCurve2d::isDegenerate(
    AcGeEntity2d*& pConvertedEntity,
    const AcGeTol& tol = AcGeContext::gTol) const;
 
Adesk::Boolean
AcGeCurve3d::isDegenerate(
    AcGe::EntityId& degenerateType,
    const AcGeTol& tol = AcGeContext::gTol) const;
 
Adesk::Boolean
AcGeCurve3d::isDegenerate(
    AcGeEntity3d*& pConvertedEntity,
    const AcGeTol& tol = AcGeContext::gTol) const;