public static SFInterpolationSchema BuildSchema()
        {
            SFInterpolationSchema schema = new SFInterpolationSchema();

            schema.interpolators    = new ICPNetInterpolator[SFInterpolationSchema.TESSELLATION_PROCESS_NET_INTERPOLATORS];
            schema.interpolators[0] = null;
            schema.interpolators[1] = null;
            schema.interpolators[2] = null;
            if (schema.interpolators[3] == null)
            {
                schema.interpolators[3] = new RotatingEdgeSurfaceTriangleInterpolator();
            }
            if (schema.interpolators[4] == null)
            {
                schema.interpolators[4] = new RotatingEdgeSurfaceQuadInterpolation();
            }
            for (int i = 5; i < SFInterpolationSchema.TESSELLATION_PROCESS_NET_INTERPOLATORS; i++)
            {
                if (schema.interpolators[i] == null)
                {
                    schema.interpolators[i] = new NGonInterpolation(i);
                }
            }
            return(schema);
        }
        //Registration
        public int RegisterSchema(int id, SFInterpolationSchema schema)
        {
            int index = records.Count;

            this.records.Add(new Record(schema, id));
            indices[id] = index;
            return(index);
        }
 public Record(SFInterpolationSchema schema, int schemaID)
 {
     this.schema   = schema;
     this.schemaID = schemaID;
 }