Softimage SDK Programmer's Guide > Plug-in Development > Storing Custom (User) Data >

# Importing User Data from SOFTIMAGE|3D

There are certain limitations with importing user data into Autodesk Softimage from SI|3D. Specifically, Softimage can import user data from components (blobs attached to vertices, polygons and edges of polygon meshes), called subelements in SI|3D, but not from models, materials, textures, cameras, etc.

Some of the issues you need to be aware of when importing from SI|3D concern how SI3D user data is mapped onto Softimage component user data.

How Softimage Interprets the SI3D Component User Data

When you load a SI|3D scene into Softimage, complete clusters are created for any user data in the scene. The type of component where the user data was stored in the old scene determines what type of cluster will be created. These clusters are named according to their type:

- SI3DUserDataPolyCls—user data found on polygons

- SI3DUserDataEdgeCls—user data found on edges

- SI3DUserDataPntCls—user data found on vertices

  Note

  These clusters are only created if there is actually any data on the relevant component type.

The data can have any length, including variable length data within the same UserDataMap. The actual user data is copied exactly as it is found.

Softimage does not interpret the contents in any way and there is no template associated with user data maps created from the SI|3D scene. Since the format of this data is unknown, plug-in developers must write their own UI.

Other Differences between SI3D and Softimage

Tag > UserDataMap.Name

SI3D uses the concept of Tag to identify each piece of user data. When accessing user data in SI3D, you use the tag to specify the piece of user data. The tag allowed multiple blobs to be attached to the same element. When you load SI3D user data in Softimage, these tag names are written to Name property of the relevant UserDataMap object.

bigendian > LittleEndian

When transferring scenes with binary data between platforms with different byte order (MIPS versus x86 processors), plug-in developers can write plug-ins that use the bigendian (SI3D) and LittleEndian flags to help determine whether or not to byte-swap the data.

The bigendian parameter in SI3D specifies the byte order of the user data (TRUE for big endian, FALSE for little endian) for each blob. In Softimage this information is imported and stored in the UserDataMap.LittleEndian property.

Note

There is no byte-order flag for user data items in Autodesk Softimage, since the LittleEndian flag is set only on the user data map. This differs from how the bigendian parameter was used in SI3D, since each individual subcomponent could have it's own flag.