engiGetAttrOptionalBN

This call can be used to check if an attribute is optional. Technically engiGetAttrOptionalBN will transform into the following call

    engiGetAttrOptional(
            sdaiGetAttrDefinition(
                    entity,
                    attributeName
                )
        );

Syntax

//
//   Strong typing definition
//
int_t           engiGetAttrOptionalBN(
                        SdaiEntity              entity,
                        const char              * attributeName
                    );

static  inline  int_t   engiGetAttrOptionalBN(
                                SdaiEntity              entity,
                                char                    * attributeName
                            )
{
    return  engiGetAttrOptionalBN(
                    entity,
                    (const char*) attributeName
                );
}


//
//   Weak typing definition
//
int_t   __declspec(dllexport) __stdcall engiGetAttrOptionalBN(
                                                int_t                   entity,
                                                const char              * attributeName
                                            );

static  inline  int_t   engiGetAttrOptionalBN(
                                int_t                   entity,
                                char                    * attributeName
                            )
{
    return  engiGetAttrOptionalBN(
                    entity,
                    (const char*) attributeName
                );
}
    

Property entity

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

Property attributeName

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