There are some things you should know when working with point IDs and indices. The first and most important thing is that IDs and indices are not the same.
Indices are integral to all geometric types in Softimage. All types of components have indices: points, edges, polygons, knots, texture samples, and so on. Indices may be reused if components are deleted and added.
ID is a special ICE attribute. It applies only to points, and you cannot set it manually. The ID attribute is automatically set by the Add Point and Clone Point nodes as well as by any compounds that contain them (including the various Emitters and Spawning compounds). However, if you get a point cloud from the Get Primitive menu, the ID attribute has not been set. As soon as you connect an Add Point node, ID is initialized and set for all points. The ICE framework ensures that IDs are always unique and never reused. In particular, the Clone Point node and compounds that include it (such as the Spawning compounds) copy every attribute except the ID.
The Get Point ID compound uses a First Valid node to return the point ID attribute if it exists. Otherwise, it returns the point indices. It can be useful in situations where IDs may or may not exist (static point clouds for example, or polygon meshes and other geometry types).
The Get Element Index node (in the Data Access category) returns the indices for components. The type of component (point, edge, polygon, etc.) is determined by how the context is resolved by other connected nodes. If necessary, you can force a particular component context by plugging an attribute into its Value port.
Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License