Navigation:  C/C++ Scripting Engine > Sample C/C++ Script Code >

build_composite_layers.c

Previous pageReturn to chapter overviewNext page

Create two polygons that overlap, and then Create composite layers.  Negative & Positive

bar_dot

 

#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;

}