Archicad 28 C++ API
|
Functions related to the creation, manipulation and management of hotlink modules. More...
Classes | |
struct | API_HotlinkUserData |
Hotlink user data. More... | |
struct | API_HotlinkNode |
Describes a hotlink node. More... | |
class | API_HotlinkCacheGenerator |
Base class for generating the updated content of a hotlink cache. More... | |
Enumerations | |
enum | API_HotlinkTypeID { APIHotlink_Unknown = 0 , APIHotlink_Module = 1 , APIHotlink_XRef = 2 } |
Enumerates the available hotlink module types. | |
enum | API_HotlinkStoryRangeID { APIHotlink_SingleStory = 0 , APIHotlink_AllStories = 1 } |
Type of the hotlink by the number of linked stories. More... | |
Functions | |
GSErrCode | ACAPI_Hotlink_GetHotlinkNode (API_HotlinkNode *hotlinkNode, bool *enableUnplaced=nullptr) |
Returns a hotlink node identified by its guid. | |
GSErrCode | ACAPI_Hotlink_GetHotlinkStoryInfo (API_HotlinkNode *hotlinkNode) |
Creates a hotlink node without updating its cache content. | |
GSErrCode | ACAPI_Hotlink_CreateHotlinkNode (API_HotlinkNode *hotlinkNode) |
Gets the story info from a hotlink source file. | |
GSErrCode | ACAPI_Hotlink_ModifyHotlinkNode (API_HotlinkNode *hotlinkNode) |
Modifies the parameters of a hotlink node. | |
GSErrCode | ACAPI_Hotlink_DeleteHotlinkNode (const API_Guid *hotlinkNodeGuid) |
Deletes the given hotlink node. | |
GSErrCode | ACAPI_Hotlink_BreakHotlinkNode (const API_Guid *hotlinkNodeGuid) |
Breaks the link of the given hotlink node. | |
GSErrCode | ACAPI_Hotlink_UpdateHotlinkCache (const API_Guid *hotlinkNodeGuid, API_HotlinkCacheGenerator *hotlinkCacheGenerator=nullptr) |
Updates the cache of the given hotlink node. | |
GSErrCode | ACAPI_Hotlink_GetHotlinkNodes (const API_HotlinkTypeID *type, GS::Array< API_Guid > *nodeRefList, bool *enableUnplaced=nullptr) |
Returns the list of hotlink nodes. | |
GSErrCode | ACAPI_Hotlink_GetHotlinkRootNodeGuid (const API_HotlinkTypeID *type, API_Guid *rootNodeGuid) |
Retrieves the Guid of the Hotlink Module type or XRef type hotlink root node. | |
GSErrCode | ACAPI_Hotlink_GetHotlinkNodeTree (const API_Guid *hotlinkNodeGuid, GS::HashTable< API_Guid, GS::Array< API_Guid > > *hotlinkNodeTree) |
Retrieves the tree structure under a given hotlink node. | |
GSErrCode | ACAPI_Hotlink_GetHotlinkInstances (const API_Guid *hotlinkNodeGuid, GS::Array< API_Guid > *elementRefList) |
Returns a list of hotlink instance elements placed from the given hotlink node. | |
GSErrCode | ACAPI_Hotlink_GetHotLinkOwner (const API_Guid *elemGuid, API_Guid *hotlinkGuid) |
Returns the identifier of the hotlink instance the element belongs to (see API_HotlinkType). | |
GSErrCode | ACAPI_Hotlink_GetHotlinkProxyElementTable (const API_Guid *hotlinkGuid, GS::HashTable< API_Guid, API_Guid > *proxyElementTable) |
Returns the mapping table of the proxy elements and the source elements of the given hotlink instance. | |
GSErrCode | ACAPI_Hotlink_GetHotlinkSourceStatus (const IO::Location *hotlinkLocation, API_HotlinkSourceStatus *hotlinkSourceStatus) |
Returns the status of the given hotlink source file. | |
GSErrCode | ACAPI_Hotlink_GetContainingHotlinkGuid (const API_Guid *elemGuid, API_Guid *hotlinkElemGuid) |
Retrieves the guid of the hotlink element which contains the given element. | |
Functions related to the creation, manipulation and management of hotlink modules.
Type of the hotlink by the number of linked stories.
GSErrCode ACAPI_Hotlink_BreakHotlinkNode | ( | const API_Guid * | hotlinkNodeGuid | ) |
Breaks the link of the given hotlink node.
hotlinkNodeGuid | [in] guid of the hotlink node to be broken |
GSErrCode ACAPI_Hotlink_CreateHotlinkNode | ( | API_HotlinkNode * | hotlinkNode | ) |
Gets the story info from a hotlink source file.
hotlinkNode | [in/out] the hotlink node which contains the location of the file |
APIHotlink_Module
A valid sourceLocation must be specified. On success the ... of the new hotlink node returns in the guid field of the hotlinkNode parameter. Ths function does not create a hotlink node and does not changes the database. GSErrCode ACAPI_Hotlink_DeleteHotlinkNode | ( | const API_Guid * | hotlinkNodeGuid | ) |
Deletes the given hotlink node.
hotlinkNodeGuid | [in] guid of the hotlink node to be deleted |
GSErrCode ACAPI_Hotlink_GetContainingHotlinkGuid | ( | const API_Guid * | elemGuid, |
API_Guid * | hotlinkElemGuid | ||
) |
Retrieves the guid of the hotlink element which contains the given element.
elemGuid | [in] The guid of the element. |
hotlinkElemGuid | [out] The guid of the hotlink which contains the given element. |
GSErrCode ACAPI_Hotlink_GetHotlinkInstances | ( | const API_Guid * | hotlinkNodeGuid, |
GS::Array< API_Guid > * | elementRefList | ||
) |
Returns a list of hotlink instance elements placed from the given hotlink node.
hotlinkNodeGuid | [in] the Guid of the hotlink node |
elementRefList | [out] Guid list of the hotlink instances |
GSErrCode ACAPI_Hotlink_GetHotlinkNode | ( | API_HotlinkNode * | hotlinkNode, |
bool * | enableUnplaced = nullptr |
||
) |
Returns a hotlink node identified by its guid.
hotlinkNode | [in/out] Hotlink node. |
enableUnplaced | [in] True if the search is performed in all hotlink nodes (including cached ones) and false if only in placed ones. |
GSErrCode ACAPI_Hotlink_GetHotlinkNodes | ( | const API_HotlinkTypeID * | type, |
GS::Array< API_Guid > * | nodeRefList, | ||
bool * | enableUnplaced = nullptr |
||
) |
Returns the list of hotlink nodes.
type | [in] optional type selector ( APIHotlink_Module or APIHotlink_XRef ), if this variable is nullptr, all nodes are collected |
nodeRefList | [out] the list of hotlink nodes found in the project |
enableUnplaced | [in] True if the search is performed in all hotlink nodes (including cached ones) and false if only in placed ones. |
GSErrCode ACAPI_Hotlink_GetHotlinkNodeTree | ( | const API_Guid * | hotlinkNodeGuid, |
GS::HashTable< API_Guid, GS::Array< API_Guid > > * | hotlinkNodeTree | ||
) |
Retrieves the tree structure under a given hotlink node.
hotlinkNodeGuid | [in] Guid of the parent node |
hotlinkNodeTree | [out] the tree structure under the given parent node |
Returns the identifier of the hotlink instance the element belongs to (see API_HotlinkType).
elemGuid | [in] The Guid of the element. |
hotlinkGuid | [out] The hotlink instance the element belongs to. APINULLGuid means the element is not part of any hotlinks. |
GSErrCode ACAPI_Hotlink_GetHotlinkProxyElementTable | ( | const API_Guid * | hotlinkGuid, |
GS::HashTable< API_Guid, API_Guid > * | proxyElementTable | ||
) |
Returns the mapping table of the proxy elements and the source elements of the given hotlink instance.
hotlinkGuid | [in] The guid of the hotlink instance. |
proxyElementTable | [out] A hashtable in which the keys are the proxy elements in the current project and the values are the source elements from the hotlinked project. |
GSErrCode ACAPI_Hotlink_GetHotlinkRootNodeGuid | ( | const API_HotlinkTypeID * | type, |
API_Guid * | rootNodeGuid | ||
) |
Retrieves the Guid of the Hotlink Module type or XRef type hotlink root node.
type | [in] hotlink type selector ( APIHotlink_Module or APIHotlink_XRef ) |
rootNodeGuid | [out] the Guid of the selected root node |
APIHotlink_Module
nor APIHotlink_XRef
GSErrCode ACAPI_Hotlink_GetHotlinkSourceStatus | ( | const IO::Location * | hotlinkLocation, |
API_HotlinkSourceStatus * | hotlinkSourceStatus | ||
) |
Returns the status of the given hotlink source file.
hotlinkLocation | [in] The location of the hotlink file. |
hotlinkSourceStatus | [out] The status (availability) of the hotlink. |
GSErrCode ACAPI_Hotlink_GetHotlinkStoryInfo | ( | API_HotlinkNode * | hotlinkNode | ) |
Creates a hotlink node without updating its cache content.
hotlinkNode | [in/out] the hotlink node to be created |
APIHotlink_Module
or APIHotlink_XRef
type A valid sourceLocation must be specified. On success the Guid of the new hotlink node returns in the guid field of the hotlinkNode parameter. Creating a hotlink node does not make the hotlinked content appear in the project. This simply creates a reference to the source module file, and prepares a cache which contains the elements and attributes as an image of the original source. In order to place a hotlink instance on the plan, you need to create an API_HotlinkType element referring to this hotlink node with the appropriate hotlinkNodeGuid identifier. Note that XRefs are handled by the DXF/DWG add-on, and the format of their userdata is not published. This function is a non-undoable data structure modifier function. See more details on this topic at Command Overview. GSErrCode ACAPI_Hotlink_ModifyHotlinkNode | ( | API_HotlinkNode * | hotlinkNode | ) |
Modifies the parameters of a hotlink node.
hotlinkNode | [in] hotlink node data to be changed |
GSErrCode ACAPI_Hotlink_UpdateHotlinkCache | ( | const API_Guid * | hotlinkNodeGuid, |
API_HotlinkCacheGenerator * | hotlinkCacheGenerator = nullptr |
||
) |
Updates the cache of the given hotlink node.
hotlinkNodeGuid | [in] guid of the hotlink node |
hotlinkCacheGenerator | [in] optional cache content generator object |