ccWaypointConnector
ccWaypointConnector(l_port1l_port2l_pointsn_rmin n_gamma) =>l_connector/ nil
Description
(Virtuoso Photonics Option) Creates a waypoint connector between the specified points with the given minimum curvature radius and the given portion (gamma) of the circular bending angle in the overall bending angle.
If both ports are nil, then at least three waypoints must be specified as input. The connector starts at the first waypoint with the tangent given by the line between the first two waypoints and ends at the last waypoint with the tangent given by the line between the last two waypoints.
If both ports are not nil, they specify the initial and the final points, tangents, and radiuses of the connector.
If no waypoints are specified, the start and the end ports are connected by a curve connector.
If a single waypoint is specified, it is connected to the start and the end ports by a pair of curve connectors with zero curvature at the waypoint.
If two waypoints are specified, they are connected to each other with a straight line and to the start and the end ports with a pair of curve connectors with zero curvatures at the waypoints.
If three or more waypoints are specified, they are connected to each other by a waypoint connector like in the case where both ports are nil and to the start and the end ports by a pair of curve connectors with zero curvature at the waypoints.
It is an error to only specify one port as nil and the other port as not nil.
The waypoint connector consists of a sequence of lines, circles, and clothoids. If the calculation of the waypoint connector can only be partially completed, then the result will only contain segments between the starting point and the point where the calculation failed.
Arguments
Value Returned
Example
port1 = '(nil xy ( 100 100) facet (nil angle 60 radius 0))
port2 = '(nil xy (1000 -100) facet (nil angle 120 radius 0))
waypoints = '((500 300))
rmin = 20
gamma = 1
wp=ccWaypointConnector(port1 port2 waypoints rmin gamma)
=> (nil connector cc@0x196cc479 message "Method=1 Method=1 Length=1496.947836 MinRadius=71.306912")
p = ccCreatePath(geGetEditCellView() list("y1" "drawing") wp->connector->segments ?defaultWidth 0.5)
ccGenFigs(p)

Related Topics
Curvy Core Connector Functions
Return to top