IntroductionacsOaBool is a plug-in engine designed to provide boolean operations for the Open Access run time environment. It provides the following boolean operations:
|
![]() |
Description | |
IntroductionThe Reference implementation of Open Access does not include boolean operations - one cannot compute the intersection of poly with the diffusion region below it. Yet boolean operations are fundamental to layout, LVS, DRC and DFM applications. Clearly there is a need for a low cost, efficient, robust and easy-to-use plug in that provides these basic operations. |
Plug-In ImplementationWe have implemented the boolean as a plug-in that C++ programmers can quickly and easily incorporate into their applications. By inheriting the oaRegionQuery class, one that is constantly used by all applications, we have made it quite straightforward to specify the sets of shapes to booleanize and to retrieve them from the plug-in. The boolean is intended to be invisible to the application. |
PerformanceIt is not that difficult to write a boolean operation for simple conditions: small data sets, Manhattan geometry and a limited number of vertices per polygon. It is another matter to code a boolean that supports very large data sets (say 100K+ polygons), all angle data and polygons with 5,000 vertices. |
acsOaBool does all that. It is also multi-threaded so it can subdivide the boolean work onto as many additional CPU's as are available. |
Platforms |
||
| Sun Ultra Sparc Solaris 1 64 bit |
Sun Opteron Solaris 10 64 bit |
Linux X86 RedHat 3/4 64 bit |
| OA Main Page | API | Download | Revision History | Sample Code |
|