Share

AcDbHardOwnershipId

Class Hierarchy

AcDbObjectId
    AcDbHardOwnershipId

C++

class AcDbHardOwnershipId : public AcDbObjectId;

File

dbid.h

Description

This class is a specialization of AcDbObjectId. It is used to distinguish an object specified by an AcDbHardOwnershipId as being hard owned by some other object. Other properties are the same as the more generic AcDbObjectId.

Remarks

When establishing a reference to another object, consider whether the reference should protect an object from purge, or if WBLOCK needs to follow the pointer reference and copy the reference as well, and whether or not there needs to be an owner-ownee relationship.

Use an AcDbHardOwnershipId to reference another object when an object relies on the existence of another object and when the owned object cannot exist independently of its owner. An example of this is the layer table has a hardOwnership reference to the layer 0 object. By design definition, all drawings must have a layer 0, so the layer 0 table record object cannot be purged even if there are no entities on it, and the layer table is the owner. Since there may be no references to the layer 0 table record object other than ownership, but it must not be purged, the owner must be a hard owner.

Specifying an AcDbHardOwnershipId reference to another object mandates that the owned object is written out to the DWG and DXF files along with the owner object.

For more information on hard vs. soft, ownership vs. pointer, and general objectId usage, see the ObjectARX Developer's Guide.

Links

AcDbHardOwnershipId Constructor, AcDbHardOwnershipId Operators

See Also

AcDbHardPointerId, AcDbSoftOwnershipId, AcDbSoftPointerId, AcDbHandle

Was this information helpful?