Create two polygons that overlap, and then Create composite layers. Negative & Positive
![]()
#include "Fab3000.h"
int main ()
{
//Set user units to inch.
dbSetUserUnits( dbcInch );
//Create Layer #1
uiEditAddLayer( "outside", 1 );
//Create Polygon 1
dbPointArray arPts;
arPts.appendPt( 1,1 );
arPts.appendPt( 3.5,1.1 );
arPts.appendPt( 3.6,4.0 );
arPts.appendPt( 2.0,3.2 );
arPts.appendPt( 1,3.5 );
arPts.appendPt( 1,1 );
uiAddPolygon( 1, 0, &arPts );
//Create Layer #2
uiEditAddLayer( "inner", 2 );
//Create Polygon 2
arPts.clear();
arPts.appendPt( 2,1.5 );
arPts.appendPt( 3,2.0 );
arPts.appendPt( 3,3.0 );
arPts.appendPt( 2.2,3.0 );
arPts.appendPt( 2,1.5 );
uiAddPolygon( 2, 0, &arPts );
//Build Positive Composite Layer
dbIntArray arLayers, arPolarity;
arLayers.append( 1 );
arLayers.append( 2 );
arPolarity.append( dbcPolarityDark );
arPolarity.append( dbcPolarityClear );
uiToolsBuildCompositeLayers( "merged_pos", dbcPolarityDark, &arLayers, &arPolarity );
//Build Negative Composite Layer
arLayers.clear();
arPolarity.clear();
arLayers.append( 1 );
arLayers.append( 2 );
arPolarity.append( dbcPolarityClear );
arPolarity.append( dbcPolarityDark );
uiToolsBuildCompositeLayers( "merged_neg", dbcPolarityClear, &arLayers, &arPolarity );
//Zoom All
uiViewZoomAll();
return 0;
}