On 30 Apr 2012, at 3:26 PM, Gideon King wrote:
> Hi, I am using the CAShapeLayer's ability to animate a path, but the start 
> and end path need to have the same number of segments. 
> 
> I have been using CGPathAddArcToPoint to add the curves to my path. That 
> translates to CGPathAddCurveToPoint calls behind the scenes, but sometimes it 
> adds one curve and sometimes two, which means that the curve can't be 
> animated. 
> 
> I therefore need to be able to approximate the arc with the same number of 
> CGPathAddCurveToPoint calls each time (presumably 2 or 3).
> 
> Has anyone done this already either with CGPaths or NSBezierPaths? Any 
> pointers would be most welcome.


The usual way of converting circular arcs into cubic Beziers uses one curve for 
no more than 90 degrees of arc. Presumably calling CGPathAddArcToPoint() for 
less than 90 degrees will always add exactly one path segment (though this is 
an implementation detail of course). So you could try dividing up your arcs 
into a fixed number of sub-arcs so that the sub-arcs are always less than 90 
degrees.



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to