Inheritance diagram for oaFigGroup:
Public Methods | |
void | getName (oaSimpleName &name) const |
void | getName (const oaNameSpace &ns, oaString &name) const |
void | getTransform (oaTransform &xform) const |
void | getOrigin (oaPoint &origin) const |
oaOrient | getOrient () const |
oaFigGroupStatus | getFigGroupStatus () const |
oaBoolean | hasDefaultConstraintGroup () const |
oaConstraintGroup * | getDefaultConstraintGroup () const |
oaBoolean | isOrdered () const |
void | setName (const oaSimpleName &name) |
void | setTransform (const oaTransform &xform) |
void | setOrigin (const oaPoint &origin) |
void | setOrient (oaOrient orient) |
void | setFigGroupStatus (oaFigGroupStatus status) |
void | setOrdered (oaBoolean ordered=true) |
void | destroyFigs (oaBoolean recurse=true) |
oaCollection< oaFigGroupMem, oaFigGroup > | getMembers () const |
Static Public Methods | |
oaFigGroup * | create (const oaBlock *block, const oaSimpleName &name, oaBoolean ordered=false) |
oaFigGroup * | create (const oaBlock *block, oaBoolean ordered=false) |
oaFigGroup * | find (const oaBlock *block, const oaSimpleName &name) |
Public Types | |
enum | { dtIndex = oacFigGroupDataType } |
When a figure belongs to a FigGroup, it does not affect the caller’s ability to access, move, and change the figure as an individual object. It simply adds the ability to manipulate an entire set of figures together; functions including oaFig::move and oaFig::copy can be used for this purpose.
When a FigGroup is created its transform is set to an origin of (0,0) and an orientation of oacR0. When oaFig::move or oaFig::copy is called on a FigGroup, the transform specified is applied to each oaFig in the oaFigGroup and to the existing transform attribute of the FigGroup. See Using Transforms in the Programmers Guide for more information about applying transforms.
The bounding box of a FigGroup is the smallest rectangle that contains the bounding boxes of all of its constituent figures. FigGroups have an origin and an orientation much like instances. The use of these attributes is the responsibility of the application. For example, an application can use the origin of a FigGroup to determine what point to rotate the group around if a user requests a rotation. Modifying a FigGroups’s transform with setTransform(), setOrigin(), or setOrient() has no affect on the members of the FigGroup. When there are multiple copies of a FigGroup, these transform attributes are used to keep track of the geometric relationships between the copies. However, OpenAccess does not directly track which FigGroups are copies of each other, or if a FigGroup was modified since it was copied.
There are similarities between FigGroups and oaGroups that have leaders, but these are independent constructs. If a leader of an oaGroup is placed in a FigGroup, all of the followers that are oaFigs are also added to the FigGroup. When a group leader is removed from a FigGroup, its followers are also automatically removed. When a leader is moved, its followers are moved, and this is true whether the move is due to moving the leader itself, or due to moving a FigGroup that the leader belongs to. Similarly, when a leader is destroyed, all its followers are destroyed whether the action started with a destruction of the leader or started by calling destroyFigs() on a FigGroup that the leader belongs to. It should also be noted that not all of a leader's followers must be in the leader's FigGroup at all times. Although the followers are added as a leader is added to a FigGroup, it is possible to remove a follower from a FigGroup. Also note that if the followers of a leader are changed after that leader has already been added to a FigGroup, copying or moving that FigGroup will not include those changes.
A FigGroup can optionally be ordered; this option can be set by the ordered argument to create(), or by calling setOrdered() after creation. If a FigGroup is ordered, an iteration is guaranteed to produce its members in its defined order. The order starts as the order that members are added, and the order is manipulated using the moveAfter() and moveToFirst() functions on oaFigGroupMem. Note that while copy in most cases preserves ordering, in some cases it might fail to preserve ordering if the FigGroup contains both the leader and one or more followers from the same oaGroup.
A region query can be performed to produce the FigGroups that overlap a certain area by using the oaFigGroupQuery class.
|
This function creates a new oaFigGroup in the given block.
|
|
This function creates a new oaFigGroup in the given block with the specified name.
|
|
This function destroys the constituent oaFigs of this oaFigGroup but does not destroy the FigGroup itself. |
|
This function finds the oaFigGroup in the given block with the given name.
|
|
This function retrieves the default constraint group for this FigGroup. It returns NULL if this FigGroup does not have a default constraint group. The default constraint group contains constraints that apply as a default to the figs that are contained within this figGroup, including any figs within nested figGroups. |
|
This function returns the status of the oaFigGroup, which represents one of three states: normal, fixed, or locked. The status is not enforced by OpenAccess but is used by applications to indicate whether the contents of the FigGroup can be modified by both manual or automatic tools (normal), only by manual tools, (fixed), or cannot be modified by any tools (locked). |
|
This function returns a collection containing the oaFigGroupMem members of an oaFigGroup. Each oaFigGroupMem references one oaFig that belongs to the oaFigGroup. |
|
This function retrieves the name of this oaFigGroup in the specified nameSpace.
|
|
This function retrieves the name of this oaFigGroup.
|
|
This function returns the orientation of this FigGroup. |
|
This function gets the origin of this FigGroup.
|
|
This function gets the transform of this oaFigGroup. The transform contains both the origin and the orientation for the FigGroup.
|
|
This function returns a boolean value representing whether this FigGroup has a default constraint group. |
|
This function returns true if FigGroup is ordered; otherwise, false is returned. |
|
This function sets the status of the oaFigGroup to one of three values, which are normal, fixed, or locked. The status is not enforced by OpenAccess but is used by applications to indicate whether the contents of the FigGroup can be modified by both manual or automatic tools (normal), only by manual tools, (fixed), or cannot be modified by any tools (locked).
|
|
This function sets this oaFigGroup's name.
|
|
This function sets whether the FigGroup is ordered.
|
|
This function sets the orientation of this FigGroup, but has no effect on the oaFigs that belong to this group.
|
|
This function sets the origin of this oaFigGroup, but has no effect on the oaFigs that belong to this group. The origin is defined relative to the origin of the oaBlock in which this oaFigGroup is defined.
|
|
This function sets the transform of this oaFigGroup, but has no effect on the oaFigs that belong to this group.
|
|
|
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.