Creates a new feature class definition and adds it to the feature-definition file attached to the current drawing.
AcMapObjClass::EErrCode CreateFeatureClassDefinition( AcMapObjClassDefinition*& pFeatureClassDef, const ACHAR* pszName, const ACHAR* pszDerivedFromClassName, const AcArray<AcRxClass*>& aSupportedEntityTypes, const AcMapStringArray& aBlockNames, bool bBaseClassOnly );
Parameters |
Description |
pFeatureClassDef |
Output AcMapObjClassDefinitionfeature class. The caller must free this object. |
pszName |
Input feature class name. |
pszDerivedFromClassName |
Input superclass name, or NULL if no base class is needed. |
aSupportedEntityTypes |
Input array of AcRxClass objects defining the supported entity types. This list typically matches the value that AcRxObject::desc() returns. |
aBlockNames |
Input array of supported block names. |
bBaseClassOnly |
Input true to create a strict base class; otherwise, false. You can derive other classes from a strict base class but not classify objects with it. |
Returns AcMapObjClass::EErrCode eOk if successful. Returns AcMapObjClass::EErrCode eClassNameInvalid if the class name is invalid. Returns AcMapObjClass::EErrCode eClassNameTooLong if the class name is too long. Returns AcMapObjClass::EErrCode eNoSchemaFileAttached if no feature-definition file is attached to the current drawing. Returns AcMapObjClass::EErrCode eClassAlreadyExists if a class with same name already exists. Returns AcMapObjClass::EErrCode eBaseClassNotFound if the base class is not in the feature-definition file. Returns AcMapObjClass::EErrCode eUnsupportedEntityType if the feature class does not support the specified entity type. Returns AcMapObjClass::EErrCode eNoUserPrivilegeToAlterSchema if the current user lacks the privileges to change the feature-definition file. Returns AcMapObjClass::EErrCode eFailed if the process failed for some other reason.
A feature class definition can support any block reference, or specific block reference names. For any block reference, the corresponding entity type AcDbBlockReference::desc() is input in aSupportedEntityTypes. For specific block reference names, the names are input in aBlockNames.