SdaiAggrType

 
The SdaiAggrType is used for distinguishing between the various kinds of aggregates used by EDMinterfaceTM. The C binding for SdaiAggrType is as follows:
 
typedef enum{
sdaiLIST,  
sdaiARRAY,  
sdaiSET,  
sdaiBAG,
sdaiGENAGGR,
sdaiNOAGGR
} SdaiAggrType;
 
The member elements of SdaiAggrType, in the order presented above, correspond to LIST, ARRAY, SET, BAG, generic aggregate, respectively. The sdaiNOAGGR is used to denote that the actual item is not an aggregate.
Typed Aggregate
Typed aggregate is to be used when the actual attribute domain is a SELECT and the choices in the SELECT is more than one aggregate specification, and one instantiation of this attribute (aggregate) is not uniquely interpreted unless the defined type that defines the particular instantiated aggregate is supplied together with the aggregate in the EDMdatabaseTM and on a STEP file. Similar when the element type of a parent aggregate is a SELECT and this SELECT contains more than one aggregate definition, typed aggregate must be used to uniquely define an instance of the child aggregate.
In complex SELECT graphs more than one level of typing may be required to uniquely interpret one instance of the aggregate.
The following functions are implemented for creating typed aggregates:
 
SdaiAggr edmiCreateTypedAggr(SdaiAppInstance appInstance,
SdaiAttr attribute,
SdaiSelect pSel);
 
SdaiAggr edmiCreateTypedAggrBN(SdaiAppInstance appInstance,
SdaiString attributeName,
SdaiSelect pSel);
 
SdaiAggr edmiCreateNestedTypedAggrByIterator(
SdaiIterator position,
SdaiSelect pSel);
 
SdaiAggr edmiCreateNestedTypedAggr(SdaiAggr parentAggr,
SdaiSelect pSel);
 
SdaiAggr edmiCreateNestedTypedAggrByIndex(SdaiAggr parentAggr,
SdaiInteger index,
SdaiSelect pSel);
 
 
The typed information in of a typed aggregate will be returned in all EDMinterfaceTM get operation that returns the numeric aggregateID that uniquely identifies a typed aggregate instance in the EDMdatabaseTM, provided that the primitive type sdaiSELECT is used in the actual get operation.
Â