sdaiIsKindOf

This call checks if an instance is a type of a certain given entity.

Syntax

public const string ifcenginedll = @"ifcengine.dll";

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

Property instance

Size: 64 bit / 8 byte (value)
...

Property entity

Size: 64 bit / 8 byte (value)
...

Example (based on pure API calls)

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

using RDF;      //  include at least engine.cs within your solution

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;
}