Product Documentation
Virtuoso Studio Design Environment SKILL Reference
Product Version IC23.1, November 2023

ccLayerOr

ccLayerOr(
g_shapes1
g_shapes2
[ ?cellView d_cellViewId ]
[ ?lpp l_lpp ]
[ ?facetsToCurves { t | nil } ]
[ ?mergeFacets { t | nil } ]
) 
=> l_surface / nil

Description

(Virtuoso Photonics Option) Returns a list of new surface shapes derived by combining the areas of shapes of the first input argument g_shapes1 and the areas of shapes of the second input argument g_shapes2.

Arguments

g_shapes1

o_shape | (l_shapes...)

A shape or a list of shapes of the first input argument.

g_shapes2

o_shape | (l_shapes...)

A shape or a list of shapes of the second input argument.

?cellView d_cellViewId

A cellview ID in which output shapes are created. If not specified, output shapes are created in the cellview of the first shape of the first input argument g_shapes1.

?lpp l_lpp

  

tx_layer | (tx_layer tx_purpose)

A layer-purpose pair in the given cellview on which output shapes are created. If not specified, output shapes are created on the layer-purpose pair of the first shape of the first input argument g_shapes1.

?facetsToCurves t | nil

Specifies whether all input facets are converted to curves before the actual operation.

The default is nil, which means that the input facets are not converted to curves.

?mergeFacets { t | nil }

Specifies whether adjacent facets should be merged into a single facet if their corners deviate from the resulting facet by less than 1/2 manufacturing grid. The corners of the resulting facet equal the outermost corners of the merged facets and its enter and its angle equal the middle point and the angle between them, respectively.

Value Returned

l_surface

List of resulting surface shapes.

nil

Returns an empty list.

Example

c=ccCreateCurve("3*cos(t)" "3*sin(t)" 0:8*atan(1))
=> cc@0x36adc1b
s1=ccCreateSurface(cvId "y0" ccCreatePolyCurve(list(c list(0:2 0)) ?close t))
=> cc@0x2d609190
s2=ccCreateSurface(cvId "y0" ccCreatePolyCurve(list(c list(-sqrt(3):-1 0)) ?close t))
=> cc@0x20480bc0
s3=ccCreateSurface(cvId "y0" ccCreatePolyCurve(list(c list(sqrt(3):-1 0)) ?close t))
=> cc@0x29143150
s=ccLayerOr(list(s1 s2) list(s3))
=> (cc@0x27eeea10)

Related Topics

Curvy Core Transformations Functions


Return to top
 ⠀
X