Share

AcRx Classes

Classes

Class Description
AcRxAlternateLocalizedNameAttribute This class provides the resource identifier and the resource hint that is used to load an alternative resource string. This attribute is used to get the localized name of an AcRxMember object. There are instances where a member name needs to be displayed using an alternate resource string. This attribute would be useful in those circumstances.
AcRxArxApp This class is used for registering/unregistering ARX and ADS commands, as well as creating the Dynamic Property Manager singleton instance. It is derived from AcRxDbxApp and defines an application class which can replace the standard acrxEntryPoint() and manage new ARX classes, RTTI registration, and ARX/ADS commands automatically for your application.This class is used by the ObjectARX Wizards, but can be used by anyone who wants to objectify the ARX entrypoint similar to the implementation of theOMF AecAppArx or AecAppDbx classes. Code regarding the registering of ARX classes and commands can also be simplified.New ARX commands are registered by... more
AcRxAttribute Abstract base class for all attribute classes
AcRxAttributeCollection This class is a collection of AcRxAttribute objects
AcRxBoxedValueOnStack This class provides the functionality to create fast stack resident instances.
AcRxCategory Provides hierarchical information about property categorization to UI clients. AcRxCategory instances can be referenced by name from AcRxCategoryAttributes attached to AcRxProperty instances. The position of an AcRxCategory instance in the global AcRxCategory tree can be used by clients to determine the location of the property relative to other properties when realized in a UI (such as a property browser). AcRxAttributes can be attached to application-supplied AcRxCategory instances to provide additional information about the AcRxCategory, including descriptions, localized category names, relative weighting, etc.
AcRxClassAcRxClass objects (actually objects of an internal class derived from AcRxClass, since AcRxClass is an abstract base class) are used as the nodes in the ObjectARX runtime class hierarchical tree. Each instance of an AcRxClass represents a C++ class derived from AcRxObject (or AcRxObject itself). The run-time information about such C++ classes and their hierarchical relationships is available through the AcRxClass objects that make up the runtime tree.For each class, AcRxClass maintains the following information about the C++ class it represents:
  • Set of immediately derived classes
  • Parent class
  • Class ASCII name
  • Class DXF name, if it is derived... more
AcRxCollectionProperty This class encapsulates collection of properties.
AcRxCOMAttribute This class can be used to provide the COM name for a member incase it is different from the member name. This will be useful in areas of computation where a member is used instead of an equivalent COM property.
AcRxCopyOnWriteObject This is class AcRxCopyOnWriteObject.
AcRxDbxApp This class is used for DBX Modules. It defines an application class which can replace the standard acrxEntryPoint() and manage new ARX classes, RTTI registration, and ARX/ADS commands automatically for your application.This class is used by the ObjectARX Wizards, but can be used by anyone who wants to objectify the ARX entrypoint similar to the implementation of theOMF AecAppArx or AecAppDbx classes. Code regarding the registering of ARX classes and commands can also be simplified.The new ARX entryPointer is implemented by using the IMPLEMENT_ARX_ENTRYPOINT(classname) macro in your application source code. This macro will create an instance of your... more
AcRxDescriptionAttribute This class can be used to describe a member object. The description can come from a resource file.
AcRxDictionary This class maintains a collection of pointers to an AcRxObject, with keyed search via either a char* text string, or a 32-bit ID. Neither the key nor the stored pointer value may be NULL.An instance of this class can only be created via the class AcRxKernel, which provides three overloaded versions of the function newAcRxDictionary().The AcRxDictionary may be instantiated so that it sorts based on the key or does not sort the entries at all. In either case the dictionary may be set up to delete the contained AcRxObject pointers when they are removed,... more
AcRxDictionaryIterator This class provides the ability to iterate through an AcRxDictionary.Successive calls to the next() function causes the iterator to visit each object in the dictionary once and only once. An iterator has two states: done or not done. If an iterator is not done, that means it is currently positioned at an object within the dictionary being iterated over, and a call to object() returns a pointer to that object. If the iterator is done, that means that it is not positioned at an object within the dictionary because either all the objects have been iterated over or... more
AcRxDictionaryProperty This class encapsulates collection of property values. The value can be queried using a key associated with the value.
AcRxDisplayAsAttribute This class can be used to inform that a member can be substituted by a different one. The common use case is to set this attribute on properties that return object id. A more meaningful property like the name can be displayed, instead of displaying the object id.
AcRxDLinkerReactor This class defines the notification events that come from the ObjectARX dynamic linker, which are notification for loading and unloading of ObjectARX applications. Recipients of these calls should also check the registered services, classes, and objects to find out what happened to logical events of the system, rather than being bound to the file name that the linker has loaded or unloaded.To use the class, simply define a class derived from the AcRxDLinkerReactor class and supply methods for the public member functions rxAppLoaded() and rxAppUnloaded(). For example:
AcRxDynamicLinker There is one and only one AcRxDynamicLinker class object and it is global to the ObjectARX system. Therefore, this is a non-instantiable class for ObjectARX applications.An object of this class provides the following services:
  • Gets the address of a service registered by name.
  • Loads and initializes a list of ObjectARX-type applications.
  • Loads and initializes a single ObjectARX-type module.
  • Registers a named service with the service registry.
  • Unloads an ObjectARX-type module.
  • Adds a notification reactor to the dynamic linker reactor chain.
  • Deletes a notification reactor from the dynamic linker reactor chain.
AcRxDynPropManager This class represents the AcRx dynamic property manager.
AcRxEnumTag This class is used to store the enumeration constant value.
AcRxEvent The class allows applications to manage notification reactors for events that are common to ObjectARX and ObjectDBX.
AcRxEventReactorAcRxEventReactor is the base class for events that are common to ObjectARX and ObjectDBX, while AcEditorReactor contains events exclusive to AutoCAD and thus ObjectARX.
AcRxFacetProvider Abstract base class for all facet providers. The class provides a mechanism to supply additional members for a given class in a given context. The derived class can register as a facet provider using AcRxMemberQueryEngine engine. The engine will call getFacets with the object whose members are being queried, along with the context. The class can add the facet objects that supply the additional members to the facet collection that is passed.
AcRxFilePathAttribute This class can be used to indicate that the value of a member is a file path.
AcRxFlagsAttribute This class can be used to indicate that the value of a member is a bitwise flag.
AcRxGenerateDynamicPropertiesAttribute This class can be used to indicate that the properties of an AcRxClass or an individual AcRxProperty should have IDynamicProperty2 wrappers generated for it whenever it is examined by COM property inspectors.
AcRxIndexedProperty This class encapsulates collection of property values. The value can be queried using a specific index.
AcRxIterator This class is an abstract base class for several iterators in the AcRx library. Currently the only exported class that is derived from this class is AcRxDictionaryIterator.Iterators are used to traverse a data structure. Successive calls to the next() function causes the iterator to visit each object in the data structure once and only once.An iterator has two states: done and not done. If an iterator is not done, that means it is currently positioned at an object within the data structure being iterated over, and a call to AcRxIterator::object() returns a pointer to that object. If... more
AcRxKernel There is only one object of this class present in the ObjectARX system. Its purpose is to provide the ability to instantiate AcRxDictionary objects.
AcRxLocalizedNameAttribute This class provides the resource identifier and the resource hint that is used to load the resource string. This attribute is used to get the localized name of an AcRxMember object.
AcRxMember Base class for all members. Encapsulates common member properties and behavior.
AcRxMemberCollection This class is a collection of AcRxMember objects.
AcRxMemberIterator This class provides the ability to iterate through all AcRxMember objects of an object
AcRxMemberQueryContext This class provides other contextual data about the query to influence the set of members. The derived classes can implement their own context and return the members relevant to the context.
AcRxMemberQueryEngine The AcRxMemberQueryEngine object is used to query the members and register the facet providers. This class is a singleton with a static method that returns a global instance of the object.
AcRxMethod This class defines a method.
AcRxObject This is a base class for classes whose objects require runtime-identifiable classes, and runtime analysis of the ancestry of a class. Implemented to support registration of new classes from ObjectARX applications at runtime.
AcRxOverrule AcRxOverrule is an abstract base class for implementing overrules. Overrule providers register and unregister their overrules through addOverrule and removeOverrule. Overrules can be globally activated or deactivated by setIsOverruling. It can also be queried by isOverruleing.Overrules are internally managed by pairs of "targetClass" and "overrule". The targetClass is the class that the overrule applies to. Each class can have multiple overrules registered, and their order is implied by the order they are registered.Each derived overrule class should implement some or all of the default behavior, which delegates to the targeted class.
AcRxProperty This is class encapsulates the property of an object. The class can be used to get and set a property value of an object.
AcRxPropertyBase This is the common base class for all the property class.
AcRxProtocolReactor This is the base class for all protocol reactors. All protocol reactor classes must derive from this class.
AcRxProtocolReactorIterator This class is an iterator for enumerating protocol reactors in an AcRxProtocolReactorList.Instances of this class are returned by AcRxProtocolReactorList::newIterator().
AcRxProtocolReactorList This class is a simple collection of AcRxProtocolReactor objects.Instances of this class contain a single kind of AcRxProtocolReactor. Collections of this class are associated with an AcRxClass through the protocol reactor framework and the AcRxProtocolReactorManager class.
AcRxProtocolReactorListIterator This class is an iterator for enumerating the protocol reactor lists in an AcRxProtocolReactorManager.Instances of this class are returned by AcRxProtocolReactorManager::newIterator().
AcRxProtocolReactorManager Container class for a collection of AcRxProtocolReactorList objects.Instances of AcRxProtocolReactorManager are associated with an AcRxClass at runtime using the protocol extension framework. Instances of this class allow multiple kinds of protocol reactors to be associated with a single AcRxClass.
AcRxProtocolReactorManagerFactory A factory class for obtaining the single AcRxProtocolReactorManager associated with an AcRxClass.
AcRxRefersToAttribute This class can be used to provide additional information to describe the member. The common usecase is to set the path that refers to the container. For example the layer property can have the refers attribute set to /LayerTableId/Items, which indicates that it is an item in the LayerTable.
AcRxResourceLoader This is a protocol extension base class that is used to get the string from a resource.
AcRxService Objects of the AcRxService class are used internally as part of the registered service system in ObjectARX. Although it is possible for an ObjectARX program to instantiate objects of this class, it is not often done, since the global function acrxRegisterService() encapsulates the creation of an AcRxService object and its addition to the global service dictionary.From an ObjectARX program's perspective, the AcRxService objects provide a platform independent way to access symbols in other ObjectARX programs (although this functionality is accessible via the global function acrxGetServiceSymbolAddr() rather than through any AcRxService class methods) and a mechanism to register dependencies on... more
AcRxUiPlacementAttribute This class can be used to categorize a member object.
AcRxUnitTypeAttribute This class can be used to indicate that the value of a member is an AcValue unit type.
AcRxValue This is a variant type, an instance of this class can hold any AcRxValueType.
AcRxValueIterator This class provides the ability to iterate through all the property values.
AcRxValueType AcRxValueType is the runtime type descriptor for a type. The AcRxValue object can be queried for its type. The members of AcRxValueType can be used to get information of the type.
AcRxVariable
AcRxVariableChangedEventArgs Provides more information in conjunction with AcRxVariableReactor::changed event.
AcRxVariableChangingEventArgs Provides more information in conjunction with AcRxVariableReactor::changing event.
AcRxVariableReactor Callback interface implemented by observers that are interested in events related to variables.
AcRxVariablesDictionary A singleton instance of this type represents all variables in the system.

Templates

Template Description
AcRxBoxedValue This is the base class for all boxed types. This class can be used to wrap the AcRxValue in an AcRxObject. There are instances where we need to treat the non-AcRxObject derived object as an AcRxObject. An example is querying the properties of AcGePoint3d which is a non-AcRxObject derived type. In this case we can box the AcGePoint3d value, pass the AcRxBoxedValue object that is obtained to the property engine to get its properties.
AcRxEnumType AcRxEnumType is a template class for creating runtime type descriptor for enumerations
AcRxNonBlittableType AcRxNonBlittableType is a template class for creating runtime type descriptor for Non-Blittable types. It provides a default implementation of IAcRxNonBlittableType to create a Non-Blittable value type.
AcRxValueTypePOD AcRxValueTypePOD is the base class for creating runtime type descriptor classes for enumerations and reference types

Was this information helpful?