public bool Equals(Torus3d other) => Position.Equals(other.Position) && Direction.Equals(other.Direction) && MajorRadius.Equals(other.MajorRadius) && MinorRadius.Equals(other.MinorRadius);
public bool Equals(Plane3d other) => Normal.Equals(other.Normal) && Distance.Equals(other.Distance);
public bool Equals(PlaneWithPoint3d other) => Normal.Equals(other.Normal) && Point.Equals(other.Point);
public bool Equals(Sphere3d other) => Center.Equals(other.Center) && Radius.Equals(other.Radius);
public bool Equals(Circle3d other) => Center.Equals(other.Center) && Normal.Equals(other.Normal) && Radius.Equals(other.Radius);
public bool Equals(ObliqueCone3d other) => Origin.Equals(other.Origin) && Circle.Equals(other.Circle);
public bool Equals(Cone3d other) => Origin.Equals(other.Origin) && Direction.Equals(other.Direction) && Angle.Equals(other.Angle);
public bool Equals(Cylinder3d other) => P0.Equals(other.P0) && P1.Equals(other.P1) && Radius.Equals(other.Radius) && DistanceScale.Equals(other.DistanceScale);