Class Hierarchy
AcRxObject AcGiDrawable AcDbObject AcDbAssocDependencyBody AcDbAssocDimDependencyBodyBase AcDbAssocDimDependencyBody
C++
class AcDbAssocDimDependencyBodyBase : public AcDbAssocDependencyBody;
File
AcDbAssocDimDependencyBodyBase.h
Description
AcDbAssocDimDependencyBodyBase ties together the following objects that define a dimensional constraint:
AcDbAssocVariable Keeps dimensional constraint name and expression. AcDbAssoc2dConstraintGroup Keeps AcExplicitConstraint. AcDbEntity (such as AcDbDimension) Graphical representation of the dimensional constraint.
AcDbAssocDimDependencyBodyBase class represents a dependency of an AcExplicitConstraint owned by an AcDbAssoc2dConstraintGroup, on an AcDbEntity that is the graphical representation of the dimensional constraint. AcDbAssocDimDependencyBodyBase is an abstract base class, there are concrete derived classes (such as AcDbAssocDimDependencyBody) that deal with concrete entity types (such as AcDbDimension) that are used as graphical representations of dimensional constraints.
The AcDbAssocDimDependencyBodyBase does all the work of managing the graphical entity, receiving notifications about entity text changes, updating the entity text and entity positioning, keeping the entity text in sync with the AcDbAssocVariable, and keeping it in sync with the corresponding AcExplicitConstraint in AcDbAssoc2dConstraintGroup.
There always is a corresponding AcDbAssocVariable that keeps the name, expression and value of the dimensional constraint and is also referenced by the AcExplicitConstraint via AcDbAssocValueDependency. The AcDbAssocDimDependencyBodyBase obtains the corresponding AcDbAssocVariable by going up to the AcDbAssoc2dConstraintGroup that owns the AcDbAssocDimDependencyBody, finds the AcExplicitConstraint that references this dependency, obtains the AcDbAssocValueDependency and obtains the object it depends on, which is the corresponding AcDbAssocVariable.
Notice that there is a corresponding AcDbImpAssocDimDependencyBodyBase that provides the actual implementation. Internal derived classes that reside in AcDb can also derive from the imp class.
Links
AcDbAssocDimDependencyBodyBase Classes, AcDbAssocDimDependencyBodyBase Methods