CFx SDK Documentation  2023 SP0
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
AECSmartReference Struct Reference

#include <AECSmartReference.h>

Public Types

enum  Type { eSimple = 0 , eBlock = 1 , eBlockReference = 2 , eXRef = 3 }
 

Public Member Functions

 AECSmartReference ()
 
bool isNull () const
 
bool isValid (bool bSkipNotLoadedXREFs=false, const OdRxClass *pTargetClass=0) const
 
OdDbObjectId getTargetId () const
 
OdDbObjectId getPathId () const
 
OdResult getTransform (OdGeMatrix3d &mTransform) const
 
bool operator== (const AECSmartReference &rRef) const
 
bool operator!= (const AECSmartReference &rRef) const
 

Static Public Member Functions

static const AECSmartReference createSimple (const OdDbObjectId &idObj)
 
static const AECSmartReference createWithPath (const OdDbObjectId &idObj, const OdDbObjectId &idPath)
 
static const AECSmartReference createPathNode (OdDbDatabase *pPathDB, const OdDbObjectId &idBlockReference)
 

Public Attributes

Type eType
 
OdDbObjectId idRef1
 
OdDbObjectId idRef2
 
OdUInt8 cUnk1
 
OdDbHandle hObject
 

Static Public Attributes

static AECBASE_API_STATIC AECSmartReference kNull
 

Detailed Description

AEC Smart reference.

Remarks
Specifies the location of referenced object. May store reference to simple object, object from block table record, object from block reference or object from xref.

<group TA_API_Auxiliary_Classes>

Definition at line 38 of file AECSmartReference.h.

Member Enumeration Documentation

◆ Type

The type of smart reference.

Remarks
Description eSimple Simple reference. Stores Object ID of referenced entity. eBlock Reference to entity within Block Table Record. Stores Object ID of Block Table Record, handle of referenced entity specified as string and unknown character in case of XRef block. eBlockReference Reference to entity within Block Reference. Stores Object ID of referenced entity and Object ID of Block Reference Path object. eXRef Reference to entity within XRef. Stores Object ID of XRef Block Table Record, Object ID of Block Reference Path object and handle of referenced entity specified as string.
Enumerator
eSimple 
eBlock 
eBlockReference 
eXRef 

Definition at line 59 of file AECSmartReference.h.

Constructor & Destructor Documentation

◆ AECSmartReference()

AECSmartReference::AECSmartReference ( )
inline

Default constructor.

Definition at line 71 of file AECSmartReference.h.

Member Function Documentation

◆ createPathNode()

static const AECSmartReference AECSmartReference::createPathNode ( OdDbDatabase pPathDB,
const OdDbObjectId idBlockReference 
)
static

Creates eSimple or eBlock reference for AECDbBlockRefPath (idBlockReference should be id of OdDbBlockReference )

◆ createSimple()

static const AECSmartReference AECSmartReference::createSimple ( const OdDbObjectId idObj)
static

Creates a simple reference (idObj should be from the database where the reference will be used )

◆ createWithPath()

static const AECSmartReference AECSmartReference::createWithPath ( const OdDbObjectId idObj,
const OdDbObjectId idPath 
)
static

Creates an eBlockReference or eXRef reference with a path (idPath should be from the database where the reference will be used (not an XREF one!), idObj can be in the same database (eBlockReference) or in XREF ) Returns null reference, if the the path and the object do not match

◆ getPathId()

OdDbObjectId AECSmartReference::getPathId ( ) const

Returns AECDbBlockRefPath object id, if the path is present

◆ getTargetId()

OdDbObjectId AECSmartReference::getTargetId ( ) const

Returns object ID of referenced object. Returns null id, if target id can`t be obtained (e.g. XREF was not loaded )

◆ getTransform()

OdResult AECSmartReference::getTransform ( OdGeMatrix3d mTransform) const

Returns product of blockTransform()s of all block references in this path.

◆ isNull()

bool AECSmartReference::isNull ( ) const

Returns whether this reference is null regardless of type.

◆ isValid()

bool AECSmartReference::isValid ( bool  bSkipNotLoadedXREFs = false,
const OdRxClass pTargetClass = 0 
) const

Returns true, if this reference points to a valid object and all intermediate references are valid.

◆ operator!=()

bool AECSmartReference::operator!= ( const AECSmartReference rRef) const

◆ operator==()

bool AECSmartReference::operator== ( const AECSmartReference rRef) const

Member Data Documentation

◆ cUnk1

OdUInt8 AECSmartReference::cUnk1

Definition at line 146 of file AECSmartReference.h.

◆ eType

Type AECSmartReference::eType

Definition at line 136 of file AECSmartReference.h.

◆ hObject

OdDbHandle AECSmartReference::hObject

Definition at line 149 of file AECSmartReference.h.

◆ idRef1

OdDbObjectId AECSmartReference::idRef1

Definition at line 139 of file AECSmartReference.h.

◆ idRef2

OdDbObjectId AECSmartReference::idRef2

Definition at line 142 of file AECSmartReference.h.

◆ kNull

AECBASE_API_STATIC AECSmartReference AECSmartReference::kNull
static

Definition at line 152 of file AECSmartReference.h.


The documentation for this struct was generated from the following file: