Note The product name for SDK releases 2007 and earlier was Autodesk Map 3D ObjectARX.
The following features are new or changed in the 2007 release.
New Areas of Functionality
There are no new areas of functionality in either ObjectARX or Managed ObjectARX.
Deleted Areas of Functionality
FDO Enabler API has been removed from both ObjectARX and Managed ObjectARX.
Unicode Support
Unicode characters are now acceptable in all string arguments. See the AutoCAD documentation for more information.
Microsoft Visual C++ Version 8.0 Required
Autodesk Map 3D ObjectARX requires Microsoft Visual C++ version 8.0.
Object Class and Feature Class
Where the ObjectARX documentation uses the terms feature class, keep in mind that the UI documentation has replaced this term with object class. The reason for the change is to restrict feature terminology to the FDO context (which incidentally is not addressed by the ObjectARX API), so that we can make a clear distinction between the following two kinds of map components:
- Geospatial components, which is stored in FDO feature sources, and are referred to as features.
- Drawing components (DWG-based data), which is stored in Autodesk Map drawings, and are referred to as objects.
We are not changing the terminology in the API because some API components have feature in their names, and changing names of API components is too disruptive.
New Components Not Intended for Public Use
Some components in the following section, "Changes to Existing Functionality," are not intended for public use.
Important Note Be aware of these components. Avoid using them in your applications.
Avoid components that are altogether new. But it is safe to use components where all that has changed is their name (or the name of a parameter or an enumerator element), and their functionality is the same as before. With enumerations, it is also safe to use any enumerator elements that have been added to them.
Changes to Existing Functionality
Changes are summarized in the following table.
Header Files and Classes | Changes | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
acmapmbmapbook.h |
Public bitmask enum AcMapMbMapBook::EModificationType has new enumerators: kMapBookTileNameChanged = 8 kMapBookTileAdjacencyModified = 16 | ||||||||||||||||||||
acmapmbmapsheet-
acmapmbtile-
acmapmbtile-
acmapmbtile-
acmapmbtile-
acmapmbtilename-
acmapmbtilename-
acmapmbtilename-
acmapmbtilename- |
Each of these AcMapMbXX classes has two new virtual functions: virtual Acad::ErrorStatus xmlInFields( AcMapMbXmlFiler* pFiler); virtual Acad::ErrorStatus xmlOutFields( AcMapMbXmlFiler* pFiler) const; | ||||||||||||||||||||
acmapmbtilename- |
Class AcMapMbTileNameGeneratorIndexer has two new virtual functions: virtual Acad::ErrorStatus StreamIn( AcMapMbXmlFiler* pFiler); virtual Acad::ErrorStatus StreamOut( AcMapMbXmlFiler* pFiler) const; | ||||||||||||||||||||
adeads.h
mapads.h
topoads.h |
All functions defined in the xxads.h header files are now declared as extern "C" for C++ compilation. Note that these functions are deprecated in favor of newer class-based APIs. | ||||||||||||||||||||
dmdefaultelement.h |
New file. | ||||||||||||||||||||
dmdisplayelement.h |
Class AcMapDMStyleReferenceIterator has been renamed AcMapDMAllStyleReferencesIterator. Class AcMapDMElement has two new functions: DisplayName and RemoveEntityFromAcquisition. Function GetStyleReferenceIterator has been replaced by GetAllStyleReferencesIterator. Functions AddStyle, RemoveStyle, and MoveStyle, which used the old iterator name, have been changed accordingly. The following functions have been added: virtual Acad::ErrorStatus Render( Renderer &renderer;); virtual void OnMapCSChanged( const ACHAR *oldCS, const ACHAR *newCS); Acad::ErrorStatus ExcludeEntitiesFromStylization( const AcDbObjectIdArray& ids); Acad::ErrorStatus RemoveEntitiesFromStylizationExclusion( const AcDbObjectIdArray& ids); | ||||||||||||||||||||
dmdisplayitem.h |
Class AcMapDMItemIterator has been renamed AcMapDMAllItemsIterator. Class AcMapDMItemIterator was subclassed from AcMapDMAllDrawOrderItemsIterator, but its replacement, AcMapDMAllItemsIterator, is not. Member function Rewind has been added. Member function GetObject has been removed. Enumeration AcMapDMItem::ELegendDetailLevel no longer includes the enumerator kLegendCollapsed. | ||||||||||||||||||||
dmdisplaymanagement.h |
Class AcMapDMDisplayManagement has three new functions: Acad::ErrorStatus GetGWS( IGWS** pGWS, AcDbDatabase* pDb); Acad::ErrorStatus GetVectorElementIdForFeatureLayer( AcDbObjectId& elementId, AcDbDatabase* pDb, const TCHAR* layerSourceName); Acad::ErrorStatus GetEntityIdForFeatureOnLayer( AcDbObjectId& entId, AcDbDatabase* pDb, const TCHAR* layerSourceName, int featureId); | ||||||||||||||||||||
dmdisplaystyle.h |
Class AcMapDMStyle has a new enumeration: enum CoExistenceFlags { kNotApplicable = 0, kAllStyles, kSingleton, kLikeKind }; And four new functions: virtual const ACHAR* DisplayName() const; virtual Acad::ErrorStatus Refresh( void*& pCookie, AcDbObjectId entityId, Adesk::UInt32 flag = 0); virtual Acad::ErrorStatus Refresh( void*& pCookie, const ACHAR* pTopoName, long lTopoElemId, Adesk::UInt32 flag = 0); virtual Acad::ErrorStatus deepClone( AcDbObject* pOwnerObject, AcDbObject*& pClonedObject, AcDbIdMapping& idMap, Adesk::Boolean isPrimary = true) const; | ||||||||||||||||||||
dmgroup.h |
To accommodate changing the name of AcMapDMItemIterator to AcMapDMAllItemsIterator, member functions of class AcMapDMGroup have been changed accordingly. | ||||||||||||||||||||
dmmap.h |
Class AcMapDMMap has changed: Function GetDrawOrderIterator has been removed. AcMapDMDrawOrderIterator has been replaced with AcMapDMAllDrawOrderItemsIterator. The following functions have been renamed:
Function SetCurrentScale has an additional parameter: regen. The following functions are new: static bool IsInfintyThreshold( double dScale); static double InfinityThreshold(); Acad::ErrorStatus SetExaggeration( double dValue); double GetExaggeration() const; Acad::ErrorStatus Set3dGridPercent( int iValue); int Get3dGridPercent() const; Acad::ErrorStatus SetExtent( double dMinX, double dMinY, double dMaxX, double dMaxY); Acad::ErrorStatus RemoveExtent(); Acad::ErrorStatus GetExtent( double& dMinX, double& dMinY, double& dMaxX, double& dMaxY) const; Acad::ErrorStatus GetSun( double& dAzimuth, double& dAltitude) const; Acad::ErrorStatus SetSun( double dAzimuth, double dAltitude); | ||||||||||||||||||||
dmseannotationstyle.h |
Class AcMapDMSEAnnotationStyle has a new function: virtual AcMapDMStyle::CoExistenceFlags CoExistenceType() const; | ||||||||||||||||||||
dmthematicstyle.h |
Class AcMapDMThematicBuildRangesErrorCode has a new function: virtual AcMapDMStyle::CoExistenceFlags CoExistenceType() const; | ||||||||||||||||||||
dmthematictable.h |
TBD. | ||||||||||||||||||||
dmtopoqueryelement.h |
Class AcMapDMTopoQueryElement has two new functions: virtual Acad::ErrorStatus AddStyle( AcDbObjectId& styleRefId, AcMapDMStyle* pStyle, AcMapDMAllStyleReferencesIterator& Position); virtual Acad::ErrorStatus AddStyle( AcDbObjectId& styleRefId, const AcDbObjectId& styleId, AcMapDMAllStyleReferencesIterator& Position); | ||||||||||||||||||||
mapreactors.h |
Class AcMapProjectReactor has three new functions: virtual bool CoordinateSystemIsToBeChanged( AcMapProject *pproject, const ACHAR *oldCS, const ACHAR *newCS); virtual void CoordinateSystemChanged( AcMapProject *pproject, const ACHAR *oldCS, const ACHAR *newCS); virtual void CoordinateSystemChangeVetoed( AcMapProject *pproject, const ACHAR *oldCS, const ACHAR *newCS); |