You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

373 lines
16 KiB

/*==============================================================================
Copyright (c) 2003-2005 UGS Corporation
Unpublished - All Rights Reserved
==============================================================================*/
/* */
#ifndef PSCONNECTION_H
#define PSCONNECTION_H
#include <unidefs.h>
#include <mechatronics/libmechatronics_exports.h>
/**
@defgroup PSCONN PS Connection
@ingroup MECHATRONICS
This module defines the required ITK interface for Connection related operations.
@{
*/
/**
@name Defines for PSConnection Types
@{
*/
#define PSCONNECTION_CLASS_NAME "PSConnection"
#define PSCONNECTION_TYPE_NAME PSCONNECTION_CLASS_NAME
#define PSConnectionClassName PSCONNECTION_CLASS_NAME
#define PSCONNECTION_REV_CLASS_NAME "PSConnectionRevision"
#define PSCONNECTION_REV_TYPE_NAME PSCONNECTION_REV_CLASS_NAME
#define PSConnectionRevClassName PSCONNECTION_REV_CLASS_NAME
/** @} */
/**
@name For OOTB Types of PSConnection
@{
*/
#define CONNECTION_TYPE_NAME "Connection"
#define CONNECTION_REV_TYPE_NAME "ConnectionRevision"
#define NETWORK_TYPE_NAME "Network"
#define NETWORK_REV_TYPE_NAME "NetworkRevision"
/** @} */
/**
@name Defines for Mechatronics Relations
@{
*/
#define CONNECTED_TO "TC_Connected_To"
#define IMPLEMENTED_BY "TC_Implemented_By"
#define REALIZED_BY "TC_Realized_By"
#define PSCONNECTION_DEFAULT_TYPE "PSConnection_default_type"
/** @} */
#ifdef __cplusplus
extern "C"{
#endif
/**
This function creates new PSConnection and its default Connection Revision, with the given inputs.
<b>Restrictions:</b>
Type (input value specified for conn_type argument),
must be pre-defined by the site using the install_types utility.
The conn_name will be used as the revision's name.
@note This itk will not save the object. AOM_save_with_extensions needs to be called separately to save the object.
*/
extern MECHATRONICS_API int PSCONN_create_connection (
const char* conn_id, /**< (I) Connection identification number. No two Connections can have the
same identification string. A null is allowed. If null,
the system will automatically generate an Item ID. */
const char* conn_name, /**< (I) A common name or short description of the Connection Item */
const char* conn_type, /**< (I) Connection Type for the Connection Object to be created */
const char* conn_rev_id, /**< (I) Identification string (revision ID) of the Connection Revision being created.
A null is allowed. If null, the system will automatically generate a revision ID */
tag_t* new_conn, /**< (O) Tag for identifying the Connection Object in the current program */
tag_t* new_conn_rev /**< (O) Tag for identifying the Connection Revision in the current program */
);
/**
This function connects a set of GDELines to a PSConnection Line.
*/
extern MECHATRONICS_API int PSCONN_add_to_connection (
tag_t conn_line_tag, /**< (I) Tag of the connection bomline to which the GDELines will be connected */
int gde_line_count, /**< (I) Number of GDELines to be connected */
tag_t* gde_line_tags /**< (I) Tags of the GDELine<6E>s to be connected */
);
extern MECHATRONICS_API int PSCONN_add_itemlines_to_connection (
tag_t conn_line_tag, /**< (I) */
tag_t context_line_tag, /**< (I) */
int line_count, /**< (I) */
tag_t* line_tags /**< (I) */
);
/**
This function creates a PSConnection and its default Connection Revision and connects the given set of GDELines to this newly created
PSConnection Line.The new PSConnectionLine is created as a child line to the common parent of the GDELines.
<b>Restrictions:</b>
Type (input value specified for connType argument),
must be pre-defined by the site using the install_types utility or using BMIDE.
The conn_name which is the part attribute list will be used as the revision's name.This is represented by attribute
object_name.
*/
extern MECHATRONICS_API int PSCONN_connect2 (
const char *connType, /**<I> Connection type*/
int numAttrs, /**<I> Number of input attributes */
char **attrNames, /**<I> Names of input attributes */
char **attrValues, /**<I> Values for the input attributes */
char *connRev, /**<I> Id for the revision */
int gde_line_count, /**<I> Number of GDELines to be connected */
tag_t *gde_line_tags, /**<I> Tags of the GDELine<6E>s to be connected */
tag_t *conn_line_tag /**<O> Tag of the connection bomline to which the GDELines will be connected*/
);
/**
This function creates a PSConnection and its default Connection Revision and
connects the given set of GDELines to this newly created PSConnection Line.
The new PSConnectionLine is created as a child line to the common parent of the GDELines.
<b>Restrictions:</b>
Type (input value specified for conn_type argument),
must be pre-defined by the site using the install_types utility.
The conn_name will be used as the revision's name.
*/
extern MECHATRONICS_API int PSCONN_connect (
char* connId, /**< (I) */
char* connName, /**< (I) */
char* connType, /**< (I) */
char* connRev, /**< (I) */
int gde_line_count, /**< (I) Number of GDELines to be connected */
tag_t* gde_line_tags, /**< (I) Tags of the GDELine<6E>s to be connected */
tag_t* conn_line_tag /**< (O) Tag of the connection bomline to which the GDELines will be connected */
);
/**
This function removes the connection(s) between the given list of GDE Lines and the PSConnection Line
*/
extern MECHATRONICS_API int PSCONN_remove_from_connection (
tag_t conn_line_tag, /**< (I) Tag of the connection bomline to which the GDELines will be connected */
int gde_line_count, /**< (I) Number of GDELines to be connected */
tag_t* gde_line_tags /**< (I) Tags of the GDELine<6E>s to be connected */
);
/**
This function removes all the connections for this PSConnection Line
*/
extern MECHATRONICS_API int PSCONN_disconnect (
tag_t con_rev_tag /**< (I) Tag of the connection bomline for which the connections have to be removed */
);
/**
This function lists all the gde lines connected to the input PSConnection Line.
<b>Restrictions:</b>
Only configured GDE Lines will be returned
Only BOMLines connected in the context of the said BOM Window will be returned.
*/
extern MECHATRONICS_API int PSCONN_list_connected_gdes (
tag_t conn_line_tag, /**< (I) Tag of the connection bomline to which the GDELines will be connected */
int* gde_line_count, /**< (O) Number of GDELines connected */
tag_t** gde_line_tags /**< (OF) gde_line_count Tags of the connected GDELine<6E>s */
);
/**
This function lists all the bomlines realized by the input BOMLine.
<b>Restrictions:</b>
Only configured GDE Lines will be returned
Only Realized BOMLines from the BOM Window in context will be returned.
*/
extern MECHATRONICS_API int PSCONN_list_realizedBy (
tag_t bom_line_tag, /**< (I) Tag of the bomline for which the realized by are to be listed */
int* gde_line_count, /**< (O) Number of BOMLines realized by the above bomline */
tag_t** gde_line_tags /**< (OF) gde_line_count Tags of the realized BOM Lines */
);
/**
This function lists all the bomlines realizing the input BOMLine.
<b>Restrictions:</b>
Only configured Lines will be returned
Only Realizing BOMLines from the BOM Window in context will be returned.
*/
extern MECHATRONICS_API int PSCONN_list_realizingLines (
tag_t bom_line_tag, /**< (I) Tag of the bomline for which the realizing lines are to be listed */
int* line_count, /**< (O) Number of BOMLines realized by the above bomline */
tag_t** line_tags /**< (OF) line_count Tags of the realizing BOM Lines */
);
/**
This function lists all the bomlines implemented by the input BOMLine.
<b>Restrictions:</b>
Only configured GDE Lines will be returned
Only Implemented BOMLines from the BOM Window in context will be returned.
*/
extern MECHATRONICS_API int PSCONN_list_implementedBy (
tag_t bom_line_tag, /**< (I) Tag of the bomline for which the implementations are to be listed */
int* gde_line_count, /**< (O) Number of BOMLines implemented by the above bomline */
tag_t** gde_line_tags /**< (OF) gde_line_count Tags of the realized BOM Lines */
);
/**
This function lists all the bomlines implementing the input BOMLine.
<b>Restrictions:</b>
Only configured Lines will be returned
Only Implementing BOMLines from the BOM Window in context will be returned.
*/
extern MECHATRONICS_API int PSCONN_list_implementingLines (
tag_t bom_line_tag, /**< (I) Tag of the bomline for which the implementing lines are to be listed */
int* line_count, /**< (O) Number of BOMLines implementing the above bomline */
tag_t** line_tags /**< (OF) line_count Tags of the implementing BOM Lines */
);
/**
This function set the implementedBy relation between the given input BOMLines.
*/
extern MECHATRONICS_API int PSCONN_set_implementedBy (
tag_t primary_line_tag, /**< (I) Tag of BomLine to be used as primary object in implementedBy relation */
tag_t secondary_line_tag /**< (I) Tag of BomLine to be used as secondary object in implementedBy relation */
);
/**
This function set the realizedBy relation between the given input BOMLines.
*/
extern MECHATRONICS_API int PSCONN_set_realizedBy (
tag_t primary_line_tag, /**< (I) Tag of BomLine to be used as primary object in realizedBy relation */
tag_t secondary_line_tag /**< (I) Tag of BomLine to be used as secondary object in realizedBy relation */
);
/**
This function can be used to set the TC_Device_To_Connector
relation between the given input BOM lines.
*/
extern MECHATRONICS_API int PSCONN_set_device_connector_relation (
tag_t primary_line_tag, /**< (I) Tag of BOM line to be used as primary object in TC_Device_To_Connector relation*/
tag_t secondary_line_tag, /**< (I) Tag of BOM line to be used as secondary object in the TC_Device_To_Connector relation*/
tag_t* relation_tag /**< (O) Tag of the relation */
);
/**
This function can be used to unset the TC_Device_To_Connector
relation between the given input BOM lines.
*/
extern MECHATRONICS_API int PSCONN_unset_device_connector_relation (
tag_t primary_line_tag, /**< (I) Tag of primary BOM line */
tag_t secondary_line_tag /**< (I) Tag of secondary BOM line */
);
/**
This function can be used to get the number of connectors associated
to a given device line
*/
extern MECHATRONICS_API int PSCONN_ask_device_connectors (
tag_t device_line_tag, /**< (I) Tag of primary BOM line*/
int* count, /**< (O) Number of BOM lines related by the above bomline by the TC_Device_To_Connector relation*/
tag_t** connectorTags /**< (OF) count Tags of the connectors */
);
/**
This function can be used to get the number of devices assocaited
to a given connector line
*/
extern MECHATRONICS_API int PSCONN_ask_connector_devices (
tag_t con_line_tag, /**< (I) Tag of primary BOM line */
int* count, /**< (O) No. of Devices */
tag_t** connectorTags /**< (OF) count Tags of the Devices */
);
/**
This function will remove the implementedBy relation between the given input primary_line and secondary lines.
If no secondary lines are given then all the secondary lines with implementedBy relation will be removed.
<b>Restrictions:</b>
Only implementedBy BOMLines from the BOM Window in context will be removed.
*/
extern MECHATRONICS_API int PSCONN_remove_implementedBy (
tag_t primary_line_tag, /**< (I) Tag of primary BOMLine */
int secondary_line_count, /**< (I) Count of the secondary BOMLines. This can be 0 */
tag_t* secondary_line_tags /**< (I) Array of secondary bomline tags */
);
/**
This function will remove the realizedBy relation between the given input primary_line and secondary lines.
If no secondary lines are given then all the secondary lines with realizedBy relation will be removed.
<b>Restrictions:</b>
Only realizedBy BOMLines from the BOM Window in context will be removed.
*/
extern MECHATRONICS_API int PSCONN_remove_realizedBy (
tag_t primary_line_tag, /**< (I) Tag of primary BOMLine */
int secondary_line_count, /**< (I) Count of the secondary BOMLines. This can be 0 */
tag_t* secondary_line_tags /**< (I) Array of secondary bomline tags */
);
/**
This function creates new PSConnection and its default Connection Revision, with the given inputs.
<b>Restrictions:</b>
Type (input value specified for conn_type argument),
must be pre-defined by the site using the install_types utility.
The conn_name will be used as the revision's name.
@note This itk will not save the object. AOM_save_with_extensions needs to be called separately to save the object.
*/
extern MECHATRONICS_API int PSCONN_create_connection_with_forms (
const char* conn_id, /**< (I) Connection identification number. No two Connections can have the
same identification string. A null is allowed. If null,
the system will automatically generate an Item ID. */
const char* conn_name, /**< (I) A common name or short description of the Connection Item */
const char* conn_type, /**< (I) Connection Type for the Connection Object to be created */
const char* conn_rev_id, /**< (I) Identification string (revision ID) of the Connection Revision being created.
A null is allowed. If null, the system will automatically generate a revision ID */
tag_t connMasterForm, /**< (I) Tag for connection master from */
tag_t connRevMasterForm, /**< (I) Tag for connection revision master form */
tag_t* new_conn, /**< (O) Tag for identifying the Connection Object in the current program */
tag_t* new_conn_rev /**< (O) Tag for identifying the Connection Revision in the current program */
);
/**
Retrieves all the connection objects of the given BOMLine or GDELine object.
@returns
<ul>
<li>#ITK_ok on success
<li>#MECH_invalid_bomline if an invalid BOMLine or GDELine is passed in the parameter @p line_tag.
</ul>
*/
extern MECHATRONICS_API int PSCONN_get_connections_from_line (
tag_t line_tag, /**< (I) Tag of the BOMLine or GDELine object */
int* connection_line_count, /**< (O) Size of the Connection BOMLine object tag array */
tag_t** connection_line_tags /**< (OF) connection_line_count Array of the Connection BOMLine object tags */
);
/** @} */
#ifdef __cplusplus
}
#endif
#include <mechatronics/libmechatronics_undef.h>
#endif