Inheritance diagram for oaConstraintGroup:
Public Methods | |
oaConstraintGroupDef * | getDef () const |
oaConstraintGroupOperator | getOperator () const |
void | destroy () |
oaBoolean | override () const |
void | getName (oaString &name) const |
oaObject * | getOwner () const |
oaCollection< oaConstraintGroupMem, oaConstraintGroup > | getMembers () const |
oaCollection< oaConstraint, oaConstraintGroup > | getConstraints (const oaConstraintDef *def=NULL) const |
Static Public Methods | |
oaConstraintGroup * | create (oaObject *database, const oaString &name, oaBoolean override=false) |
oaConstraintGroup * | create (oaObject *database, const oaString &name, oaBoolean override, oaConstraintGroupOperator op) |
oaConstraintGroup * | create (oaObject *database, oaConstraintGroupDef *def, const oaString &name, oaBoolean override=false, oaConstraintGroupOperator op=oacPrecedenceGroupOperator) |
oaConstraintGroup * | create (oaConstraintGroupDef *def, oaObject *object, oaBoolean override=false, oaConstraintGroupOperator op=oacPrecedenceGroupOperator) |
oaConstraintGroup * | find (const oaObject *database, const oaString &name) |
oaConstraintGroup * | find (const oaObject *database, const oaString &name, oaBoolean local) |
oaConstraintGroup * | find (const oaConstraintGroupDef *def, const oaObject *object) |
Public Types | |
enum | { dtIndex = oacBaseConstraintGroupDataType } |
A number of oaConstraintGroups are built into OpenAccess databases. Every object that can have constraints has a built-in constraint group that is returned by oaObject::getConstraintGroup. The classes oaTech, oaRoute, oaNet, oaModule, oaGroup, oaFigGroup, oaDesign, oaBoundary, and oaBlock are container classes that have an additional default constraint group that is returned by getDefaultConstraintGroup on that class. An oaTech also has a foundry constraint group that is returned by oaTech::getFoundryRules.
Applications also can explicitly create constraint groups to organize the access to their constraints and to provide a way to reuse a set of constraints. An application creates a constraint group by using the oaConstraintGroup::create function and adds objects to constraint groups by using the oaConstraintGroupMem::create function.
The members of a constraint group are ordered and are intended to be searched in a depth-first manner. You can change the order of members in a constraintGroup by using oaConstraintGroupMem::moveToFirst and oaConstraintGroupMem::moveAfter functions.
Constraint groups can be constructed in the design, technology and wafer databases. A constraint group can include members that are individual constraints, or that are themselves constraint groups. When talking about constraint groups, it is useful to think in terms of a parent constraint group, which includes individual constraints and other constraint groups as members.
An individual constraint must be in the same database as its parent constraint group.
A constraint group in a design or technology database may be added to a parent constraint group in a design database.
In addition, a constraint group in a design or technology database can have a member that is a user-defined constraint group in a referenced technology database. See Using Technology Databases in the Programmers Guide for information about referenced technology databases.
Wafer database constraint groups can only include members in their own database.
All constraint groups have a unique name within a database (or across referenced technology databases). The database validates that no other group has the same name. The database also ensures that no other group is ever assigned the same name.
The collection of constraint groups in a given database is implemented by the getConstraintGroups function in each database class. See oaDesign::getConstraintGroups, and oaTech::getConstraintGroups.
The oaConstraintGroup class can be observed by deriving from oaObserver<oaConstraintGroup>.
|
This function creates a new constraint group on the specified object. The override parameter is a boolean indicating whether the constraints in this group should override potentially tighter constraints deeper in the precedence hierarchy. The constraint group definition may be built-in or it may be user defined. Constraint groups created with this API are named automatically and can be found using the constraint group definition. Because constraint groups created with this API are scoped by the constraint group definition and database, constraint groups that are in referenced oaTechs can be overridden using the same def. Note that only one constraint group can be created for any given oaObject/oaConstraintGroupDef pair.
|
|
This function creates a new constraint group on the specified object with the specified name. The override parameter is a boolean indicating whether the constraints in this group should override potentially tighter constraints deeper in the precedence hierarchy. The constraint group definition may be built-in or it may be user defined. Because constraint groups created with this API are scoped by the constraint group definition and database, constraint groups that are in referenced oaTechs can be overridden using the same def.
|
|
This function creates a new constraint group in the specified database. The name of the constraint group is given and a boolean indicating whether the constraints in this group should override potentially tighter constraints deeper in the precedence hierarchy. Constraint groups created with this API are automatically associated with the oacUserDefinedConstraintGroupType constraint group definition and they must be uniquely named. Because of the unique name requirement, it is not possible to override constraint groups using the same name in any referenced oaTech.
|
|
This function creates a new constraint group in the specified database. The name of the constraint group is given and a boolean indicating whether the constraints in this group should override potentially tighter constraints deeper in the precedence hierarchy. Constraint groups created with this API are automatically associated with the oacUserDefinedConstraintGroupType constraint group definition and they must be uniquely named. Because of the unique name requirement, it is not possible to override constraint groups using the same name in any referenced oaTech.
|
|
This function destroys the constraint group specified. The constraints in the group are not destroyed, but all of the group's members are. If the constraint group being destroyed is a member or another constraint group, that constraint group member is destroyed as well. |
|
This static function returns the constraint group associated with the given def on the given object.
|
|
This function searches the specified database for a constraint group with the specified name. The local argument specifies whether (if true) to look only in the specified database or (if false) to look in the specified database and all of its referenced databases. If the constraint group is found, a pointer to it is returned, otherwise NULL is returned. See Using Technology Databases in the Programmers Guide for information about referenced technology databases.
|
|
This function searches the specified database for a constraint group with the specified name. If the specified database supports cross-database references, the referenced databases are searched as well and the first matching constraint group is returned. If no constraint group by that name is found, NULL is returned. To find a constraint group in the current database only, refer to the find function that accepts the local argument.
|
|
This function returns a collection of constraints in the this group whose definition matches the specified def. If no definition is specified, all simple constraints in this group are returned. Note that this function only searches this group and its subgroups. Referenced technology databases are not searched.
|
|
This function returns a pointer to the oaConstraintGroupDef that is associated with this constraint group. |
|
This function returns a collection of all of the members in this constraint group. |
|
This function returns the name of this constraint group.
|
|
This function returns the constraint group operator associated with this constraint group. |
|
For a constraint group associated with a particular owning object, this member function returns a pointer to that owning object. Specifically, constraint groups returned by the following functions will have their containing object returned by getOwner:
For constraint groups not owned by any object, getOwner returns NULL. Note that constraint groups created with oaConstraintGroup::create will have a NULL owner. |
|
This function returns a boolean indicating whether the constraints in this group should override tighter constraints deeper in the precedence hierarchy. |
|
|
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.