SetSPFFHeaderItem

This call can be used to write a specific header item, the source code example is larger to show and explain how this call can be used.

Syntax

//
//   Strong typing definition
//
int_t           SetSPFFHeaderItem(
                        SdaiModel               model,
                        int_t                   itemIndex,
                        int_t                   itemSubIndex,
                        SdaiPrimitiveType       valueType,
                        const void              * value
                    );

static  inline  int_t   SetSPFFHeaderItem(
                                SdaiModel               model,
                                int_t                   itemIndex,
                                int_t                   itemSubIndex,
                                SdaiPrimitiveType       valueType,
                                const char              * value
                            )
{
    return  SetSPFFHeaderItem(
                    model,
                    itemIndex,
                    itemSubIndex,
                    valueType,
                    (const void*) value
                );
}

static  inline  int_t   SetSPFFHeaderItem(
                                SdaiModel               model,
                                int_t                   itemIndex,
                                int_t                   itemSubIndex,
                                SdaiPrimitiveType       valueType,
                                char                    * value
                            )
{
    return  SetSPFFHeaderItem(
                    model,
                    itemIndex,
                    itemSubIndex,
                    valueType,
                    (const void*) value
                );
}

static  inline  int_t   SetSPFFHeaderItem(
                                SdaiModel               model,
                                int_t                   itemIndex,
                                int_t                   itemSubIndex,
                                SdaiPrimitiveType       valueType,
                                const wchar_t           * value
                            )
{
    return  SetSPFFHeaderItem(
                    model,
                    itemIndex,
                    itemSubIndex,
                    valueType,
                    (const void*) value
                );
}

static  inline  int_t   SetSPFFHeaderItem(
                                SdaiModel               model,
                                int_t                   itemIndex,
                                int_t                   itemSubIndex,
                                SdaiPrimitiveType       valueType,
                                wchar_t                 * value
                            )
{
    return  SetSPFFHeaderItem(
                    model,
                    itemIndex,
                    itemSubIndex,
                    valueType,
                    (const void*) value
                );
}


//
//   Weak typing definition
//
int_t   __declspec(dllexport) __stdcall SetSPFFHeaderItem(
                                                int_t                   model,
                                                int_t                   itemIndex,
                                                int_t                   itemSubIndex,
                                                int_t                   valueType,
                                                const void              * value
                                            );

static  inline  int_t   SetSPFFHeaderItem(
                                int_t                   model,
                                int_t                   itemIndex,
                                int_t                   itemSubIndex,
                                int_t                   valueType,
                                const char              * value
                            )
{
    return  SetSPFFHeaderItem(
                    model,
                    itemIndex,
                    itemSubIndex,
                    valueType,
                    (const void*) value
                );
}

static  inline  int_t   SetSPFFHeaderItem(
                                int_t                   model,
                                int_t                   itemIndex,
                                int_t                   itemSubIndex,
                                int_t                   valueType,
                                char                    * value
                            )
{
    return  SetSPFFHeaderItem(
                    model,
                    itemIndex,
                    itemSubIndex,
                    valueType,
                    (const void*) value
                );
}

static  inline  int_t   SetSPFFHeaderItem(
                                int_t                   model,
                                int_t                   itemIndex,
                                int_t                   itemSubIndex,
                                int_t                   valueType,
                                const wchar_t           * value
                            )
{
    return  SetSPFFHeaderItem(
                    model,
                    itemIndex,
                    itemSubIndex,
                    valueType,
                    (const void*) value
                );
}

static  inline  int_t   SetSPFFHeaderItem(
                                int_t                   model,
                                int_t                   itemIndex,
                                int_t                   itemSubIndex,
                                int_t                   valueType,
                                wchar_t                 * value
                            )
{
    return  SetSPFFHeaderItem(
                    model,
                    itemIndex,
                    itemSubIndex,
                    valueType,
                    (const void*) value
                );
}
    

Property model

Size: 32 bit / 4 byte (value)
The handle to the model. The model handle is static during its existance. Several models can be opened simultaniously within one session. Different models are always independent, threads are allowed to be running on different models simultaniously.

Property itemIndex

Size: 32 bit / 4 byte (value)
...

Property itemSubIndex

Size: 32 bit / 4 byte (value)
...

Property valueType

Size: 32 bit / 4 byte (value)
...

Property value

Size: 32 bit / 4 byte (reference)
...

Example (based on pure API calls)

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

#include    "./include/ifcengine.h"
wchar_t * ifcFileName = 0, * timeStamp = 0;

...
...

//  set Description
SetSPFFHeaderItem(model, 0, 0, sdaiUNICODE, (char*) L"ViewDefinition [CoordinationView]");
SetSPFFHeaderItem(model, 0, 1, sdaiSTRING, 0);
//  set Implementation Level
SetSPFFHeaderItem(model, 1, 0, sdaiSTRING, "2;1");
//  set Name
SetSPFFHeaderItem(model, 2, 0, sdaiUNICODE, (char*) ifcFileName);
//  set Time Stamp
SetSPFFHeaderItem(model, 3, 0, sdaiUNICODE, (char*) timeStamp);
//  set Author
SetSPFFHeaderItem(model, 4, 0, sdaiUNICODE, L"Architect");  //  It is allowed to mix sdaiUNICODE and sdaiSTRING
SetSPFFHeaderItem(model, 4, 1, sdaiSTRING, 0);              //  as long as each call is consitent in itself.
//  set Organization
SetSPFFHeaderItem(model, 5, 0, sdaiSTRING, "Building Designer Office");
//  set Preprocessor Version
SetSPFFHeaderItem(model, 6, 0, sdaiSTRING, "IFC Engine DLL");
//  set Originating System
SetSPFFHeaderItem(model, 7, 0, sdaiSTRING, "Documentation Example");
//  set Authorization
SetSPFFHeaderItem(model, 8, 0, sdaiSTRING, "The authorising person");
//  set File Schema
SetSPFFHeaderItem(model, 9, 0, sdaiSTRING, "IFC4");
SetSPFFHeaderItem(model, 9, 1, sdaiSTRING, 0);