oaCluster Class Reference

Inheritance diagram for oaCluster:

oaBlockObject oaDesignObject oaObject


Public Methods

void destroy ()
oaCluster * getParent () const
void getName (oaString &name) const
oaClusterType getClusterType () const
void setName (const oaString &name)
void setClusterType (oaClusterType type)
oaBoolean isParent () const
void addToCluster (oaCluster *cluster)
void removeFromCluster ()
oaCollection< oaCluster, oaCluster > getClusters () const
oaCollection< oaInst, oaCluster > getInsts () const
oaCollection< oaClusterBoundary, oaCluster > getBoundaries () const
oaCollection< oaBlockage, oaCluster > getBlockagesOwnedBy () const

Static Public Methods

oaCluster * create (oaBlock *block, const oaString &name, oaClusterType type)
oaCluster * find (const oaBlock *block, const oaString &name)

Public Types

enum  { dtIndex = oacClusterDataType }

Detailed Description

The oaCluster class implements a cluster object that is used to associate a group of instances and boundaries within a block. Clusters can be hierarchical.

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


Member Function Documentation

void oaCluster::addToCluster oaCluster *    cluster
 

This function adds this cluster as a child cluster to the specified cluster.

Exceptions:
oacClusterAlreadyHasParent 
oacInvalidCluster 
oacInvalidChildCluster 
oacSameCluster 

oaCluster * oaCluster::create oaBlock *    block,
const oaString &    name,
oaClusterType    isExclusive
[static]
 

This function creates a new cluster object in the specified block with the specified attributes.

Parameters:
block The block that creates the cluster
name The name of the cluster
isExclusive The type of cluster
Returns:
A pointer to the new oaCluster
Exceptions:
oacClusterNameExists 

void oaCluster::destroy  
 

This function destroys this cluster, removing it from the database. All instances in this cluster remain intact. If there are boundaries associated with this cluster, the boundaries are destroyed.

oaCluster * oaCluster::find const oaBlock *    block,
const oaString &    name
[static]
 

This function searches the specified block for a cluster with the specified name. The cluster is returned if found. Otherwise, NULL is returned.

Parameters:
block The block to search
name The name of the cluster to find

oaCollection oaCluster::getBlockagesOwnedBy   const
 

This function returns a collection containing all of the oaBlockage objects that have this cluster as owner.

oaCollection oaCluster::getBoundaries   const
 

This function returns a collection containing all of the oaClusterBoundary objects associated with this cluster.

oaCollection oaCluster::getClusters   const
 

This function returns a collection of clusters in this cluster.

oaClusterType oaCluster::getClusterType   const
 

This function returns the clusterType of this cluster.

oaCollection oaCluster::getInsts   const
 

This function returns a collection of instances in this cluster.

void oaCluster::getName oaString &    name const
 

This function fills out name with the name of this cluster.

Parameters:
name The string in which the cluster name is returned

oaCluster * oaCluster::getParent   const
 

This function returns the parent cluster of this cluster if this cluster is a child cluster. Otherwise, NULL is returned.

oaBoolean oaCluster::isParent   const
 

This function returns a boolean value that indicates if this cluster is a parent cluster.

void oaCluster::removeFromCluster  
 

This function removes this cluster from the parent cluster. If this cluster is not a child of another cluster, this function does nothing.

void oaCluster::setClusterType oaClusterType    type
 

This function sets the cluster type to the specified value.

void oaCluster::setName const oaString &    name
 

This function sets the name of this cluster to the specified value.

Parameters:
name The new name for this cluster
Exceptions:
oacClusterNameExists 


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
dtIndex 


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

Return to top of page