engiGetAggrElement

This call is deprecated, please use call sdaiGetAggrByIndex instead.

Syntax

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

[DllImport(IFCEngineDLL, EntryPoint = "engiGetAggrElement")]
public static extern Int32 engiGetAggrElement(int_t aggregate, int_t index, int_t valueType, out bool value);

[DllImport(IFCEngineDLL, EntryPoint = "engiGetAggrElement")]
public static extern Int32 engiGetAggrElement(int_t aggregate, int_t index, int_t valueType, out int_t value);

[DllImport(IFCEngineDLL, EntryPoint = "engiGetAggrElement")]
public static extern Int32 engiGetAggrElement(int_t aggregate, int_t index, int_t valueType, out double value);

[DllImport(IFCEngineDLL, EntryPoint = "engiGetAggrElement")]
public static extern Int32 engiGetAggrElement(int_t aggregate, int_t index, int_t valueType, out IntPtr value);

public static Int32 engiGetAggrElement(int_t aggregate, int_t index, int_t valueType, out string value)
        {
            value = null;
            valueType = getStringType(valueType);
            if (valueType != 0)
            {
                IntPtr ptr = IntPtr.Zero;
                var ret = engiGetAggrElement(aggregate, index, valueType, out ptr);
                if (ret != 0 && ptr != IntPtr.Zero)
                {
                    value = marshalPtrToString(valueType, ptr);
                    return ret;
                }
            }
            return 0;
        }    

Property aggregate

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

Property index

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

Property valueType

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

Property value

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