CFx SDK Documentation  2023 SP0
AECPropertyExtensionBase.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef __AECPROPERTYEXTENSIONBASE_H__
25 #define __AECPROPERTYEXTENSIONBASE_H__
26 
27 #include "AECBase.h"
29 #include "Common/AECVariant.h"
30 #include "Common/AECQueryInfo.h"
32 #include <DbObject.h>
33 
43 class AECSCHEDULEDATA_API AECPropertyExtensionBase : public OdRxObject
44 {
46 
47  public:
55  static void GetPropertyNames( OdRxClass* pDesc,
56  std::vector<OdString>& aNames );
57 
65  static void GetQueryInfos( OdRxClass* pDesc,
66  std::vector<AECQueryInfo>& aQueryInfos );
67 
79  const OdString& strName, AECQueryInfo& cQueryInfo );
80 
82  OdUInt32 iIndex, AECQueryInfo& cQueryInfo );
83 
96  const OdDbObjectId& idPropertySetDef, bool bCreateIfNotFound = false );
97 
104  static void RemovePropertySet( OdDbObject* pObject,
105  const OdDbObjectId& idPropertySetDef );
106 
118  static OdDbObjectId GetReferencePropertySet( const OdDbObjectId& idReference, const AECSmartReference& rRef,
119  const OdDbObjectId& idPropertySetDef, bool bCreateIfNotFound = false );
120 
128  static void RemoveReferencePropertySet( const OdDbObjectId& idReference, const AECSmartReference& rRef,
129  const OdDbObjectId& idPropertySetDef );
130 
142  const OdString& strPropertyName, const OdDbObjectId& idDataFormat = OdDbObjectId::kNull ) = 0;
143 
155  AECVariant GetProperty( OdDbObject* pObject, const OdDbObjectId& idPropertySetDef,
156  OdUInt32 iPropertyIndex, const OdDbObjectId& idDataFormat = OdDbObjectId::kNull,
157  AECVariant* pRawValue = 0 );
158 
170  AECVariant GetProperty( OdDbObject* pObject, const OdDbObjectId& idPropertySetDef,
171  const OdString& strPropertyName, const OdDbObjectId& idDataFormat = OdDbObjectId::kNull,
172  AECVariant* pRawValue = 0 );
173 
175  const OdDbObjectId& idDataFormat = OdDbObjectId::kNull, AECVariant* pRawValue = 0 );
176 
181  static AECVariant GetReferenceProperty( const OdDbObjectId& idReference, const AECSmartReference& rRef,
182  const OdDbObjectId& idPropertySetDef, OdUInt32 iPropertyIndex,
183  const OdDbObjectId& idDataFormat = OdDbObjectId::kNull,
184  AECVariant* pRawValue = 0 );
185 
190  static AECVariant GetReferenceProperty( const OdDbObjectId& idReference, const AECSmartReference& rRef,
191  const OdDbObjectId& idPropertySetDef, const OdString& strPropertyName,
192  const OdDbObjectId& idDataFormat = OdDbObjectId::kNull,
193  AECVariant* pRawValue = 0 );
194 
204  const OdDbObjectId& idReference, bool bCreateIfNotFound = false );
205 };
206 
208 
209 #endif //__AECPROPERTYEXTENSIONBASE_H__
OdSmartPtr< AECPropertyExtensionBase > AECPropertyExtensionBasePtr
unsigned int OdUInt32
#define ODRX_DECLARE_MEMBERS(ClassName)
Definition: RxObject.h:131
static void RemoveReferencePropertySet(const OdDbObjectId &idReference, const AECSmartReference &rRef, const OdDbObjectId &idPropertySetDef)
static OdDbObjectId GetPropertySetOverrideContainer(const OdDbObjectId &idReference, bool bCreateIfNotFound=false)
AECVariant GetProperty(OdDbObject *pObject, AECPropertyDefPtr pPropertyDef, const OdDbObjectId &idDataFormat=OdDbObjectId::kNull, AECVariant *pRawValue=0)
static bool GetQueryInfoByPropertyIndex(OdRxClass *pDesc, OdUInt32 iIndex, AECQueryInfo &cQueryInfo)
static OdDbObjectId GetPropertySet(OdDbObject *pObject, const OdDbObjectId &idPropertySetDef, bool bCreateIfNotFound=false)
AECVariant GetProperty(OdDbObject *pObject, const OdDbObjectId &idPropertySetDef, const OdString &strPropertyName, const OdDbObjectId &idDataFormat=OdDbObjectId::kNull, AECVariant *pRawValue=0)
static bool GetQueryInfoByPropertyName(OdRxClass *pDesc, const OdString &strName, AECQueryInfo &cQueryInfo)
AECVariant GetProperty(OdDbObject *pObject, const OdDbObjectId &idPropertySetDef, OdUInt32 iPropertyIndex, const OdDbObjectId &idDataFormat=OdDbObjectId::kNull, AECVariant *pRawValue=0)
static AECVariant GetReferenceProperty(const OdDbObjectId &idReference, const AECSmartReference &rRef, const OdDbObjectId &idPropertySetDef, OdUInt32 iPropertyIndex, const OdDbObjectId &idDataFormat=OdDbObjectId::kNull, AECVariant *pRawValue=0)
virtual AECVariant GetAutomaticProperty(OdDbObject *pObject, const OdString &strPropertyName, const OdDbObjectId &idDataFormat=OdDbObjectId::kNull)=0
static void GetPropertyNames(OdRxClass *pDesc, std::vector< OdString > &aNames)
static OdDbObjectId GetReferencePropertySet(const OdDbObjectId &idReference, const AECSmartReference &rRef, const OdDbObjectId &idPropertySetDef, bool bCreateIfNotFound=false)
static void GetQueryInfos(OdRxClass *pDesc, std::vector< AECQueryInfo > &aQueryInfos)
static AECVariant GetReferenceProperty(const OdDbObjectId &idReference, const AECSmartReference &rRef, const OdDbObjectId &idPropertySetDef, const OdString &strPropertyName, const OdDbObjectId &idDataFormat=OdDbObjectId::kNull, AECVariant *pRawValue=0)
static void RemovePropertySet(OdDbObject *pObject, const OdDbObjectId &idPropertySetDef)
static TOOLKIT_EXPORT_STATIC const OdDbObjectId kNull
Definition: DbObjectId.h:118