oaWafer Class Reference

Inheritance diagram for oaWafer:

oaWaferObject oaObject


Public Methods

void close ()
void purge ()
void save ()
void saveAs (const oaScalarName &libName, const oaScalarName &cellName, const oaScalarName &viewName)
void reopen (oaChar mode)
void revert ()
void getLibName (oaScalarName &libName) const
void getCellName (oaScalarName &cellName) const
void getViewName (oaScalarName &viewName) const
void getLibName (const oaNameSpace &ns, oaString &libStr) const
void getCellName (const oaNameSpace &ns, oaString &cellStr) const
void getViewName (const oaNameSpace &ns, oaString &viewStr) const
oaTimeStamp getTimeStamp (oaWaferDataType type) const
oaTimeStamp getTimeStamp (oaAppObjectDef *def) const
oaChar getMode () const
oaUInt4 getRefCount () const
oaTime getCreateTime () const
oaTime getReadInTime () const
oaTime getLastSavedTime () const
oaUInt4 getDBUPerWU () const
oaWaferUnitsType getWaferUnits () const
oaWaferDescgetWaferDesc () const
void setDBUPerWU (oaUInt4 value)
void setWaferUnits (oaWaferUnitsType value)
oaBoolean isModified () const
oaBoolean isUndoEnabled () const
void enableUndo (oaBoolean value=true)
void undo ()
void redo ()
void setCp ()
oaUInt8 calcVMSize () const
void getFeatures (oaUInt4 &dataModelRev, oaFeatureArray &features)
oaCollection< oaReticle, oaWafer > getReticles () const
oaCollection< oaReticleRef, oaWafer > getReticleRefs () const
oaCollection< oaFrame, oaWafer > getFrames () const
oaCollection< oaImage, oaWafer > getImages () const

Static Public Methods

oaWafer * open (const oaScalarName &libName, const oaScalarName &cellName, const oaScalarName &viewName, oaChar mode= 'r')
oaWafer * find (const oaScalarName &libName, const oaScalarName &cellName, const oaScalarName &viewName)
oaBoolean exists (const oaScalarName &libName, const oaScalarName &cellName, const oaScalarName &viewName)
void destroy (const oaScalarName &libName, const oaScalarName &cellName, const oaScalarName &viewName)
oaUInt4 getRevNumber ()
oaCollection< oaWafer, oaWafer > getOpenWafers ()

Public Types

enum  { dtIndex = oacWaferWaferDataType }

Detailed Description

The oaWafer class implements a wafer database which is a specific view of a cell. This class is the main object for storing the description of a wafer and the reticles frames, and images to associate with the wafer.

All oaWafers are implemented as a file in an oaView. They are all associated with a triplet of library, cell, and view names, and this set of names is used to identify them.

The oaWafer class can be observed by deriving from oaObserver<oaWafer>.


Member Function Documentation

oaUInt8 oaWafer::calcVMSize   const
 

This function calculates and returns the amount of virtual memory this wafer is currently using.

void oaWafer::close  
 

This function decrements the reference count of this wafer by one. If the count goes to zero, the wafer is purged from memory. If the wafer has never been saved, the last close that purges the wafer will also remove the database file, view directory, and cell directory if that cell was empty.

void oaWafer::destroy const oaScalarName &    libName,
const oaScalarName &    cellName,
const oaScalarName &    viewName
[static]
 

This function attempts to remove the wafer from disk. An exception is thrown if the wafer is currently opened or if the wafer cannot be found on disk.

Parameters:
libName The name of an existing library
cellName The name of an existing cell
viewName The name of an existing view

void oaWafer::enableUndo oaBoolean    value = true
 

This function enables or disables undo functionality for this wafer. If enabled, all changes made to this wafer are logged so that undo() can restore the wafer to earlier states. If disabled, all undo information is discarded and changes are not logged.

Parameters:
value Specifies whether to enable or disable undo

oaBoolean oaWafer::exists const oaScalarName &    libName,
const oaScalarName &    cellName,
const oaScalarName &    viewName
[static]
 

This function returns a boolean indicating whether a wafer is currently open with the specified library, cell, and view names, or whether the wafer is found on disk. If the wafer is found on disk, it database file must have a non-zero size in order to be recognized.

Parameters:
libName The name of an existing library
cellName The name of a cell
viewName The name of a view

oaWafer * oaWafer::find const oaScalarName &    libName,
const oaScalarName &    cellName,
const oaScalarName &    viewName
[static]
 

This function attempts to find a wafer with the specified library, cell, and view names. If the specified view is open, it is returned, otherwise NULL is returned.

Parameters:
libName The name of an existing library
cellName The name of a cell
viewName The name of a view

void oaWafer::getCellName const oaNameSpace &    ns,
oaString &    cellStr
const
 

This function returns the name of the cell associated with this wafer in the nameSpace specified.

Parameters:
ns The nameSpace used to get the cell name string
cellStr The name string of the cell is returned in cellStr

void oaWafer::getCellName oaScalarName &    cellName const
 

This function returns the name of the cell associated with this wafer in the form of an oaScalarName.

Parameters:
cellName The name of the cell is returned in cellName

oaTime oaWafer::getCreateTime   const
 

This function returns the time at which this wafer database was created.

oaUInt4 oaWafer::getDBUPerWU   const
 

This function returns the number of database units per waferUnit currently set for this wafer.

void oaWafer::getFeatures oaUInt4 &    dataModelRev,
oaFeatureArray &    features
 

This function returns the data model revision number for the database, as well as an array of the features currently in the database. The application can iterate through the array to get the ID for each feature present. Each feature ID corresponds to an oaFeatureIDEnum value.

Parameters:
dataModelRev returned data model revision
features returned feature array

oaCollection< oaFrame, oaWafer > oaWafer::getFrames   const
 

This function returns the collection of frames in this wafer.

oaCollection< oaImage, oaWafer > oaWafer::getImages   const
 

This function returns the collection of images in this wafer.

oaTime oaWafer::getLastSavedTime   const
 

This function returns the time at which this wafer was last saved.

void oaWafer::getLibName const oaNameSpace &    ns,
oaString &    libStr
const
 

This function returns the name of the library associated with this wafer in the nameSpace specified.

Parameters:
ns The nameSpace used to get the library name string
libStr The name string of the library is returned in libStr

void oaWafer::getLibName oaScalarName &    libName const
 

This function returns the name of the library associated with this wafer in the form of an oaScalarName.

Parameters:
libName The name of the library is returned in libName

oaChar oaWafer::getMode   const
 

This function returns the mode in which this wafer is currently opened.

oaCollection< oaWafer, oaWafer > oaWafer::getOpenWafers   [static]
 

This function returns a collection of open wafers.

oaTime oaWafer::getReadInTime   const
 

This function returns the time at which this wafer was read in from disk.

oaUInt4 oaWafer::getRefCount   const
 

This function returns the number of times this wafer is opened without being closed. This includes both internal and external opens.

oaCollection< oaReticleRef, oaWafer > oaWafer::getReticleRefs   const
 

This function returns a collection of reticle references in this wafer.

oaCollection< oaReticle, oaWafer > oaWafer::getReticles   const
 

This function returns a collection of reticles in this wafer.

oaUInt4 oaWafer::getRevNumber   [static]
 

This function returns the revision number of the internal format for the wafer database.

oaTimeStamp oaWafer::getTimeStamp oaAppObjectDef *    def const
 

This function returns the timeStamp value for the specified application object.

Parameters:
def The application object to check

oaTimeStamp oaWafer::getTimeStamp oaWaferDataType    type const
 

This function returns the timeStamp value for the specified wafer datatype.

Parameters:
type The wafer datatype to check

void oaWafer::getViewName const oaNameSpace &    ns,
oaString &    viewStr
const
 

This function returns the name of the view associated with this wafer in the nameSpace specified.

Parameters:
ns The nameSpace used to get the view name string
viewStr The name string of the view is returned in viewStr

void oaWafer::getViewName oaScalarName &    viewName const
 

This function returns the name of the view associated with this wafer in the form of an oaScalarName.

Parameters:
viewName The name of the view is returned in viewName

oaWaferDesc * oaWafer::getWaferDesc   const
 

This function returns a pointer to the wafer description associated with this wafer. NULL is returned if no wafer description has been created yet.

oaWaferUnitsType oaWafer::getWaferUnits   const
 

This function returns the wafer-unit information for this wafer.

oaBoolean oaWafer::isModified   const
 

This function returns a boolean indicating whether or not this wafer has been modified but not saved.

oaBoolean oaWafer::isUndoEnabled   const
 

This function returns a boolean indicating whether undo is enabled for this wafer.

oaWafer * oaWafer::open const oaScalarName &    libName,
const oaScalarName &    cellName,
const oaScalarName &    viewName,
oaChar    mode = 'r'
[static]
 

This function attempts to open the wafer with the specified library, cell, and view names with the specified access mode. If successful, the wafer is returned. The reference count of the wafer is incremented once for each successful open call, so it is important each call to open() is matched by a call to close().

Parameters:
libName The name of an existing library
cellName The name of a cell
viewName The name of a view
mode The mode in which to open the wafer
Exceptions:
oacWaferLibNotFound 
oacDataNotCompatibleOnOpen The design contains new features that are not understood by this version of OpenAccess and cannot be opened
oacDataNotCompatibleOnOpenInAppendMode The design contains new features that are not understood by this version of OpenAccess and cannot be opened in append mode

void oaWafer::purge  
 

This function closes and removes this wafer from memory, regardless of its reference count.

void oaWafer::redo  
 

This function redoes the changes that were most recently undone. This call has an affect only if undo is enabled, undo() is called for this wafer, and there are no changes since the last undo() was performed.

void oaWafer::reopen oaChar    mode
 

This function attempts to reopen this wafer using the specified access mode. The contents of the wafer may be reset or even truncated depending upon the new access mode. The open mode of this wafer is changed to mode.

Note: The refCount of the wafer is not affected.

Parameters:
mode The mode to reopen the wafer in
Exceptions:
oacInvalidAccessMode 
oacWaferCannotChangeScratchMode 
oacWaferBeingPurged 
oacDataNotCompatibleOnOpenInAppendMode The design contains new features that are not understood by this version of OpenAccess and cannot be opened in append mode
oacDataNotCompatibleOnOpenInEditableMode The design contains new features that are not understood by this version of OpenAccess and cannot be opened in 'a'ppend or 'A'ppend mode
oacCannotDowngradeDatabase The database was opened in ‘A’ mode and cannot be reopened in 'a' mode

void oaWafer::revert  
 

This function reloads the contents of this wafer from disk. If the wafer is opened in write mode, it will simply be truncated. Note that the wafer's access mode is not affected.

void oaWafer::save  
 

This function saves this wafer to disk. The wafer remains open and all of its in-memory data remains valid including its undo data.

Exceptions:
oacDataNotCompatibleOnSave Design contains incompatible data and cannot be saved

void oaWafer::saveAs const oaScalarName &    libName,
const oaScalarName &    cellName,
const oaScalarName &    viewName
 

This function saves this wafer to disk using the specified library, cell, and view names. The wafer remains open and all of its in-memory data remains valid including its undo data.

Parameters:
libName The name of an existing library
cellName The name of a cell
viewName The name of a view
Exceptions:
oacWaferLibNotFound 
oacDataNotCompatibleOnSave Design contains incompatible data and cannot be saved

oaBoolean oaWafer::setCp  
 

This function sets an undo checkpoint for this wafer. Each call to undo() restores the contents of the wafer to its state when undo is enabled or when a call to setCp() is made.

void oaWafer::setDBUPerWU oaUInt4    value
 

This function changes the database units per wafer units for this wafer.

Parameters:
value Specifies the number of database units corresponds to one wafer unit.

void oaWafer::setWaferUnits oaWaferUnitsType    value
 

This function changes the wafer units used for this wafer.

Parameters:
value The wafer-unit value to set

void oaWafer::undo  
 

This function undoes all changes made to this wafer since the last undo checkpoint was set.

Note that only changes to managed objects in the oaWafer are undone. Utility objects that contain pointers to a managed object are not affected.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
dtIndex 


The documentation for this class was generated from the following files:

Return to top of page