sdaiIsKindOf

...

Syntax

public const string IFCEngineDLL = @"IFCEngine.dll";

[DllImport(IFCEngineDLL, EntryPoint = "sdaiIsKindOf")]
public static extern Int64 sdaiIsKindOf(Int64 instance, Int64 entity);    

Property instance

Size: 64 bit / 8 byte (value)
Handle of an instance within an IFC file, for example #31313 = IFCWALLSTANDARDCASE(...)

Property entity

Size: 64 bit / 8 byte (value)
Handle of an entity (schema item/class), for example IFCWALLSTANDARDCASE as defined in IFC4.exp.

Examples

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

Int64 localIsKindOf(Int64 instance, Int64 entity)
{
    //
    //  This function is an alternative to the API call sdaiIsKindOf()
    //  based on sdaiGetInstanceType() and engiGetEntityParent().
    //
    //  Use of sdaiCreateAggr() can lead to performance improvement compared to sdaiCreateAggrBN().
    //
    Int64 instanceEntity = IfcEngine.x64.sdaiGetInstanceType(instance);

    while  (entity !=  0  &&  entity != instanceEntity)
    {
        entity = IfcEngine.x64.engiGetEntityParent(entity);
    }

    if (entity == instanceEntity)
    {
        return 1;
    }

    return 0;
}