+ if (theFeatureID == SketchPlugin_Sketch::ID()) {
+ return FeaturePtr(new SketchPlugin_Sketch);
+ } else if (theFeatureID == SketchPlugin_Point::ID()) {
+ return FeaturePtr(new SketchPlugin_Point);
+ } else if (theFeatureID == SketchPlugin_IntersectionPoint::ID()) {
+ return FeaturePtr(new SketchPlugin_IntersectionPoint);
+ } else if (theFeatureID == SketchPlugin_Line::ID()) {
+ return FeaturePtr(new SketchPlugin_Line);
+ } else if (theFeatureID == SketchPlugin_Circle::ID()) {
+ return FeaturePtr(new SketchPlugin_Circle);
+ } else if (theFeatureID == SketchPlugin_Arc::ID()) {
+ return FeaturePtr(new SketchPlugin_Arc);
+ } else if (theFeatureID == SketchPlugin_Projection::ID()) {
+ return FeaturePtr(new SketchPlugin_Projection);
+ } else if (theFeatureID == SketchPlugin_ConstraintCoincidence::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintCoincidence);
+ } else if (theFeatureID == SketchPlugin_ConstraintCollinear::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintCollinear);
+ } else if (theFeatureID == SketchPlugin_ConstraintDistance::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintDistance);
+ } else if (theFeatureID == SketchPlugin_ConstraintDistanceHorizontal::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintDistanceHorizontal);
+ } else if (theFeatureID == SketchPlugin_ConstraintDistanceVertical::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintDistanceVertical);
+ } else if (theFeatureID == SketchPlugin_ConstraintLength::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintLength);
+ } else if (theFeatureID == SketchPlugin_ConstraintParallel::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintParallel);
+ } else if (theFeatureID == SketchPlugin_ConstraintPerpendicular::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintPerpendicular);
+ } else if (theFeatureID == SketchPlugin_ConstraintRadius::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintRadius);
+ } else if (theFeatureID == SketchPlugin_ConstraintRigid::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintRigid);
+ } else if (theFeatureID == SketchPlugin_ConstraintHorizontal::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintHorizontal);
+ } else if (theFeatureID == SketchPlugin_ConstraintVertical::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintVertical);
+ } else if (theFeatureID == SketchPlugin_ConstraintEqual::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintEqual);
+ } else if (theFeatureID == SketchPlugin_ConstraintTangent::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintTangent);
+ } else if (theFeatureID == SketchPlugin_ConstraintMiddle::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintMiddle);
+ } else if (theFeatureID == SketchPlugin_ConstraintMirror::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintMirror);
+ } else if (theFeatureID == SketchPlugin_Fillet::ID()) {
+ return FeaturePtr(new SketchPlugin_Fillet);
+ } else if (theFeatureID == SketchPlugin_MultiTranslation::ID()) {
+ return FeaturePtr(new SketchPlugin_MultiTranslation);
+ } else if (theFeatureID == SketchPlugin_MultiRotation::ID()) {
+ return FeaturePtr(new SketchPlugin_MultiRotation);
+ } else if (theFeatureID == SketchPlugin_ConstraintAngle::ID()) {
+ return FeaturePtr(new SketchPlugin_ConstraintAngle);
+ } else if (theFeatureID == SketchPlugin_Split::ID()) {
+ return FeaturePtr(new SketchPlugin_Split);
+ } else if (theFeatureID == SketchPlugin_Trim::ID()) {
+ return FeaturePtr(new SketchPlugin_Trim);
+ } else if (theFeatureID == SketchPlugin_MacroArc::ID()) {
+ return FeaturePtr(new SketchPlugin_MacroArc);
+ } else if (theFeatureID == SketchPlugin_MacroCircle::ID()) {
+ return FeaturePtr(new SketchPlugin_MacroCircle);
+ } else if (theFeatureID == SketchPlugin_Ellipse::ID()) {
+ return FeaturePtr(new SketchPlugin_Ellipse);
+ } else if (theFeatureID == SketchPlugin_MacroEllipse::ID()) {
+ return FeaturePtr(new SketchPlugin_MacroEllipse);