DrawKit
Vector and illustration framework for Mac OS X
Instance Methods | List of all members
DKRegularPolygonPath Class Reference

Implements a regular polygon and variations of it (stars and other similar shapes) More...

Inheritance diagram for DKRegularPolygonPath:
Inheritance graph
[legend]

Instance Methods

(IBAction) - convertToPath:
 
(CGFloat- innerRadius
 
(BOOL- isStar
 
(CGFloat- numberOfSides
 
(CGFloat- radius
 
(void) - setInnerRadius:
 
(void) - setNumberOfSides:
 
(IBAction) - setNumberOfSidesWithTag:
 
(void) - setRadius:
 
(void) - setShowsSpreadControls:
 
(void) - setTipSpread:
 
(void) - setValleySpread:
 
(BOOL- showsSpreadControls
 
(CGFloat- tipSpread
 
(CGFloat- valleySpread
 
- Instance Methods inherited from DKDrawablePath
(IBAction) - addRandomNoise:
 Adds some random offset to every point on the path. More...
 
(void) - arcCreateLoop:
 Event loop for creating an arc or a wedge. More...
 
(NSArray *) - breakApart
 Converts each subpath in the current path to a separate object. More...
 
(IBAction) - breakApart:
 Replaces the object with new objects, one for each subpath in the original. More...
 
(BOOL- canConvertToTrack
 
(void) - clearUndoPath
 
(IBAction) - closePath:
 Closes the path if not already closed. More...
 
(void) - combine:
 Merges two paths by simply appending them. More...
 
(BOOL- constrainWithEvent:
 Should the angle of the path be constrained? More...
 
(IBAction) - convertToOutline:
 Replaces the path with an outline of the path. More...
 
(IBAction) - convertToShape:
 Converts this object to he equivalent shape. More...
 
(IBAction) - curveFit:
 Attempts to curve-fit the object's path. More...
 
(DKDrawablePath *) - dividePathAtLength:
 Splits a path into two paths at a specific point. More...
 
(void) - drawControlPointsOfPath:usingKnobs:
 
(void) - freehandCreateLoop:
 Event loop for creating a curved path by fitting it to a series of sampled points. More...
 
(CGFloat- freehandSmoothing
 Get the smoothness valueof paths created in freehand mode. More...
 
(CGFloat- infoLengthForPath:
 Return the length to display to the user of a path. More...
 
(id- initWithBezierPath:
 
(id- initWithBezierPath:style:
 Initialises a drawable path object from an existing path with the given style. More...
 
(BOOL- isOpenEndPoint:
 Discover whether the given partcode is an open end point of the path. More...
 
(BOOL- isPathClosed
 Discover whether the path is open or closed. More...
 
(DKDrawablePathJoinResult) - join:tolerance:makeColinear:
 
(CGFloat- length
 Return the length of the path. More...
 
(CGFloat- lengthForPoint:
 
(CGFloat- lengthForPoint:tolerance:
 
(void) - lineCreateLoop:
 Event loop for creating a single straight line. More...
 
(DKDrawablePath *) - makeParallelWithOffset:smooth:
 Make a copy of the path but with a parallel offset. More...
 
(DKDrawableShape *) - makeShape
 Make a copy of the path into a shape object. More...
 
(void) - movePathPartcode:toPoint:event:
 Move a single control point to a new position. More...
 
(IBAction) - parallelCopy:
 Adds a copy of the receiver to the drawing with a parallel offset path. More...
 
(NSBezierPath *) - path
 
(void) - pathCreateLoop:
 Event loop for creating a curved path point by point. More...
 
(void) - pathCreationLoopDidEnd
 Overrideable hook at the end of path creation. More...
 
(DKDrawablePathCreationMode) - pathCreationMode
 Gets the "mode" of operation for creating new path objects. More...
 
(BOOL- pathDeleteElementAtIndex:
 Delete a segment from the path at the given index. More...
 
(BOOL- pathDeleteElementAtPoint:
 Delete a segment from the path at the given point. More...
 
(BOOL- pathDeletePointWithPartCode:
 Delete the point from the path with the given part code. More...
 
(NSInteger- pathInsertPointAt:ofType:
 
(void) - polyCreateLoop:
 Event loop for creating a polygon consisting of straight line sections. More...
 
(NSEvent *) - postMouseUpAtPoint:
 
(void) - recordPathForUndo
 
(IBAction) - reversePath:
 Reverses the direction of the object's path. More...
 
(IBAction) - roughenPath:
 
(void) - setFreehandSmoothing:
 Set the smoothness of paths created in freehand mode. More...
 
(void) - setPath:
 
(void) - setPathCreationMode:
 Sets the "mode" of operation for creating new path objects. More...
 
(void) - setShouldExtendExistingPath:
 Set whether the object should extend its path or start from scratch. More...
 
(BOOL- shouldEndPathCreationWithEvent:
 Test for the ending criterion of a path loop. More...
 
(IBAction) - smoothPath:
 Tries to smooth a path by curve fitting. More...
 
(IBAction) - smoothPathMore:
 Tries to smooth a path by curve fitting. More...
 
(IBAction) - toggleHorizontalFlip:
 Flips the path horizontally. More...
 
(IBAction) - toggleVerticalFlip:
 Flips the path vertically. More...
 
(NSBezierPath *) - undoPath
 
(DKDrawablePathJoinResult) - wouldJoin:tolerance:
 Preflights a potential join to determine if the join would be made. More...
 
- Instance Methods inherited from DKDrawableObject
(void) - addMetadata:
 
(void) - addUserInfo:
 
(NSSet *) - allRegisteredStyles
 
(NSSet *) - allStyles
 
(CGFloat- angle
 
(CGFloat- angleInDegrees
 Return the shape's current rotation angle. More...
 
(NSRect- apparentBounds
 
(void) - applyTransform:
 Apply the transform to the object. More...
 
(NSRect- bounds
 
(NSImage *) - cachedImage
 Returns an image of the object representing its current appearance at 100% scale. More...
 
(NSColor *) - colourForKey:
 
(id< DKDrawableContainer >) - container
 Returns the immediate parent of this object. More...
 
(NSAffineTransform *) - containerTransform
 Return the container's transform. More...
 
(CGFloat- convertLength:
 
(NSPoint) - convertPointToDrawing:
 
(IBAction) - copyDrawingStyle:
 
(void) - creationTool:willBeginCreationAtPoint:
 
(void) - creationTool:willEndCreationAtPoint:
 
(NSView *) - currentView
 
(NSCursor *) - cursorForPartcode:mouseButtonDown:
 
(void) - detachStyle
 If the object's style is currently sharable, copy it and make it non-sharable. More...
 
(void) - drawContent
 
(void) - drawContentInRect:fromRect:withStyle:
 
(void) - drawContentWithSelectedState:
 
(void) - drawContentWithStyle:
 
(void) - drawGhostedContent
 
(DKDrawing *) - drawing
 
(void) - drawSelectedState
 
(void) - drawSelectionPath:
 
(NSSize) - extraSpaceNeeded
 
(CGFloat- floatValueForKey:
 
(NSUInteger- geometryChecksum
 
(void) - group:willUngroupObjectWithTransform:
 This object is being ungrouped from a group. More...
 
(void) - groupWillAddObject:
 This object is being added to a group. More...
 
(BOOL- hasMetadataForKey:
 
(NSInteger- hitPart:
 
(NSInteger- hitSelectedPart:forSnapDetection:
 
(NSUInteger- indexInContainer
 Returns the index position of this object in its container layer. More...
 
(id- initWithStyle:
 Initializes the drawable to have the style given. More...
 
(BOOL- intersectsRect:
 
(NSInteger- intValueForKey:
 
(void) - invalidateRenderingCache
 Discard all cached rendering information. More...
 
(BOOL- isBeingHitTested
 Is a hit-test in progress. More...
 
(BOOL- isGhosted
 Retuirn whether the object is ghosted rather than with its full style. More...
 
(BOOL- isKeyObject
 Is the object currently the layer's key object? More...
 
(BOOL- isPendingObject
 Is the object currently a pending object? More...
 
(BOOL- isSelected
 
(BOOL- isTrackingMouse
 
(DKKnobType) - knobTypeForPartCode:
 
(DKObjectOwnerLayer *) - layer
 Returns the layer that this object ultimately belongs to. More...
 
(NSPoint) - location
 
(BOOL- locationLocked
 Whether the object's location is locked or not. More...
 
(IBAction) - lock:
 
(BOOL- locked
 
(IBAction) - lockLocation:
 
(NSRect- logicalBounds
 
(NSMenu *) - menu
 Reurn the menu to use as the object's contextual menu. More...
 
(NSMutableDictionary *) - metadata
 
(NSUInteger- metadataChecksum
 
(void) - metadataDidChangeKey:
 
(DKMetadataItem *) - metadataItemForKey:
 
(DKMetadataItem *) - metadataItemForKey:limitToLocalSearch:
 
(NSArray *) - metadataItemsForKeysInArray:
 
(NSArray *) - metadataItemsForKeysInArray:limitToLocalSearch:
 
(NSArray *) - metadataKeys
 
(id- metadataObjectForKey:
 
(void) - metadataWillChangeKey:
 
(void) - mouseDoubleClickedAtPoint:inPart:event:
 
(void) - mouseDownAtPoint:inPart:event:
 
(void) - mouseDraggedAtPoint:inPart:event:
 
(NSSize) - mouseDragOffset
 
(BOOL- mouseHasMovedSinceStartOfTracking
 
(NSSize) - mouseOffset
 
(BOOL- mouseSnappingEnabled
 
(void) - mouseUpAtPoint:inPart:event:
 
(void) - notifyGeometryChange:
 
(void) - notifyStatusChange
 
(void) - notifyVisualChange
 
(void) - objectDidBecomeSelected
 
(void) - objectIsNoLongerSelected
 
(BOOL- objectIsValid
 
(BOOL- objectMayBecomeSelected
 Is the object able to be selected? More...
 
(void) - objectWasAddedToLayer:
 The object was added to a layer. More...
 
(void) - objectWasRemovedFromLayer:
 The object was removed from the layer. More...
 
(void) - objectWasUngrouped
 This object was ungrouped from a group. More...
 
(NSSize) - offset
 
(void) - offsetLocationByX:byY:
 
(NSAttributedString *) - originalText
 
(IBAction) - pasteDrawingStyle:
 
(NSData *) - pdf
 Returns the single object rendered as a PDF image. More...
 
(NSPoint) - pointForPartcode:
 
(BOOL- pointHitsPath:
 Test a point against the offscreen bitmap representation of the shape. More...
 
(BOOL- populateContextualMenu:
 
(BOOL- populateContextualMenu:atPoint:
 
(void) - readSupplementaryDataFromPasteboard:
 Read additional data from the pasteboard specific to the object. More...
 
(BOOL- rectHitsPath:
 Test if a rect encloses any of the shape's actual pixels. More...
 
(void) - removeMetadataForKey:
 
(NSBezierPath *) - renderingPath
 
(void) - replaceMatchingStylesFromSet:
 
(void) - resetOffset
 
(void) - resizeWidthBy:heightBy:
 
(void) - rotateByAngle:
 Rotate the shape by adding a delta angle to the current angle. More...
 
(DKMetadataSchema) - schema
 
(void) - setAngle:
 Set the object's current angle in radians. More...
 
(void) - setBeingHitTested:
 Set whether a hit-test in progress. More...
 
(void) - setColour:forKey:
 
(void) - setContainer:
 
(void) - setFloatValue:forKey:
 
(void) - setGhosted:
 Set whether the object is ghosted rather than with its full style. More...
 
(void) - setIntValue:forKey:
 
(void) - setLocation:
 
(void) - setLocationLocked:
 Sets whether the object's location is locked or not. More...
 
(void) - setLocked:
 
(void) - setMetadata:
 
(void) - setMetadataItem:forKey:
 
(void) - setMetadataItemType:forKey:
 
(void) - setMetadataItemValue:forKey:
 
(void) - setMetadataObject:forKey:
 
(void) - setMouseDragOffset:
 
(void) - setMouseHasMovedSinceStartOfTracking:
 
(void) - setMouseSnappingEnabled:
 
(void) - setNeedsDisplayInRect:
 
(void) - setNeedsDisplayInRects:
 
(void) - setNeedsDisplayInRects:withExtraPadding:
 
(void) - setOffset:
 
(void) - setOriginalText:
 
(void) - setSize:
 
(void) - setSize:forKey:
 
(void) - setString:forKey:
 
(void) - setStyle:
 
(void) - setTrackingMouse:
 
(void) - setupMetadata
 
(void) - setUserInfo:
 
(void) - setUserInfoObject:forKey:
 Set an item of user info. More...
 
(void) - setVisible:
 
(NSSize) - size
 
(NSSize) - sizeForKey:
 
(NSPoint) - snappedMousePoint:forSnappingPointsWithControlFlag:
 
(NSPoint) - snappedMousePoint:withControlFlag:
 Offset the point to cause snap to grid + guides accoding to the drawing's settings. More...
 
(NSArray *) - snappingPoints
 
(NSArray *) - snappingPointsWithOffset:
 
(NSString *) - stringForKey:
 
(DKStyle *) - style
 
(void) - styleDidChange:
 
(void) - styleWillChange:
 
(NSSet *) - subSelection
 Return the subselection of the object. More...
 
(NSImage *) - swatchImageWithSize:
 
(NSAffineTransform *) - transform
 Return a transform that maps the object's stored path to its true location in the drawing. More...
 
(NSUndoManager *) - undoManager
 
(IBAction) - unlock:
 
(IBAction) - unlockLocation:
 
(void) - updateMetadataKeys
 
(void) - updateRulerMarkers
 
(BOOL- useLowQualityDrawing
 
(NSMutableDictionary *) - userInfo
 Return the attached user info. More...
 
(id- userInfoObjectForKey:
 Return an item of user info. More...
 
(BOOL- visible
 
(void) - willBeAddedAsSubstituteFor:toLayer:
 Some high-level operations substitute a new object in place of an existing one (or several). More...
 
(void) - writeSupplementaryDataToPasteboard:
 Write additional data to the pasteboard specific to the object. More...
 
- Instance Methods inherited from NSObject
(NSString *) - address
 
(DKStyleRegistry *) - applicationWillReturnStyleRegistry
 
(BOOL- canBeUsedWithSelectionTool
 
(id- categoryManager:shouldReplaceObject:withObject:
 
(Class- classForCoder
 
(NSColor *) - colorValue
 
(NSColor *) - colourValue
 
(id- copy
 
(void) - dealloc
 
(id- deepCopy
 
(NSDictionary *) - dimensionValuesForArrowStroke:
 
(CGFloat- drawing:convertDistanceToExternalCoordinates:
 
(NSPoint) - drawing:convertLocationToExternalCoordinates:
 
(void) - drawing:didDrawRect:inView:
 
(void) - drawing:willDrawRect:inView:
 
(NSString *) - drawing:willReturnAbbreviationForUnit:
 
(NSString *) - drawing:willReturnFormattedCoordinateForDistance:
 
(CGFloat- drawingWillReturnUnitToPointsConversonFactor:
 
(void) - finalize
 
(NSString *) - hexString
 
(void) - hotspot:didEndTrackingWithEvent:inView:
 
(void) - hotspot:isTrackingWithEvent:inView:
 
(void) - hotspot:willBeginTrackingWithEvent:inView:
 
(NSData *) - imageData
 
(NSImage *) - imageResourceNamed:
 
(id- init
 
(id- initWithExpression:
 
(id- instantiateObjectWithShortName:parameters:
 
(BOOL- isLiteralValue
 
(void) - layoutManager:willPlaceGlyphAtIndex:atLocation:pathAngle:yOffset:
 
(void) - menuItem:wasAddedForObject:inCategory:
 
(BOOL- moveObjectTo:position:slope:userInfo:
 
(id- mutableCopy
 
(void) - oneShotComplete
 
(void) - oneShotHasReached:
 
(void) - oneShotWillBegin
 
(void) - path:elementIndex:type:points:subPathIndex:subPathClosed:contextInfo:
 
(id- placeLinkFromPoint:toPoint:onPath:linkNumber:userInfo:
 
(id- placeObjectAtPoint:onPath:position:slope:userInfo:
 
(NSPoint) - point
 
(NSPoint) - pointForTextLayout
 
(DKStyle *) - registry:shouldReplaceStyle:withStyle:
 
(NSBezierPath *) - renderer:willRenderPath:
 
(void) - routeFinder:progressHasReached:
 
(void) - setValue:forNumericParameter:
 
(NSString *) - stringValue
 
(CGFloat- taperFactorAtDistance:onPath:ofLength:
 
(void) - toolDidPerformUndoableAction:
 
(void) - toolWillPerformUndoableAction:
 
(NSURL *) - url
 
- Instance Methods inherited from <NSObject>
(NSString *) - description
 
(NSUInteger- hash
 
(BOOL- isEqual:
 
- Instance Methods inherited from <NSKeyValueBindingCreation>
(void) - bind:toObject:withKeyPath:options:
 
(NSArray *) - exposedBindings
 
(NSDictionary *) - infoForBinding:
 
(NSArray *) - optionDescriptionsForBinding:
 
(void) - unbind:
 
(Class- valueClassForBinding:
 
- Instance Methods inherited from <DKStorableObject>
(NSUInteger- index
 
(BOOL- isMarked
 
(void) - setIndex:
 
(void) - setMarked:
 
(void) - setStorage:
 
(id< DKObjectStorage >) - storage
 
- Instance Methods inherited from <NSCoding>
(void) - encodeWithCoder:
 
(id- initWithCoder:
 
- Instance Methods inherited from <NSCopying>
(id- copyWithZone:
 
- Instance Methods inherited from <DKRenderable>
(NSMutableDictionary *) - renderingCache
 

Additional Inherited Members

- Class Methods inherited from DKDrawablePath
(CGFloat+ angularConstraintAngle
 Angle of constraint for new paths. More...
 
(BOOL+ defaultOnPathHitDetectionPriority
 Returns whether the default hit-detection behaviour is to prioritise on-path points or off-path points. More...
 
(DKDrawablePath *) + drawablePathWithBezierPath:
 Creates a drawable path object for an existing NSBezierPath. More...
 
(DKDrawablePath *) + drawablePathWithBezierPath:withStyle:
 Creates a drawable path object for an existing NSBezierPath and style. More...
 
(NSColor *) + infoWindowBackgroundColour
 Return the background colour to use for the info window displayed when interacting with paths. More...
 
(void) + setAngularConstraintAngle:
 Set the angle of constraint for new paths. More...
 
(void) + setDefaultOnPathHitDetectionPriority:
 Set whether the default hit-detection behaviour is to prioritise on-path points or off-path points. More...
 
(void) + setInfoWindowBackgroundColour:
 Set the background colour to use for the info window displayed when interacting with paths. More...
 
- Class Methods inherited from DKDrawableObject
(Class+ classForConversionRequestFor:
 Return the class to use in place of the given class when performing a conversion. More...
 
(NSUInteger+ countOfNativeObjectsOnPasteboard:
 Return the number of native objects held by the pasteboard. More...
 
(BOOL+ displaysSizeInfoWhenDragging
 Return whether an info floater is displayed when resizing an object. More...
 
(NSColor *) + ghostColour
 Return the outline colour to use when drawing objects in their ghosted state. More...
 
(NSInteger+ initialPartcodeForObjectCreation
 
(NSDictionary *) + interconversionTable
 Return the interconversion table. More...
 
(BOOL+ isGroupable
 Return whether obejcts of this class can be grouped. More...
 
(BOOL+ metadataChangesAreUndoable
 
(NSArray *) + nativeObjectsFromPasteboard:
 
(NSArray *) + pasteboardTypesForOperation:
 
(void) + setDisplaysSizeInfoWhenDragging:
 Set whether an info floater is displayed when resizing an object. More...
 
(void) + setGhostColour:
 Set the outline colour to use when drawing objects in their ghosted state. More...
 
(void) + setInterconversionTable:
 Return the interconversion table. More...
 
(void) + setMetadataChangesAreUndoable:
 
(void) + substituteClass:forClass:
 Sets the class to use in place of the a base class when performing a conversion. More...
 
(NSRect+ unionOfBoundsOfDrawablesInArray:
 Returns the union of the bounds of the objects in the array. More...
 
- Class Methods inherited from NSObject
(id+ alloc
 
(Class+ class
 
(void) + initialize
 
(void) + load
 
(id+ new
 
- Class Methods inherited from <NSKeyValueBindingCreation>
(void) + exposeBinding:
 
- Protected Attributes inherited from DKDrawableObject
BOOL m_clipToBBox: 1
 
BOOL m_showBBox: 1
 
BOOL m_showPartcodes: 1
 
BOOL m_showTargets: 1
 
BOOL m_unused_padding: 4
 

Detailed Description

Implements a regular polygon and variations of it (stars and other similar shapes)

Author
Contributions from the community; see CONTRIBUTORS.md
Date
2005-2015

the tip spread is the roundness of the tips or outer vertices of a star or polygon shape, the valley spread is the roundness of the inner vertices of a star shape (not used if the inner radius is -ve).

Method Documentation

- (IBAction) convertToPath: (id sender
- (CGFloat) innerRadius
- (BOOL) isStar
- (CGFloat) numberOfSides
- (CGFloat) radius
- (void) setInnerRadius: (CGFloat innerRad
- (void) setNumberOfSides: (NSInteger sides
- (IBAction) setNumberOfSidesWithTag: (id sender
- (void) setRadius: (CGFloat rad
- (void) setShowsSpreadControls: (BOOL showControls
- (void) setTipSpread: (CGFloat spread
- (void) setValleySpread: (CGFloat spread
- (BOOL) showsSpreadControls
- (CGFloat) tipSpread
- (CGFloat) valleySpread