GetSPFFHeaderItem

...

Syntax

//   Visual Studio for Windows
public:
__int64 __declspec(dllexport) __stdcall GetSPFFHeaderItem(
            __int64 model,
            __int64 itemIndex,
            __int64 itemSubIndex,
            __int64 valueType,
            char    ** value
        );

//   Linux, OS-X and non-Visual Studio Windows solutions
public:
int64_t GetSPFFHeaderItem(
            int64_t model,
            int64_t itemIndex,
            int64_t itemSubIndex,
            int64_t valueType,
            char    ** value
        );    

Property model

Size: 64 bit / 8 byte (value)
Handle of the model containing the IFC file, this handle is needed in many other calls and given when the model is created.

Property itemIndex

Size: 64 bit / 8 byte (value)
Integer value equal or larger then 0 giving the header element index where this value is placed.

Property itemSubIndex

Size: 64 bit / 8 byte (value)
Integer value equal or larger then 0 giving the header sub element index where this value is placed.

Property valueType

Size: 64 bit / 8 byte (value)
Type of the value, for example sdaiSTRING, sdaiINSTANCE, sdaiREAL, ...

Property value

Size: 64 bit / 8 byte (reference)
Placeholder for the information, formatting depending on defined valueType.

Examples

Here you can find code snippits that show how the API call GetSPFFHeaderItem can be used.

void    GetHeaderDescription(__int64 model)
{
    wchar_t * text = 0;
    __int64 i = 0;
    if  (!GetSPFFHeaderItem(model, 0, i, sdaiUNICODE, (char **) &text)) {
        while  (!GetSPFFHeaderItem(model, 0, i++, sdaiUNICODE, (char **) &text)) {
            text = 0;
        }
    }
}

void    GetImplementationLevel(__int64 model)
{
    wchar_t * text = 0;
    GetSPFFHeaderItem(model, 1, 0, sdaiUNICODE, (char **) &text);
}

void    GetName(__int64 model)
{
    wchar_t * text = 0;
    GetSPFFHeaderItem(model, 2, 0, sdaiUNICODE, (char **) &text);
}

void    GetTimeStamp(__int64 model)
{
    wchar_t * text = 0;
    GetSPFFHeaderItem(model, 3, 0, sdaiUNICODE, (char **) &text);
}

void    GetAuthor(__int64 model)
{
    wchar_t * text = 0;
    __int64 i = 0;
    if  (!GetSPFFHeaderItem(model, 4, i, sdaiUNICODE, (char **) &text)) {
        while  (!GetSPFFHeaderItem(model, 4, i++, sdaiUNICODE, (char **) &text)) {
            text = 0;
        }
    }
}

void    GetOrganization(__int64 model)
{
    wchar_t * text = 0;
    __int64 i = 0;
    if  (!GetSPFFHeaderItem(model, 5, i, sdaiUNICODE, (char **) &text)) {
        while  (!GetSPFFHeaderItem(model, 5, i++, sdaiUNICODE, (char **) &text)) {
            text = 0;
        }
    }
}

void    GetPreprocessorVersion(__int64 model)
{
    wchar_t * text = 0;
    GetSPFFHeaderItem(model, 6, 0, sdaiUNICODE, (char **) &text);
}

void    GetOriginatingSystem(__int64 model)
{
    wchar_t * text = 0;
    GetSPFFHeaderItem(model, 7, 0, sdaiUNICODE, (char **) &text);
}

void    GetAuthorization(__int64 model)
{
    wchar_t * text = 0;
    GetSPFFHeaderItem(model, 8, 0, sdaiUNICODE, (char **) &text);
}

void    GetFileSchema(__int64 model)
{
    wchar_t * text = 0;
    __int64 i = 0;
    if  (!GetSPFFHeaderItem(model, 9, i, sdaiUNICODE, (char **) &text)) {
        while  (!GetSPFFHeaderItem(model, 9, i++, sdaiUNICODE, (char **) &text)) {
            text = 0;
        }
    }
}