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

ccLayerAnd

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

Description

(Virtuoso Photonics Option) Returns a list of new surface shapes derived from the areas of shapes of the first input argument g_shapes1 that overlap areas of shapes of the second input argument g_shapes1.

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.

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=ccLayerAnd(s1 list(s2 s3))
=> (cc@0x27eeea10)

Related Topics

Curvy Core Transformations Functions


Return to top
 ⠀
X