ufo enum parameters and persitiable data

Date : Tue, 04 Dec 2007 10:28:00 +1030
To : XSI(at)Softimage.COM
From : Sam Hodge <sam.hodge(at)rsp.com.au>
Subject : ufo enum parameters and persitiable data
Hi Guys

I have an UFO enum parameter as follows:

enum {
    INPUT1_,
    N_RASTER_IN_
};

enum {
    OUTPUT_,
    N_RASTER_OUT_
};

enum {
    MAIN_GROUP_,
    N_PARAM_GROUP_
};

enum {
    ROT_XYZ_,
    ROT_ZXY_,
    ROT_YZX_,
    ROT_YXZ_,
    ROT_ZYX_,
    ROT_XZY_,
    N_ROTORDER_TYPES_
};

ufoProcess ufoProcessDefine(void)
{
    ufoProcess process_instance;

    /* create pixel combination arrays */
    const int        number_combinations = 1;
    ufoPixelType    input_combinations[N_RASTER_IN_][1] =
            {
            {ufoRGB8PixelType}
            };

    ufoPixelType    output_combinations[N_RASTER_OUT_][1] =
            {
            {ufoRGB8PixelType},
            };

    /* build enum param table for enum rotation order definition */
    rotation_order_enum_table[ROT_XYZ_] = "xyz";
    rotation_order_enum_table[ROT_ZXY_] = "zxy";
    rotation_order_enum_table[ROT_YZX_] = "yzx";
    rotation_order_enum_table[ROT_YXZ_] = "yxz";
    rotation_order_enum_table[ROT_ZYX_] = "zyx";
    rotation_order_enum_table[ROT_XZY_] = "xzy";
    /*rotation order enum*/

    ufoProcessEnumParamDefine(
                process_instance,    /* definition process instance */
                ROTATION_ORDER_,        /* param index */
                MAIN_GROUP_,        /* param group */
                "RotationOrder",        /* param id */
                "Euler Rotation Order",        /* param title */
                N_ROTORDER_TYPES_, /* number of items in pulldown */
                rotation_order_enum_table);

    /*allow animation of a rotation order*/
    ufoProcessSetParamAnimAllow(
                process_instance,    /* definition process instance */
                ROTATION_ORDER_,        /* param index */
                1);
    ufoProcessSetParamDefaultValue(
                process_instance,    /* definition process instance */
                ROTATION_ORDER_,        /* param index */
                0,            /* channel index */
                ROT_ZYX_);

    return process_instance;
}


I would prefer if the enum wasn't animatable.

I have only made it animatable as a workaround because the values that I
declare don't get saved with the scene

what is even wackier is that the UI defaults to xyz rather than zyx
which is what is declared as the default

Is there something I need to do to make the parameter persist with the
scene?

Either it is a bug, or im doing something wrong. More likely to be the
latter

Has anybody got any info to share?

Sam

-- 
sam hodge
technical director | sam.hodge(at)rsp.com.au
rising sun pictures | http://www.rsp.com.au/
mobile +61 (0)417 801 006 | desk +61 (0)8 8400 6562

---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi


Search the XSI List archives here or use the advanced search form to search across mailing lists. Searching help is available.
This site supposedly brought to you by Benjamin Grosser and the Imaging Technology Group.